/*
 * jqModal - Minimalist Modaling with jQuery
 *   (http://dev.iceburg.net/jquery/jqModal/)
 *
 * Copyright (c) 2007,2008 Brice Burgess <bhb@iceburg.net>
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 * 
 * $Version: 03/01/2009 +r14
 */
(function($){$.fn.jqm=function(o){var p={overlay: 50,overlayClass: 'jqmOverlay',closeClass: 'jqmClose',trigger: '.jqModal',ajax: F,ajaxText: '',target: F,modal: F,toTop: F,onShow: F,onHide: F,onLoad: F};return this.each(function(){if(this._jqm)return H[this._jqm].c=$.extend({},H[this._jqm].c,o);s++;this._jqm=s;H[s]={c:$.extend(p,$.jqm.params,o),a:F,w:$(this).addClass('jqmID'+s),s:s};if(p.trigger)$(this).jqmAddTrigger(p.trigger);});};$.fn.jqmAddClose=function(e){return hs(this,e,'jqmHide');};$.fn.jqmAddTrigger=function(e){return hs(this,e,'jqmShow');};$.fn.jqmShow=function(t){return this.each(function(){t=t||window.event;$.jqm.open(this._jqm,t);});};$.fn.jqmHide=function(t){return this.each(function(){t=t||window.event;$.jqm.close(this._jqm,t)});};$.jqm={hash:{},open:function(s,t){var h=H[s],c=h.c,cc='.'+c.closeClass,z=(parseInt(h.w.css('z-index'))),z=(z>0)?z:3000,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});if(h.a)return F;h.t=t;h.a=true;h.w.css('z-index',z);if(c.modal){if(!A[0])L('bind');A.push(s);}else if(c.overlay>0)h.w.jqmAddClose(o);else o=F;h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):F;if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in{Top: 1,Left: 1})try{o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+"||document.body.scroll"+y+"))+'px'")}catch(e){};}}if(c.ajax){var r=c.target||h.w,u=c.ajax,r=(typeof r=='string')?$(r,h.w):$(r),u=(u.substr(0,1)=='@')?$(t).attr(u.substring(1)):u;r.html(c.ajaxText).load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h);});}else if(cc)h.w.jqmAddClose($(cc,h.w));if(c.toTop&&h.o)h.w.before('<span id="jqmP'+h.w[0]._jqm+'"></span>').insertAfter(h.o);(c.onShow)?c.onShow(h):h.w.show();try{e(h)}catch(e){};return F;},close:function(s){var h=H[s];if(!h.a)return F;h.a=F;if(A[0]){A.pop();if(!A[0])L('unbind');}if(h.c.toTop&&h.o)$('#jqmP'+h.w[0]._jqm).after(h.w).remove();if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();}return F;},params:{}};var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version=="6.0"),F=false,i=$('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0}),e=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i);f(h);},f=function(h){try{$(':input:visible',h.w)[0].focus();}catch(_){}},L=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);},m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return!r;},hs=function(w,t,c){return w.each(function(){var s=this._jqm;$(t).each(function(){if(!this[c]){this[c]=[];$(this).click(function(){for(var i in{jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return F;});}this[c].push(s);});});};})(jQuery);
var HOME_WS_URL = "http://solarelectr.web702.discountasp.net/";
var SPECIAL_SEQUENCES = new Array("(communications, lighting, pumping, etc)",
"(RECs, etc)",
"(gov't, non-profit, school, etc)",
"Research, Demonstration, Resource Assessment, etc",
"(green, subdivisions, etc)");
var LENGTH_SPECIAL_SEQUENCES = SPECIAL_SEQUENCES.length;

var PRINTABLE_WINDOW = null;
var BODY_WIDTH = $("body").css("width");

$(document).ready(function()
{
	// Retrieve the case study name.
	var caseStudyName = $("#caseStudyProjectName > span.projectName:first").text();
	
	// Build the name display XHTML, and reset the page explanation bar header text.
	$("#ibHR0C0 div.infoBarPageCaption").html('<span class="pageCaptionPrefix">Utility Case Studies:&nbsp;&nbsp;</span><span class="pageCaptionCSName">' + caseStudyName + '</span>');
	
    $("#pdfCaseStudy").click(function()
    {
        var beginIndex = -1;
        var endIndex = -1;

        var html = $.ajax({
            url: $("iframe#jqmContent").attr("src"),
            cache: false,
            async: false
        }).responseText;

        var originalCaseBodyHTML = $("#caseStudyBody").html();

        // Remove the section links.
        $("#caseStudyBody").contents().find("a.topLink").remove();

        // Populate the placeholder with the case study XHTML content.
        html = html.replace("<!--PLACEHOLDER-->", $("#caseStudyBody").html());

        // Find the beginning of the CPF.
        beginIndex = (html.indexOf("<!--PPH_BEGIN-->"));
        // Find the end of the CPF.
        endIndex = html.indexOf("<!--PPH_END-->");

        if ((beginIndex >= 0) && (endIndex > 0))
        {
            // Extract the body without the footer.
            html = (html.substring(0, beginIndex) + html.substring(endIndex));
        }

        beginIndex = -1;
        endIndex = -1;

        // Find the beginning of the CPF.
        beginIndex = (html.indexOf("<!--CPF_BEGIN-->"));
        // Find the end of the CPF.
        endIndex = html.indexOf("<!--CPF_END-->");

        if ((beginIndex >= 0) && (endIndex > 0))
        {
            // Extract the body without the footer.
            html = (html.substring(0, beginIndex) + html.substring(endIndex));
        }
        
		$("input#pdfXHTMLSource").val(html);

        $("#frmGeneratePDF").submit();

        // Restore the section links.
        $("#caseStudyBody").html(originalCaseBodyHTML);
    });


	$("#caseStudyBody img[src*='media/']").hide();

    $("#caseStudyBody img[src*='media/']").each(function(index, img)
    {
		var currentSrc = $(img).attr("src").replace(HOME_WS_URL, "/");
		
		if (currentSrc.indexOf("/") != 0)
		{
			currentSrc = "/" + currentSrc;			
		}
				
		var src200px = "/umbraco/imagegen.ashx?image=" + currentSrc + "&width=200";
		var src600px = "/umbraco/imagegen.ashx?image=" + currentSrc + "&width=600";
		
		var imgCount = (index + 1);
		
		$(img).attr("src", src200px);
		$(img).attr("alt", "Case Study Image " + imgCount);
		$(img).wrap("<a class='thickbox csi' rel='case-study-images' href='" + src600px + "' title='Case Study Image " + (imgCount).toString() + ".'></a>");
		$(img).show();
    });
	
	tb_init('a.csi');
   
    $("#caseStudyLinks a").each(function(index, domElement)
    {
        if ($(domElement).attr("class") != "topLink")
        {
            $(domElement).attr("target", "_blank");

            if ($(domElement).attr("title").length === 0)
            {
                $(domElement).attr("title", "View the " + $(domElement).text());
            }
        }
    });

    $("div.cbl").each(function(index, domElement)
    {
        var currentHTML = jQuery.trim($(domElement).html());

        for (var i = 0; i < LENGTH_SPECIAL_SEQUENCES; i++)
        {
            currentHTML = currentHTML.replace(SPECIAL_SEQUENCES[i], ("{" + i + "}"));
        }

        var valuesArray = currentHTML.split(",");

        if (valuesArray !== null)
        {
            var countValues = valuesArray.length;

            if (countValues > 0)
            {
                var liHTML = "";

                for (var i = 0; i < countValues; i++)
                {
                    liHTML += "<li>" + jQuery.trim(valuesArray[i]) + "</li>";
                }

                for (var i = 0; i < LENGTH_SPECIAL_SEQUENCES; i++)
                {
                    liHTML = liHTML.replace(("{" + i + "}"), SPECIAL_SEQUENCES[i]);
                }

                $(domElement).html('<ul class="cbl">' + liHTML + "</ul>");
            }
        }

    });

    $('#modalWindow').jqm(
    {
        modal: true,
        trigger: '#printableCaseStudy',
        onShow: function(hash)
        {			
			// IE positioning fix:
			$("body").css("width", BODY_WIDTH);
			
            PRINTABLE_WINDOW = hash.w;

            var iframeContents = hash.w.find("#jqmContent").contents().find("#innerLayout");

            if (iframeContents != null)
            {
                iframeContents.html($("#caseStudyBody").html());
                iframeContents.contents().find("a.topLink").remove();
            }
			
            hash.w.show();
        },
        onClose: function(hash)
        {
            PRINTABLE_WINDOW = null;
        }
    });

    $("#printCaseStudy").click(function()
    {
        if (PRINTABLE_WINDOW != null)
        {
            var contentWindow = document.getElementById("jqmContent").contentWindow;

            if (contentWindow != null)
            {
                contentWindow.focus();
                contentWindow.print();
            }
        }
    });
});