﻿///<reference path="jquery-1.2.6.js">

function hasCSS()
{
    var _d = document.createElement('div');
    _d.id = 'css_test';
    $('body').append(_d);
    $('#css_test').css({ width: '1px', height: '1px', display: 'none' });
    var _v = ($('#css_test').width() != 1) ? false : true;
    $('#css_test').remove();
    return _v;
}

var active = false;

//*** nils nya zoomfunktion ***

function BindEnlargeElements(zoomType, useMilk, showIcon, showText) // zoomType = auto, left, right, center, fixed
{
    
    // default values
    showIcon = (showIcon != undefined) ? showIcon : true;
    showText = (showText != undefined) ? showText : true;
    useMilk = (useMilk != undefined) ? useMilk : true;
    zoomType = (zoomType != undefined) ? zoomType : "fixed";

    if (useMilk)
        CreateMilk();

    var zoomElement = CreateZoomElement(showIcon, showText);
    var imageLinkElements = $('a[href*=.]:has(img)').filter(function() {
        return $(this).attr("href").match(/(jpg|png|gif)/i, 'gi');
    });

    imageLinkElements.each(function(i) {
        var imageSrc = $(this).attr("href");
        $(this).attr("id", i).append(zoomElement).attr("href", "javascript:void(0)");
        $(this).bind('click', null, function(e) { EnlargeImage($(this).contents('img'), imageSrc, zoomType); });
    });

    $(window).bind("resize", function() {
        if ( !(jQuery.browser.msie && jQuery.browser.version < 7) ) {
            $("#zoomImage").click();

        }
    })
}

function CreateMilk() // skapa mjölklager
{
    $('body').append("<div id=\"milk\" onclick=\"$('#zoomImage').click();hideReport()\"></div>");
}

function CreateZoomElement(icon, text) {
    return Format('<span class="{0}" href="javascript:void(0)">{1}</span>', (icon) ? "enlargeImg" : "", (text) ? "Enlarge" : "&nbsp;"); // vårt zoomelement
}

var animated = false;

function EnlargeImage(source, targetSrc, zoomType) { // source = bild som klickat, targetSrc = src till målbild, type = zoomtyp
    source = $(source);
    var scrollTop =  $(document).scrollTop();
    var sourceImageWidth = source.width();
    var sourceImageHeight = source.height();
    var offset = source.offset();
    //var imageElement = "<img id='zoomImage' src='" + targetSrc + "'style='z-index:105;cursor:pointer;display:none;filter:alpha(opacity=0);opacity:0.0;position:relative;left:" + offset.left + "px;top:" + (offset.top-scrollTop) + "px;' />";
    var imageElement = "<img id='zoomImage' src='" + targetSrc + "' style='border:2px solid #bbb;visibility:hidden;z-index:205;cursor:pointer;position:absolute;left:" + (offset.left) + "px;top:" + (offset.top - scrollTop) + "px;' />";

    $('body').prepend(imageElement);
    $('#milk').css("opacity", "0.0");

    $(imageElement).bind('load', null, function(e) {
        $('#zoomImage').click(function() {
            if (animated) {
                
                $('#milk').fadeOut(500);
                $('#zoomImage').animate({ width: sourceImageWidth, height: sourceImageHeight, opacity: 0.0, left: offset.left, top: (offset.top - scrollTop), marginLeft: 0, marginTop: 0 }, 300, function() {
                    $('#zoomImage').remove();
                    $('#milk').css("display", "none");
                    animated = false;
                });
            }
        });

        var imgWidth = $(this).width();
        var imgHeight = $(this).height();
        ;
        $('#milk').animate({ opacity: 0.6 }, 500);
        $('#milk').css("display", "block");

        AnimateImage($('#zoomImage'), $(source), zoomType);
    });
    
    
}



function AnimateImage(zoomImage, sourceImage, zoomType) {
    zoomImage = $(zoomImage);
    sourceImage = $(sourceImage);

    var w = $(zoomImage).width();
    var h = $(zoomImage).height();
    var d = $(window);

    

    //zoomImage.css({ height: sourceImage.height(), width: sourceImage.width() });
    zoomImage.css({ height: sourceImage.height(), width: sourceImage.width(), visibility: 'visible' });

    if (zoomType == "auto")
        zoomType = $(sourceImage).parents("div").css("float") == "left" ? "right" : "left";

  
    switch (zoomType) {
        case "center": zoomImage.animate({ width: w, height: h, opacity: 1.0, left: sourceImage.offset().left - (w / 4), top: sourceImage.offset().top - (h / 4) }, 500, 'linear', function() { animated = true; });
            break;
        case "right": zoomImage.animate({ width: w, height: h, opacity: 1.0, left: sourceImage.offset().left, top: sourceImage.offset().top });
            break;
        case "left": zoomImage.animate({ width: w, height: h, opacity: 1.0, left: sourceImage.offset().left - w + sourceImage.width(), top: sourceImage.offset().top });
            break;
        case "fixed":
            var pos = h > d.height() ? "absolute" : "fixed";
            if (jQuery.browser.msie && jQuery.browser.version < 7)
            { pos = "absolute"; }
            zoomImage.css("position", pos);
            
            zoomImage.animate({ width: w, height: h, opacity: 1.0, left: d.width() / 2 - w / 2, top: d.height() / 2 - h / 2 }, 500, 'linear', function() { animated = true; });
            break;
        default: AnimateImage(zoomImage, sourceImage, "expandCenter");
    }
}


function Format(str) {
    for (i = 0; i < arguments.length; i++) {
        var myRegex = new RegExp("\\{" + i + "\\}", "g");
        str = str.replace(myRegex, arguments[i + 1]);
    }
    return str;
}

function ShowHover(index) {
    sIFR.replacements[index + 1 + $('#puff').length].changeCSS('.sIFR-root {color: #ed87b2;cursor:pointer},a:link { color: #ed87b2;text-decoration: none;cursor:pointer }')
}

function HideHover(index) {

    sIFR.replacements[index + 1 + $('#puff').length].changeCSS([
			  '.sIFR-root { color: #7D5E41; }'
			  , 'a { color: #7D5E41; text-decoration: none; }'
			  , 'a:link { color: #7D5E41; }'
			  , 'a:hover { color: #ed87b2; }'
			  , 'em {color:#FF00ff; }'
			]);
}


//**** Funktion för språkmeny i botten
function ChangeLanguage() {

    var offset = $('#changeCountry').offset();
    var fix = ($.browser.safari) ? 10 : 1;
    $('#languages').css("top", offset.top - 5);
    $('#languages').css("left", offset.left - fix + $('#changeCountry').width()+5);
    $('#languages').fadeIn(500);
}

function HideLanguage() {
    setTimeout(function() {

        if (over != 1)
            $('#languages').fadeOut(500);
    }, 500);
}

var over = 0;
function ShowLanguage() {
    over = 1;
    $('#languages').fadeIn(0);
}