﻿$(document).ready(function () {
    //URL Parser - http://projects.allmarkedup.com/jquery_url_parser/
    jQuery.url = function () { var segments = {}; var parsed = {}; var options = { url: window.location, strictMode: false, key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], q: { name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g }, parser: { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/} }; var parseUri = function () { str = decodeURI(options.url); var m = options.parser[options.strictMode ? "strict" : "loose"].exec(str); var uri = {}; var i = 14; while (i--) { uri[options.key[i]] = m[i] || "" } uri[options.q.name] = {}; uri[options.key[12]].replace(options.q.parser, function ($0, $1, $2) { if ($1) { uri[options.q.name][$1] = $2 } }); return uri }; var key = function (key) { if (!parsed.length) { setUp() } if (key == "base") { if (parsed.port !== null && parsed.port !== "") { return parsed.protocol + "://" + parsed.host + ":" + parsed.port + "/" } else { return parsed.protocol + "://" + parsed.host + "/" } } return (parsed[key] === "") ? null : parsed[key] }; var param = function (item) { if (!parsed.length) { setUp() } return (parsed.queryKey[item] === null) ? null : parsed.queryKey[item] }; var setUp = function () { parsed = parseUri(); getSegments() }; var getSegments = function () { var p = parsed.path; segments = []; segments = parsed.path.length == 1 ? {} : (p.charAt(p.length - 1) == "/" ? p.substring(1, p.length - 1) : path = p.substring(1)).split("/") }; return { setMode: function (mode) { strictMode = mode == "strict" ? true : false; return this }, setUrl: function (newUri) { options.url = newUri === undefined ? window.location : newUri; setUp(); return this }, segment: function (pos) { if (!parsed.length) { setUp() } if (pos === undefined) { return segments.length } return (segments[pos] === "" || segments[pos] === undefined) ? null : segments[pos] }, attr: key, param: param} } ();

    window.setTimeout(function () {
        $('#projTitle').fadeIn('fast');
        $('.column, .columnEnd').fadeIn('500');
    }, 200);

    // get company name
    var $company = jQuery.url.segment(1);
    var $projURL = jQuery.url.segment(2);

    var $imgs = new Array();

    $.get('../../work.xml', function (data) {
        $(data).find('company').each(function () {
            var $cn = $(this);
            var $companyName = $cn.attr('urlName');

            if ($companyName == $company) {

                $cn.find('project').each(function () {
                    var $proj = $(this);
                    var $currentProj = $proj.attr('url');

                    if ($currentProj == $projURL) {

                        $proj.find('image').each(function () {
                            $imgs.push("../../" + $(this).attr('fileName'));
                        });
                    }
                });
            }
        });

        var $imgsLen = $imgs.length - 1;

        //                if ($.browser.msie)
        //                {
        //                    $imgsLen = $imgs.length - 2;
        //                }

        if ($imgs.length > 1) {

            //preload Images
            var cache = [];
            var args_len = $imgsLen;
            for (var k = 0; k <= args_len; k++) {
                var cacheImage = document.createElement('img');
                cacheImage.src = $imgs[k];
                cache.push(cacheImage);
            }

            $('#workImageNav').css('opacity', 0);
            $('#prevImg, #nextImg').css('display', 'block');

            var fadeIn = function () {
                $('#bigImage').animate({
                    opacity: '1'
                }, 250);
            };

            $('#workImageNav').mouseenter(function () {
                $('#workImageNav').stop();
                $('#workImageNav').animate({
                    opacity: '.9'
                }, 500);
                return false;
            });

            $('#workImageNav').mouseleave(function () {
                $('#workImageNav').stop();
                $('#workImageNav').animate({
                    opacity: '0'
                }, 500);
                return false;
            });

            var nextImage = function () {
                $('#bigImage').stop();
                for (var i = 0; i <= $imgsLen; i++) {
                    if ($imgs[i].toString() == $('#bigImage img').attr('src')) {

                        if (i == $imgsLen) {
                            $('#bigImage').css('opacity', 0);
                            $('#bigImage img').attr('src', $imgs[0].toString());
                            fadeIn();
                            return false;
                        }
                        else {
                            $('#bigImage').css('opacity', 0);
                            $('#bigImage img').attr('src', $imgs[i + 1].toString());
                            fadeIn();
                            return false;
                        }
                    }
                };
            };

            $('#prevImg').click(function () {
                clearInterval($rotateImgs);
                $('#bigImage').stop();
                for (var i = 0; i <= $imgsLen; i++) {
                    if ($imgs[i].toString() == $('#bigImage img').attr('src')) {

                        if (i == 0) {
                            $('#bigImage').css('opacity', 0);
                            $('#bigImage img').attr('src', $imgs[$imgsLen].toString());
                            fadeIn();
                            return false;
                        }
                        else {
                            $('#bigImage').css('opacity', 0);
                            $('#bigImage img').attr('src', $imgs[i - 1].toString());
                            fadeIn();
                            return false;
                        }
                    }
                };
                alert(i);
            });

            $('#nextImg').click(function () {
                clearInterval($rotateImgs);
                nextImage();
            });

            var $rotateImgs = setInterval(nextImage, 4000);
            $rotateImgs;
        }
    });
});
