﻿/// <reference path="jquery-1.4.1-vsdoc.js" />
/* HashChange Event */
(function ($, i, b) { var j, k = $.event.special, c = "location", d = "hashchange", l = "href", f = $.browser, g = document.documentMode, h = f.msie && (g === b || g < 8), e = "on" + d in i && !h; function a(m) { m = m || i[c][l]; return m.replace(/^[^#]*#?(.*)$/, "$1") } $[d + "Delay"] = 100; k[d] = $.extend(k[d], { setup: function () { if (e) { return false } $(j.start) }, teardown: function () { if (e) { return false } $(j.stop) } }); j = (function () { var m = {}, r, n, o, q; function p() { o = q = function (s) { return s }; if (h) { n = $('<iframe src="javascript:0"/>').hide().insertAfter("body")[0].contentWindow; q = function () { return a(n.document[c][l]) }; o = function (u, s) { if (u !== s) { var t = n.document; t.open().close(); t[c].hash = "#" + u } }; o(a()) } } m.start = function () { if (r) { return } var t = a(); o || p(); (function s() { var v = a(), u = q(t); if (v !== t) { o(t = v, u); $(i).trigger(d) } else { if (u !== t) { i[c][l] = i[c][l].replace(/#.*/, "") + "#" + u } } r = setTimeout(s, $[d + "Delay"]) })() }; m.stop = function () { if (!n) { r && clearTimeout(r); r = 0 } }; return m })() })(jQuery, this);
/* HoverIntent Override */
(function ($) { $.fn.hoverIntent = function (f, g) { var cfg = { sensitivity: 7, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function (ev) { cX = ev.pageX; cY = ev.pageY; }; var compare = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]); } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } }; var delay = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]); }; var handleHover = function (e) { var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while (p && p != this) { try { p = p.parentNode; } catch (e) { p = this; } } if (p == this) { return false; } var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } if (e.type == "mouseover") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function () { delay(ev, ob); }, cfg.timeout); } } }; return this.mouseover(handleHover).mouseout(handleHover); }; })(jQuery);
/* post-dom operation */
var interval = 1;
$(document).ready(function () {
    navMenu();

    stateMachine();

    setInterval("flashNoMore1()", 15000);
});

function flashNoMore1() {
    if (interval == 7) interval = 0;
    $('#partners div').fadeTo('fast', 0, function () {
        $('#partners div').css('background', 'url("images/partnersRotate/' + ++interval + '.png") no-repeat');
    });
    $('#partners div').fadeTo('slow', 1);
}

function makeGone() {
    $('#overlay').remove();
    $('#shader').remove();
}

function makeBig(mysrc) {
    var winY = $(window).height();
    var winX = $(window).width();
    $('#presentation').append('<div id="shader" style="position:absolute; width:100%; height:1000px; left:0px; top:0px; background-color: Black;" onclick="makeGone();"> </div>');
    $('#presentation').prepend('<img id="overlay" style="position:absolute; z-index: 100; display:none;" onclick="makeGone();" />');
    $('#overlay').attr('src', mysrc);
    $('#shader').fadeTo('slow', .8, function () {
        $('#overlay').css('left', (winX - $('#overlay').width()) / 2);
        $('#overlay').css('top', winY / 2);
        $('#overlay').show('slow');
    });
}

function pause(milliseconds) {
    var dt = new Date();
    while ((new Date()) - dt <= milliseconds) { }
}

/* navigational Menu */
function navMenu() {
    $('#nav div').hoverIntent(function () {
        $(this).children().fadeIn('slow');
    }, function () {
        $(this).children().fadeOut('fast');
    });

    $('#nav div ul li').hoverIntent(function () {
        if ($(this).children().length > 0) {
            $(this).find('ul').fadeIn('slow');
        }
    }, function () {
        if ($(this).children().length > 0) {
            $(this).find('ul').fadeOut('fast');
        }
    });

    $('#contact').click(function () { window.location.hash = "#!contact"; });
    $('#home').click(function () { window.location = '' });
    $('#calendar').click(function () { window.location.href = 'TheGulfIndustryFair2011.ics' });

    $('#partners div').click(function () {
        switch (interval) {
            case 1: window.open('http://www.gulfconstructionworldwide.com'); break;
            case 2: window.open('http://www.gulfindustryonline.com/'); break;
            case 3: window.open('http://www.machinery-market.ae/'); break;
            case 4: window.open('http://www.mti-online.com/'); break;
            case 5: window.open('http://www.oilandgasnewsonline.com'); break;
            case 6: window.open('http://www.industrysourcing.com/'); break;
            case 7: window.open('http://tradearabia.com/'); break;
            default: break;
        }
    });
}

/*Animation of loaded content */
function loadContent(file) {
    var content = $('#ajaxContent');
    content.fadeOut('fast', function () {
        content.load(file, function () {
            content.fadeIn('slow');
        });
    });
}

/* Ajax State Machine */
function stateMachine() {
    $(window).bind('hashchange', function () {
        var state;
        if ((location.hash).substr(0, 2) == "#!") {
            state = (location.hash).substr(2, location.hash.length);
            switch (state) {
                case "contact": loadContent('data/contact.htm'); break;
                case "ProjectAndDevelopment": loadContent('data/projectsAndDevelopment.htm'); break;
                case "ExhibitionProfile": loadContent('data/exhibition.htm #ex_profile'); break;
                case "AtTheShow": loadContent('data/exhibition.htm #options'); break;
                case "Sponsorship": loadContent('data/exhibition.htm #sponsor'); break;
                case "Manual": loadContent('data/manual.htm'); break;
                case "TravelCenter": loadContent('data/exhibition.htm #travel_center'); break;
                case "WhyVisit": loadContent('data/visit.htm #why_visit'); break;
                case "WhoVisit": loadContent('data/visit.htm #visitor_profile'); break;
                case "VisitInfo": loadContent('data/visit.htm #visit_info'); break;
                case "VisitReg": loadContent('data/visit.htm #visit_reg'); break;
                case "visitor_registration": loadContent('data/visit_registration.asp'); break;
                case "location_map": loadContent('data/location.htm'); break;
                case "visa_requirements": loadContent('data/visa_requirements.htm'); break;
                case "Bapco": loadContent('data/partners.htm #pbapco'); break;
                case "Alba": loadContent('data/partners.htm #palba'); break;
                case "MCI": loadContent('data/partners.htm #pmc'); break;
                case "BCCI": loadContent('data/partners.htm #pbcci'); break;
                case "BHCA": loadContent('data/partners.htm #pbeca'); break;
                case "BO": loadContent('data/partners.htm #poffset'); break;
                case "Majaal": loadContent('data/sponsors.htm #majaal_s'); break;
                case "TradeArabia": loadContent('data/media_partners.htm #trade_arabia'); break;
                case "GulfIndustry": loadContent('data/media_partners.htm #gulf_industry'); break;
                case "GulfConstruction": loadContent('data/media_partners.htm #gulf_construction'); break;
                case "OilGasNews": loadContent('data/media_partners.htm #oil_gas'); break;
                case "MachineryMarket": loadContent('data/media_partners.htm #machinery_market'); break;
                case "RingierTrade": loadContent('data/media_partners.htm #ringer'); break;
                case "MTI": loadContent('data/media_partners.htm #mti'); break;
                case "Press": loadContent('data/press_release.htm #press1'); break;
                case "Logo": loadContent('data/press_release.htm #press2'); break;
                case "PressRelease": loadContent('data/press_release.htm #press_release'); break;
                case "Second Industry": loadContent('data/press_release.htm #secondFair'); break;
                case "Final Preperation": loadContent('data/press_release.htm #finalPrep'); break;
                case "Press 3": loadContent('data/press_release.htm #press3'); break;
                case "Gallery": loadContent('data/photo.htm'); break;
                default:
                    $('#ajaxContent').html(state);
            }
        } else { } // Special Case if empty url is handled improperly

    });
    $(window).trigger('hashchange');
}