﻿// perform JavaScript after the document is scriptable.
$(document).ready(function () {
	//don't run these scripts when logged in to OW
	if (typeof OneWeb.Admin === "undefined") {
		//home page promo
		var mhpmPromo = $.cookie('mhpmPromo');
		if (!mhpmPromo) {
			$(function () {
				var $promo = $('#promoWrap'),
					$closeBtn = $('#btnClose'),
					$contactLnk = $('#contactLnk'),
					containerMargins = $('#body_wrap').outerHeight(true) - $('#masthead').outerHeight(true),
					countdown = 11, //1 second longer then what you want
					init = function () {
						initEvents();
						setWrapperSize(containerMargins);
					},
					setWrapperSize = function (containerMargins) {
						$promo.css('height', containerMargins).show();
					},
					initEvents = function () {
						$.cookie('mhpmPromo', true);
						$('#countdown').text = countdown;
						$closeBtn.bind('click', function (event) {
							closePromo();
							return false;
						});
						$contactLnk.bind('click', function (event) {
							location.href = 'http://www.mhpm.com/en/contacthome.aspx';
						});
						setTimeout(updateCountdown, 1000);
						$('#promoSlides img:first').fadeIn(1000, function () {
							$('#promoSlides').cycle({
								fx: 'fade',
								timeout: 2500,
								autostop: 3
							});
						});

					},
					closePromo = function () {
						$promo.animate({
							height: 0
						}, 500, 'easeOutExpo', function () {
							$(this).fadeOut('slow').remove();
						});
					},
					updateCountdown = function ($promo) {
						countdown--;
						if (countdown > 0) {
							if (countdown < 10) {
								$("#countdown").text('0' + countdown);
							} else {
								$("#countdown").text(countdown);
							}
							setTimeout(updateCountdown, 1000);
						} else {
							$closeBtn.click();
						}
					};

				return init();
			});
		} else {//already seen promo so remove it from page
			$('#promoWrap').remove();
		}
		// setup tabs switching
		$("#locations-tabs").tabs({ fx: { opacity: "toggle"} });
		$("#ui-tabs").tabs({ fx: { opacity: "toggle"} }).tabs("rotate", 30000, true);
		$("#ss_btn").click(function () {
			var currTab = $('#ui-tabs').tabs().tabs('option', 'selected');
			var nextTab = currTab + 1;
			if ($(this).hasClass("btn_pause")) {
				$('#ui-tabs').tabs().tabs("rotate", 0, false);
			} else {
				if (nextTab == 3) {
					nextTab = 0;
				}
				$("#ui-tabs").tabs('select', nextTab); // switch to next tab
				$('#ui-tabs').tabs().tabs("rotate", 30000, true);
			}
			$(this).toggleClass("btn_pause").toggleClass("btn_play");
			return false;
		});
	}
	//when LOGGED in to OW
	if (typeof OneWeb.Admin != "undefined") {
		// setup feature blocks for editing mode
		$(".task_nav > .ow_block, .admin_header").css({ 'display': 'block' });
		$("#loc-ui-tabs").addClass("ui-tabs-hide");
		//$("#locations-tabs > .locations-tabs_cnt > .ui-tabs-panel").removeClass("ui-tabs-hide");
		$("#fragment-2").removeClass("ui-tabs-hide");
		$("#fragment-3").removeClass("ui-tabs-hide");
		$("#fragment-4").removeClass("ui-tabs-hide");
		$(".rss_link").css({ 'margin-top': '0', 'float': 'none' });
	}

	// initialize scrollables
	if ($(".main_col > div.cnt_block > div > #pp_featuredProjects > #pp_slides").length > 0) {
		$(".main_col > div.cnt_block > div > #pp_featuredProjects > #pp_slides").scrollable({
			size: 3,
			items: '.pp_items'
			//hoverClass: 'hover',
		});
	}
	if ($(".locations-tabs_cnt > div.ui-tabs-panel > div.cnt_block > div > #pp_featuredProjects > #pp_slides").length > 0) {
		$(".locations-tabs_cnt > div.ui-tabs-panel > div.cnt_block > div > #pp_featuredProjects > #pp_slides").scrollable({
			size: 3,
			items: '.pp_items'
			//hoverClass: 'hover',
		});
	}
	if ($(".third_col > div > #pp_featuredProjects > #pp_slides").length > 0) {
		$(".third_col > div > #pp_featuredProjects > #pp_slides").scrollable({
			size: 1,
			items: '.pp_items'
			//hoverClass: 'hover',
		});
	}
	//locations main nav drop menu
	$("li.dd").hover(
		function () {
			$("#loc_menu").css({ "display": "block" });
		},
		function () {
			$("#loc_menu").css({ "display": "none" });
		}
	);

	//png fix
	//$("div.masthead_logo").supersleight();
	//$("div.search_bar").supersleight();
	//$("ul#ow_mainNavList").supersleight();
	//$("a.btn_pause").supersleight();
	//$("a.btn_play").supersleight();
	//$("a.btn_view_project").supersleight();
	//$(".pp_slide_cap").supersleight();
});

/*
* jquery.tools 1.0.2 - The missing UI library
* 
* [tools.tabs-1.0.1, tools.tooltip-1.0.2, tools.scrollable-1.0.5, tools.overlay-1.0.4, tools.expose-1.0.3]
* 
* Copyright (c) 2009 Tero Piirainen
* http://flowplayer.org/tools/
*
* Dual licensed under MIT and GPL 2+ licenses
* http://www.opensource.org/licenses
* 
* -----
* 
* Build: Fri Jun 12 12:37:07 GMT+00:00 2009
*/
(function(b) { b.tools = b.tools || { version: {} }; b.tools.version.scrollable = "1.0.5"; var c = null; function a(p, m) { var s = this; if (!c) { c = s } function n(t, u) { b(s).bind(t, function(w, v) { if (u && u.call(this, v.index) === false && v) { v.proceed = false } }); return s } b.each(m, function(t, u) { if (b.isFunction(u)) { n(t, u) } }); var d = !m.vertical; var f = b(m.items, p); var j = 0; function l(u, t) { return u.indexOf("#") != -1 ? b(u).eq(0) : t.siblings(u).eq(0) } var q = l(m.navi, p); var g = l(m.prev, p); var i = l(m.next, p); var h = l(m.prevPage, p); var o = l(m.nextPage, p); b.extend(s, { getIndex: function() { return j }, getConf: function() { return m }, getSize: function() { return s.getItems().size() }, getPageAmount: function() { return Math.ceil(this.getSize() / m.size) }, getPageIndex: function() { return Math.ceil(j / m.size) }, getRoot: function() { return p }, getItemWrap: function() { return f }, getItems: function() { return f.children() }, getVisibleItems: function() { return s.getItems().slice(j, j + m.size) }, seekTo: function(w, u, A) { if (u === undefined) { u = m.speed } if (b.isFunction(u)) { A = u; u = m.speed } if (w < 0) { w = 0 } if (w > s.getSize() - m.size) { return s } var B = s.getItems().eq(w); if (!B.length) { return s } var t = { index: w, proceed: true }; b(s).trigger("onBeforeSeek", t); if (!t.proceed) { return s } if (d) { var v = -B.position().left; f.animate({ left: v }, u, m.easing, A ? function() { A.call(s) } : null) } else { var z = -B.position().top; f.animate({ top: z }, u, m.easing, A ? function() { A.call(s) } : null) } if (q.length) { var x = m.activeClass; var y = Math.ceil(w / m.size); y = Math.min(y, q.children().length - 1); q.children().removeClass(x).eq(y).addClass(x) } if (w === 0) { g.add(h).addClass(m.disabledClass) } else { g.add(h).removeClass(m.disabledClass) } if (w >= s.getSize() - m.size) { i.add(o).addClass(m.disabledClass) } else { i.add(o).removeClass(m.disabledClass) } c = s; j = w; b(s).trigger("onSeek", { index: w }); return s }, move: function(v, u, t) { var w = j + v; if (m.loop && w > (s.getSize() - m.size)) { w = 0 } return this.seekTo(w, u, t) }, next: function(u, t) { return this.move(1, u, t) }, prev: function(u, t) { return this.move(-1, u, t) }, movePage: function(v, u, t) { return this.move(m.size * v, u, t) }, setPage: function(x, y, v) { var u = m.size; var t = u * x; var w = t + u >= this.getSize(); if (w) { t = this.getSize() - m.size } return this.seekTo(t, y, v) }, prevPage: function(u, t) { return this.setPage(this.getPageIndex() - 1, u, t) }, nextPage: function(u, t) { return this.setPage(this.getPageIndex() + 1, u, t) }, begin: function(u, t) { return this.seekTo(0, u, t) }, end: function(u, t) { return this.seekTo(this.getSize() - m.size, u, t) }, reload: function() { return r() }, click: function(u, x, v) { var w = s.getItems().eq(u); var t = m.activeClass; if (u < 0 || u >= this.getSize()) { return s } if (m.size == 2) { if (u == s.getIndex()) { u-- } s.getItems().removeClass(t); w.addClass(t); return this.seekTo(u, x, v) } if (!w.hasClass(t)) { s.getItems().removeClass(t); w.addClass(t); var z = Math.floor(m.size / 2); var y = u - z; if (y > s.getSize() - m.size) { y = s.getSize() - m.size } if (y !== u) { return this.seekTo(y, x, v) } } return s }, onBeforeSeek: function(t) { return n("onBeforeSeek", t) }, onSeek: function(t) { return n("onSeek", t) } }); if (b.isFunction(b.fn.mousewheel)) { p.bind("mousewheel.scrollable", function(u, v) { var t = b.browser.opera ? 1 : -1; s.move(v > 0 ? t : -t, 50); return false }) } g.addClass(m.disabledClass).click(function() { s.prev() }); i.click(function() { s.next() }); o.click(function() { s.nextPage() }); h.addClass(m.disabledClass).click(function() { s.prevPage() }); if (m.keyboard) { b(document).unbind("keydown.scrollable").bind("keydown.scrollable", function(t) { var u = c; if (!u || t.altKey || t.ctrlKey) { return } if (d && (t.keyCode == 37 || t.keyCode == 39)) { u.move(t.keyCode == 37 ? -1 : 1); return t.preventDefault() } if (!d && (t.keyCode == 38 || t.keyCode == 40)) { u.move(t.keyCode == 38 ? -1 : 1); return t.preventDefault() } return true }) } function r() { if (q.is(":empty") || q.data("me") == s) { q.empty(); q.data("me", s); for (var u = 0; u < s.getPageAmount(); u++) { var v = b("<" + m.naviItem + "/>").attr("href", u).click(function(x) { var w = b(this); w.parent().children().removeClass(m.activeClass); w.addClass(m.activeClass); s.setPage(w.attr("href")); return x.preventDefault() }); if (u === 0) { v.addClass(m.activeClass) } q.append(v) } } else { var t = q.children(); t.each(function(w) { var x = b(this); x.attr("href", w); if (w === 0) { x.addClass(m.activeClass) } x.click(function() { q.find("." + m.activeClass).removeClass(m.activeClass); x.addClass(m.activeClass); s.setPage(x.attr("href")) }) }) } if (m.clickable) { s.getItems().each(function(x, w) { var y = b(this); if (!y.data("set")) { y.bind("click.scrollable", function() { s.click(x) }); y.data("set", true) } }) } if (m.hoverClass) { s.getItems().hover(function() { b(this).addClass(m.hoverClass) }, function() { b(this).removeClass(m.hoverClass) }) } return s } r(); var e = null; function k() { if (e) { return } e = setInterval(function() { if (m.interval === 0) { clearInterval(e); e = 0; return } s.next() }, m.interval) } if (m.interval > 0) { p.hover(function() { clearInterval(e); e = 0 }, function() { k() }); k() } } b.fn.scrollable = function(d) { var e = this.eq(typeof d == "number" ? d : 0).data("scrollable"); if (e) { return e } var f = { size: 5, vertical: false, clickable: true, loop: false, interval: 0, speed: 400, keyboard: true, activeClass: "active", disabledClass: "disabled", hoverClass: null, easing: "swing", items: ".items", prev: ".prev", next: ".next", prevPage: ".prevPage", nextPage: ".nextPage", navi: ".navi", naviItem: "a", api: false, onBeforeSeek: null, onSeek: null }; b.extend(f, d); this.each(function() { e = new a(b(this), f); b(this).data("scrollable", e) }); return f.api ? e : this } })(jQuery);

