
; (function($) {
    $.fn.fixPNG = function() {
        return this.each(function() {
            var image = $(this).css('backgroundImage');
            if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) {
                image = RegExp.$1;
                $(this).css({
                //  'backgroundImage': 'none',
                //  'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=" + ($(this).css('backgroundRepeat') == 'no-repeat' ? 'crop' : 'scale') + ", src='" + image + "')"
            }).each(function() {
                var position = $(this).css('position');
                if (position != 'absolute' && position != 'relative') $(this).css('position', 'relative');
            });
        }
    });
};

var elem, opts, busy = false, imagePreloader = new Image, loadingTimer, loadingFrame = 1, imageRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i;
var isIE = ($.browser.msie && parseInt($.browser.version.substr(0, 1)) < 8);

$.fn.fancybox = function(settings) {
    settings = $.extend({}, $.fn.fancybox.defaults, settings);
    var matchedGroup = this;
    function _initialize() {
        elem = this; opts = settings;
        _start();
        return false;
    };

    function _start() {
        if (busy) return;
        if ($.isFunction(opts.callbackOnStart)) {
            opts.callbackOnStart();
        }
        opts.itemArray = [];
        opts.itemCurrent = 0;
        if (settings.itemArray.length > 0) {
            opts.itemArray = settings.itemArray;
        } else {
            var item = {};
            if (!elem.rel || elem.rel == '') {
                var item = { href: elem.href, title: elem.title };

                if ($(elem).children("img:first").length) {
                    item.orig = $(elem).children("img:first");
                }
                opts.itemArray.push(item);
            } else {
                var subGroup = $(matchedGroup).filter("a[rel=" + elem.rel + "]");
                var item = {};
                for (var i = 0; i < subGroup.length; i++) {
                    item = { href: subGroup[i].href, title: subGroup[i].title };
                    if ($(subGroup[i]).children("img:first").length) {
                        item.orig = $(subGroup[i]).children("img:first");
                    }
                    opts.itemArray.push(item);
                }
                while (opts.itemArray[opts.itemCurrent].href != elem.href) {
                    opts.itemCurrent++;
                }
            }
        }

        if (opts.overlayShow) {
            if (isIE) {
                $('embed, object, select').css('visibility', 'hidden');
            }
            $("#fancy_overlay").css('opacity', opts.overlayOpacity).show();
        }
        _change_item();
    };

    function _change_item() {

        $("#fancy_right, #fancy_left, #fancy_close, #fancy_title").hide();

        var href = opts.itemArray[opts.itemCurrent].href;
        if (href.match(/#/)) {
            var target = window.location.href.split('#')[0]; target = href.replace(target, ''); target = target.substr(target.indexOf('#'));
            _set_content('<div id="fancy_div">' + $(target).html() + '</div>', opts.frameWidth, opts.frameHeight);

        } else if (href.match(imageRegExp)) {
            imagePreloader = new Image; imagePreloader.src = href;
            if (imagePreloader.complete) {
                _proceed_image();

            } else {
                $.fn.fancybox.showLoading();
                $(imagePreloader).unbind().bind('load', function() {
                    $(".fancy_loading").hide();
                    _proceed_image();
                });
            }

        } else if (href.match("iframe") || elem.className.indexOf("iframe") >= 0) {
            _set_content('<iframe id="fancy_frame" onload="$.fn.fancybox.showIframe()" name="fancy_iframe' + Math.round(Math.random() * 1000) + '" frameborder="0" hspace="0" src="' + href + '"></iframe>', opts.frameWidth, opts.frameHeight);

        } else {
            $.get(href, function(data) {
                _set_content('<div id="fancy_ajax">' + data + '</div>', opts.frameWidth, opts.frameHeight);
            });
        }
    };

    function _proceed_image() {

        if (opts.imageScale) {
            var w = $.fn.fancybox.getViewport();
            var r = Math.min(Math.min(w[0] - 36, imagePreloader.width) / imagePreloader.width, Math.min(w[1] - 60, imagePreloader.height) / imagePreloader.height);
            var width = Math.round(r * imagePreloader.width);
            var height = Math.round(r * imagePreloader.height);
        } else {
            var width = imagePreloader.width;
            var height = imagePreloader.height;
        }
        _set_content('<img alt="" id="fancy_img" src="' + imagePreloader.src + '" />', width, height);
    };

    function _preload_neighbor_images() { 
        var currURL = document.location.pathname;
        //Set title for page(modified on 04/06/2010)
        if (currURL == "/ipad-app-developer-services.aspx")
            document.title = "iPad Developer, iPad App Developer, iPad Application Developers - Zco Corporation";
        else if (currURL == "/iad-developer.aspx")
            document.title = "iAd Developer, iAd Development - Zco Corporation";
        else if (currURL == "/3d-animations.aspx")
            document.title = "3D Animation | 3D Animations | 3D Animation Company | 3D Animation Services";
        else if (currURL == "/iphone-game-development.aspx")
            document.title = "iPhone Game Development - 2D & 3D game applications by Zco Corporation";
        else if (currURL == "/custom-software-development.aspx")
            document.title = "Custom Software Development including .Net, Java, PHP and more by Zco Corporation";
        else if (currURL == "/mobile-app-development.aspx")
            document.title = "Mobile Application Development and Custom Mobile Apps by Zco Corporation";
        else if (currURL == "/news/radiology-dx-app-iphone.aspx")
            document.title = "Zco Corporation: iAtros Software, Inc. is proud to Release the eRoentgen Radiology Dx app for the iPhone";
        else if (currURL == "/news/spinthought-launches-storypages-2-for-the-iphone.aspx")
            document.title = "Zco Corporation: SpinThought Launches StoryPages 2 for the iPhone";
        else if (currURL == "/news/access-to-your-medical-records-online-on-your-smartphone.aspx")
            document.title = "Zco Corporation: Access To Your Medical Records - Online & On Your Smartphone";
        else if (currURL == "/news/storyboard-from-the-ipad-with-storypages-2.aspx")
            document.title = "Zco Corporation: Storyboard from the iPad with StoryPages 2";
        else if (currURL == "/ipad-game-development.aspx")
            document.title = "iPad Game Development - iPad Games Application Development by Zco";
        else if (currURL == "/news/ny-post-dubs-namecatcher-biz-one-of-the-best-apps-for-taking-care-of-business.aspx")
            document.title = "Zco Corporation: NY Post Dubs NameCatcher Biz One of the Best Apps for Taking Care of Business!";
        else if (currURL == "/zco-videos.aspx")
            document.title = "Zco Corporation: Video Library | Customer Testimonials, Examples of Work and Zco Service Videos";
        else if (currURL == "/mobile-game-development-and-3d-animation-services.aspx")
            document.title = "Mobile Game Development and 2D, 3D Animation Services by Zco Corporation";
        else if (currURL == "/mobile-game-development-using-unity-3d-cocos2d-maya-max-and-more.aspx")
            document.title = "Mobile Game Development: Using UNITY 3D, Cocos2D, MAYA, Max & More";
        else if (currURL == "/video-editing-services.aspx")
            document.title = "Video Editing Services, Professional Video Editing Service by Zco Corporation";
        else if (currURL == "/video-marketing.aspx")
            document.title = "Video Marketing - Youtube Optimization services by Zco Corporation";
        else if (currURL == "/our-customers.aspx")
            document.title = "Zco Corporation: Our Customer Portfolio, Examples of Work";
        else if (currURL == "/zcogreenapp" || currURL == "/zcogreenapp/" || currURL == "/greenapp/home.aspx")
            document.title = "Green Ideas, Environmental Education and Activities for Secondary School Students";
        else
            document.title = "App Development Company, App Developers, 3D Animation, Custom Software Developer";
        
        if ((opts.itemArray.length - 1) > opts.itemCurrent) {
            var href = opts.itemArray[opts.itemCurrent + 1].href;
            if (href.match(imageRegExp)) {
                objNext = new Image();
                objNext.src = href;
            }
        }
        if (opts.itemCurrent > 0) {
            var href = opts.itemArray[opts.itemCurrent - 1].href;
            if (href.match(imageRegExp)) {
                objNext = new Image();
                objNext.src = href;
            }
        }
    };

    function _set_content(value, width, height) {
        busy = true;
        var pad = opts.padding;
        if (isIE) {
            $("#fancy_content")[0].style.removeExpression("height");
            $("#fancy_content")[0].style.removeExpression("width");
        }
        if (pad > 0) {
            width += pad * 2; height += pad * 2;

            $("#fancy_content").css({
                'top': pad + 'px', 'right': pad + 'px', 'bottom': pad + 'px', 'left': pad + 'px',
                'width': 'auto', 'height': 'auto'
            });
            if (isIE) {
                $("#fancy_content")[0].style.setExpression('height', '(this.parentNode.clientHeight - 20)');
                $("#fancy_content")[0].style.setExpression('width', '(this.parentNode.clientWidth - 20)');
            }

        } else {
            $("#fancy_content").css({
                'top': 0,
                'right': 0,
                'bottom': 0,
                'left': 0,
                'width': '100%',
                'height': '100%'
            });
        }
        if ($("#fancy_outer").is(":visible") && width == $("#fancy_outer").width() && height == $("#fancy_outer").height()) {
            $("#fancy_content").fadeOut("fast", function() {
                $("#fancy_content").empty().append($(value)).fadeIn("normal", function() {
                    _finish();
                });
            });

            return;
        }

        var w = $.fn.fancybox.getViewport();

        //Hide the share icon according to the "showShareIcons" property.
        if (!opts.showShareIcons)
            $(".shareIcons").hide();
        else
            $(".shareIcons").show();

        if (!document.getElementById('videoTitleDiv')) $(".shareIcons").hide(); // videoTitleDiv is added in the method CreateDiv in VideoPanelScroll.js 

        //To change the location of the control update the left & top here.
        var itemLeft = (width + 36) > w[0] ? w[2] : (w[2] + Math.round((w[0] - width - 36) / 2)); //opts.customLeft;
        var itemTop = (height + 50) > w[1] ? w[3] : (w[3] + Math.round((w[1] - height - 50) / 2)); //opts.customTop;

        var itemOpts = {
            'left': itemLeft,
            'top': itemTop,
            'width': width + 'px',
            'height': height + 'px'
        };

        if ($("#fancy_outer").is(":visible")) {
            $("#fancy_content").fadeOut("normal", function() {
                $("#fancy_content").empty();
                $("#fancy_outer").animate(itemOpts, opts.zoomSpeedChange, opts.easingChange, function() {
                    $("#fancy_content").append($(value)).fadeIn("normal", function() {
                        _finish();
                    });
                });
            });

        } else {

            if (opts.zoomSpeedIn > 0 && opts.itemArray[opts.itemCurrent].orig !== undefined) {
                $("#fancy_content").empty().append($(value));

                var orig_item = opts.itemArray[opts.itemCurrent].orig;
                var orig_pos = $.fn.fancybox.getPosition(orig_item);

                $("#fancy_outer").css({
                    'left': (orig_pos.left - 18) + 'px',
                    'top': (orig_pos.top - 18) + 'px',
                    'width': $(orig_item).width(),
                    'height': $(orig_item).height()
                });

                if (opts.zoomOpacity) {
                    itemOpts.opacity = 'show';
                }

                $("#fancy_outer").animate(itemOpts, opts.zoomSpeedIn, opts.easingIn, function() {
                    _finish();
                });

            } else {

                $("#fancy_content").hide().empty().append($(value)).show();
                $("#fancy_outer").css(itemOpts).fadeIn("normal", function() {
                    _finish();
                });
            }
        }
    };

    function _set_navigation() {
        if (opts.itemCurrent != 0) {
            $("#fancy_left, #fancy_left_ico").unbind().bind("click", function(e) {
                e.stopPropagation();

                opts.itemCurrent--;
                _change_item();

                return false;
            });

            $("#fancy_left").show();
        }

        if (opts.itemCurrent != (opts.itemArray.length - 1)) {
            $("#fancy_right, #fancy_right_ico").unbind().bind("click", function(e) {
                e.stopPropagation();

                opts.itemCurrent++;
                _change_item();

                return false;
            });

            $("#fancy_right").show();
        }
    };

    function _finish() {
        _set_navigation();

        _preload_neighbor_images();

        $(document).keydown(function(e) {
            if (e.keyCode == 27) {
                $.fn.fancybox.close();
                $(document).unbind("keydown");

            } else if (e.keyCode == 37 && opts.itemCurrent != 0) {
                opts.itemCurrent--;
                _change_item();
                $(document).unbind("keydown");

            } else if (e.keyCode == 39 && opts.itemCurrent != (opts.itemArray.length - 1)) {
                opts.itemCurrent++;
                _change_item();
                $(document).unbind("keydown");
            }
        });

        if (opts.centerOnScroll) {
            $(window).bind("resize scroll", $.fn.fancybox.scrollBox);
        } else {
            $("div#fancy_outer").css("position", "absolute");
        }

        if (opts.hideOnContentClick) {
            $("#fancy_wrap").click($.fn.fancybox.close);
        }


        $("#fancy_overlay, #fancy_close").bind("click", $.fn.fancybox.close);

        //Bind the function to close the fancybox on clicking the other links.
        $("#header, #fancy_close").bind("mousedown", $.fn.fancybox.close);
        $("#conentmiddle, #fancy_close").bind("mousedown", $.fn.fancybox.close);
        $("#news, #fancy_close").bind("mousedown", $.fn.fancybox.close);
        $("#footer, #fancy_close").bind("mousedown", $.fn.fancybox.close);

        $("#fancy_close").show();

        if (opts.itemArray[opts.itemCurrent].title !== undefined && opts.itemArray[opts.itemCurrent].title.length > 0) {
            $('#fancy_title div').html(opts.itemArray[opts.itemCurrent].title);
            $('#fancy_title').show();
        }

        if (opts.overlayShow && isIE) {
            $('embed, object, select', $('#fancy_content')).css('visibility', 'visible');
        }

        if ($.isFunction(opts.callbackOnShow)) {
            opts.callbackOnShow();
        }

        busy = false;
    };

    return this.unbind('click').click(_initialize);
};

$.fn.fancybox.scrollBox = function() {
    var pos = $.fn.fancybox.getViewport();

    $("#fancy_outer").css('left', (($("#fancy_outer").width() + 36) > pos[0] ? pos[2] : pos[2] + Math.round((pos[0] - $("#fancy_outer").width() - 36) / 2)));
    $("#fancy_outer").css('top', (($("#fancy_outer").height() + 50) > pos[1] ? pos[3] : pos[3] + Math.round((pos[1] - $("#fancy_outer").height() - 50) / 2)));
};

$.fn.fancybox.getNumeric = function(el, prop) {
    return parseInt($.curCSS(el.jquery ? el[0] : el, prop, true)) || 0;
};

$.fn.fancybox.getPosition = function(el) {
    var pos = el.offset();

    pos.top += $.fn.fancybox.getNumeric(el, 'paddingTop');
    pos.top += $.fn.fancybox.getNumeric(el, 'borderTopWidth');

    pos.left += $.fn.fancybox.getNumeric(el, 'paddingLeft');
    pos.left += $.fn.fancybox.getNumeric(el, 'borderLeftWidth');

    return pos;
};

$.fn.fancybox.showIframe = function() {
    $(".fancy_loading").hide();
    $("#fancy_frame").show();
};

$.fn.fancybox.getViewport = function() {
    return [$(window).width(), $(window).height(), $(document).scrollLeft(), $(document).scrollTop()];
};

$.fn.fancybox.animateLoading = function() {
    if (!$("#fancy_loading").is(':visible')) {
        clearInterval(loadingTimer);
        return;
    }

    $("#fancy_loading > div").css('top', (loadingFrame * -40) + 'px');

    loadingFrame = (loadingFrame + 1) % 12;
};

$.fn.fancybox.showLoading = function() {
    clearInterval(loadingTimer);

    var pos = $.fn.fancybox.getViewport();

    $("#fancy_loading").css({ 'left': ((pos[0] - 40) / 2 + pos[2]), 'top': ((pos[1] - 40) / 2 + pos[3]) }).show();
    $("#fancy_loading").bind('click', $.fn.fancybox.close);

    loadingTimer = setInterval($.fn.fancybox.animateLoading, 66);
};

$.fn.fancybox.close = function() {
    //Modified on 03/10/2010
    busy = false; //true


    //Added code for restart videoScroll
    //Video_AutoScrolldownAfterDelay('fancybox');


    $(imagePreloader).unbind();

    $("#fancy_overlay, #fancy_close").unbind();

    //Remove the event as the fancybox is already closed.
    $("#header, #fancy_close").unbind();
    $("#conentmiddle, #fancy_close").unbind();
    $("#news, #fancy_close").unbind();
    $("#footer, #fancy_close").unbind();

    //Remove the contetns from the div that contains the video object.
    if (document.getElementById("fancy_div") && typeof (document.getElementById("fancy_div")) != "undefined") {
        document.getElementById("fancy_div").innerHTML = "";
    }

    if (opts.hideOnContentClick) {
        $("#fancy_wrap").unbind();
    }

    $("#fancy_close, .fancy_loading, #fancy_left, #fancy_right, #fancy_title").hide();

    if (opts.centerOnScroll) {
        $(window).unbind("resize scroll");
    }

    __cleanup = function() {
        $("#fancy_overlay, #fancy_outer").hide();

        if (opts.centerOnScroll) {
            $(window).unbind("resize scroll");
        }

        if (isIE) {
            $('embed, object, select').css('visibility', 'visible');
        }

        if ($.isFunction(opts.callbackOnClose)) {
            opts.callbackOnClose();
        }

        busy = false;
    };

    if ($("#fancy_outer").is(":visible") !== false) {
        if (opts.zoomSpeedOut > 0 && opts.itemArray[opts.itemCurrent].orig !== undefined) {
            var orig_item = opts.itemArray[opts.itemCurrent].orig;
            var orig_pos = $.fn.fancybox.getPosition(orig_item);

            var itemOpts = {
                'left': (orig_pos.left - 18) + 'px',
                'top': (orig_pos.top - 18) + 'px',
                'width': $(orig_item).width(),
                'height': $(orig_item).height()
            };

            if (opts.zoomOpacity) {
                itemOpts.opacity = 'hide';
            }

            $("#fancy_outer").stop(false, true).animate(itemOpts, opts.zoomSpeedOut, opts.easingOut, __cleanup);

        } else {
            $("#fancy_outer").stop(false, true).fadeOut("fast", __cleanup);
        }

    } else {
        __cleanup();
    }

    return false;
};

$.fn.fancybox.build = function() {
    var videoUrl = document.getElementById('showVideoDiv').value;
    var twitterUrl = 'http://twitter.com/share?url=' + videoUrl + '&text=Zco Video';
    var facebookUrl = 'http://www.facebook.com/sharer.php?u=' + videoUrl + '&src=sp';
    var html = '';
    html += '<div id="fancy_overlay"></div>';
    html += '<div id="fancy_wrap">';
    html += '<div class="fancy_loading" id="fancy_loading"><div></div></div>';
    html += '<div id="fancy_outer">';
    html += '<div id="fancy_inner">';
    html += '<div id="fancy_close"></div>';
    html += '<div id="fancy_bg"><div class="fancy_bg fancy_bg_n"></div><div class="fancy_bg fancy_bg_ne"></div><div class="fancy_bg fancy_bg_e"></div><div class="fancy_bg fancy_bg_se"></div><div class="fancy_bg fancy_bg_s"></div><div class="fancy_bg fancy_bg_sw"></div><div class="fancy_bg fancy_bg_w"></div><div class="fancy_bg fancy_bg_nw"></div></div>';
    html += '<a href="javascript:;" id="fancy_left"><span class="fancy_ico" id="fancy_left_ico"></span></a><a href="javascript:;" id="fancy_right"><span class="fancy_ico" id="fancy_right_ico"></span></a>';
    html += '<div id="fancy_content"></div>';
    html += '<div id="fancy_title"></div>';
    html += '</div>';
    html += '<div class="shareIcons">';
    html += '<a id="fbshare" style="cursor:pointer;" onclick="javascript:GotoShare_facebook();" class="facebook_share" /></a>';
    html += '<a id="tshare"  style="cursor:pointer;" onclick="javascript:GotoShare_Twitter();" class="twitter_share" /></a>';
    html += '</div>';
    html += '</div>';
    html += '</div>';

    $(html).appendTo("body");
    //onclick="javascript:' + GotoShare_facebook(document.getElementById("showVideoDiv").value) + ';"     
    //    document.getElementById('fbshare').href = document.getElementById("showVideoDiv").value;

    $('<table cellspacing="0" cellpadding="0" border="0"><tr><td class="fancy_title" id="fancy_title_left"></td><td class="fancy_title" id="fancy_title_main"><div></div></td><td class="fancy_title" id="fancy_title_right"></td></tr></table>').appendTo('#fancy_title');

    if (isIE) {
        $("#fancy_inner").prepend('<iframe class="fancy_bigIframe" scrolling="no" frameborder="0"></iframe>');
        $("#fancy_close, .fancy_bg, .fancy_title, .fancy_ico").fixPNG();
    }
};



$.fn.fancybox.defaults = {
    padding: 10,
    imageScale: true,
    zoomOpacity: false,
    zoomSpeedIn: 0,
    zoomSpeedOut: 0,
    zoomSpeedChange: 300,
    easingIn: 'swing',
    easingOut: 'swing',
    easingChange: 'swing',
    frameWidth: 425,
    frameHeight: 355,
    overlayShow: false,
    overlayOpacity: 0.3,
    hideOnContentClick: false,
    centerOnScroll: true,
    itemArray: [],
    callbackOnStart: null,
    callbackOnShow: null,
    callbackOnClose: null,
    customTop: 94,
    customLeft: 0,
    customRight: 0,
    showShareIcons: true
};

$(document).ready(function() {
    $.fn.fancybox.build();
});

})(jQuery);


function GotoShare_facebook() {
    var VideoUrl = document.getElementById("showVideoDiv").value;

    if (VideoUrl.lastIndexOf("v/") != -1) {
        var videoId = VideoUrl.split('/')[4];
        if (videoId.length > 0) {
            videoId = videoId.split('&')[0];
            VideoUrl = 'http://www.youtube.com/watch?v=' + videoId + '&src=sp';
        } videoId
    }
    var facebookUrl = 'http://www.facebook.com/sharer.php?u=' + VideoUrl;
    window.open(facebookUrl, 'facebookshare', 'width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');
}

function GotoShare_Twitter() {
    var VideoUrl = document.getElementById("showVideoDiv").value;
    if (document.getElementById("videoTitleDiv"))
        VideoTitle = document.getElementById("videoTitleDiv").value;
    else
        VideoTitle = "Zco Video";

    if (VideoUrl.lastIndexOf("v/") != -1) {
        var videoId = VideoUrl.split('/')[4];
        if (videoId.length > 0) {
            videoId = videoId.split('&')[0];
            VideoUrl = 'http://www.youtube.com/watch?v=' + videoId + '&src=sp';
        }
    }
    var twitterUrl = 'http://twitter.com/share?url=' + VideoUrl + '&text=' + VideoTitle;
    window.open(twitterUrl, 'TwitterShare', 'width=400,height=200,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');
}

function GetYoutubeData() {
    var fileref = document.createElement('script')
    fileref.setAttribute("type", "text/javascript")
    fileref.setAttribute("src", 'http://gdata.youtube.com/feeds/api/videos/21OH0wlkfbc?v=2&amp;alt=json-in-script&amp;callback=youtubecallback')
    if (typeof fileref != "undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref)
}
