﻿/*! NZC Cricket Archive i-frame support v1 <http://nvinteractive.co.nz>
Copyright (c) NV Interactive
	
References:
jquery-1.2.6.js
		
*/


nv_iframe = function() {

    var BUFFER = 60;
    var DOMAIN = document.location.protocol + "//" + document.location.host;
    var CSS_PATH = DOMAIN + "/_resx/css/archive/archive-frame.css";
    var BULLET_PATH = DOMAIN + "/images/archive/bullet.gif";

    var setup = function() {
        $("iframe")
			.load(iframe_ready)
			.hide()
			.after("<div id='loading_indicator'></div>");

    }

    var iframe_ready = function() {
        $(this)
			.show()
			.bind("resize", frame_resize);

        //Hide the ajax style loading indicator
        $("#loading_indicator").hide();

        var frame_content = $(this).contents().find("body");

        //Modify frame html
        $("a", frame_content)
			.filter("[target='_blank']").each(add_external).end()
			.filter("[target!='_blank']").click(frame_click); //Capture link clicks, hide the iframe to avoid css jumps

        $("img[src$='cricketball.gif']", frame_content).attr("src", BULLET_PATH);

        //Add a link to our css
        frame_content.append('<link rel="stylesheet" type="text/css" media="screen" href="' + CSS_PATH + '" />');

        //Size the iframe to match content
        var frame_height = frame_content.height() + BUFFER;
        $(this).height(frame_height);

        //Convert the footer
        $("font:last", frame_content).attr("id", "footer");
        $("center", frame_content).addClass("center");

    }

    var add_external = function() {
        $(this).addClass("external_link");
        this.innerHTML = this.innerHTML + "&nbsp;<span class='external_link'></span>";
    }

    var frame_resize = function() {
        var frame_height = $(this).contents().find("body").height() + BUFFER;
        $(this).height(frame_height);
    }

    var frame_click = function() {
        $("#loading_indicator").show();
        $("iframe").hide();
    }

    return {
        /* Public API
        */
        setup: setup
    }

} ();


$(document).ready(nv_iframe.setup);

function setDomain() {
    var domain = window.document.domain;
    var bits = domain.toLowerCase().split(".");
    if (bits.length > 0 && (bits[0] == "www" || bits[0] == "archive" || bits[0] == "staging" || bits[0] == "video")) {
        window.document.domain = domain.substr(bits[0].length + 1, domain.length - bits[0].length - 1);
    }
}

setDomain();
