var kontaktdiv = "<div id=\"kontaktpopup\"><p class=\"namn\">&nbsp;</p><p class=\"kontaktepost\">&nbsp;</p><p class=\"kontakttel\">&nbsp;</p></div>";

// all carousel options - set as default
var carouselOpts = {
    flashPath: '/gallery/carousel/flash/',
    carouselDistance: Math.SQRT2, // distance carousel is away from camera
    pictureSpacing: 2,     // spacing of each thumb in the carousel
    frameRate: 100,         // 3D animations desired frame rate
    zoomFactor: 1.2,         // rough amount of flash content area space taken up by zooming thumb
    initialTransparency: 1,     // initial transparency of carousel images
    fadeToTransparency: 1,     // transparency image fades to at the back of the carousel
    withReflection: true,     // to draw reflections under the images in the carousel
    reflectionStartOpacity: .2,   // reflection max opacity
    reflectionEndOpacity: 0,     // reflection min opacity
    reflectionHeight: .1,     // height of reflection 0 - 1 1 being full height
    reflectionSpacing: 5,     // spacing between image and its reflection
    tilt: -3,           // tilt angle of carousel on x-axis
    tiltOffset: 0,         // tilt causes some distorion in the carousel - it may require recentering manually
    debug: false,         // debug mode - show traced output
    secure: false,         // switch this on to stop the flash grabbing images off other domains
    settingExperimenter: true,   // interactive way of experimenting with these settings,
    loadingGraphic: true,     // display a loading graphic
    loadingGrapicColor: [0, 255, 0], // rgb colour of loading graphic
    loadingGraphicSpots: 16,     // spots in loading graphic
    loadingGraphicRate: 10,     // loading graphic rotation frame rate
    settingExperimenter: false,   // interactive way of experimenting with these settings
    rotation: 0            // rotate the carousel along the Z axis
};

function showObject(url) {

    document.location.href = url;
}

$(function () {

    /*Startpage image slider                
    $(".imageSlider").jCarouselLite({
    btnNext: ".next",
    btnPrev: ".prev"
    });
    */

    /*set startpuff objects*/
    $("div.startpuff").each(function () {

        if (!$(this).hasClass("facebook")) {
            //alert("'" + $(this).attr("url") + "'");
            if ($(this).attr("url") != "");
            $(this).attr("OnClick", "showObject('" + $(this).attr("url") + "');");
        }
    });
  
    $("div.startpuff_stipendiet").each(function () {
        if (!$(this).hasClass("facebook")) {
            //alert("'" + $(this).attr("url") + "'");
            if ($(this).attr("url") != "");
            $(this).attr("OnClick", "showObject('" + $(this).attr("url") + "');");
        }
    });
  
    var galleries = $('.ad-gallery').adGallery({ animation_speed: 800, cycle: true });

    if ($("ul#kontakt").length) {
        $("#huvudimagediv").append("<div id=\"kontaktabubbla\"><h2>Mäklarcity</h2><p>Skolgatan 58, 903 27 Umeå<br /> Tel: 090-13 12 20<br /> Fax: 090-13 53 20<br /> E-post: <a href=\"mailto:info@maklarcity.se\">info@maklarcity.se</a></p></div>");
    }

    //$('div.kontaktdiv a').facebox();
    /*$('a.popup').facebox({
    loadingImage: '/gallery/facebox/src/loading.gif',
    closeImage: '/gallery/facebox/src/closelabel.png'
    }, 'display:none; width:330px; height:510px;background-image:url("/images/kontaktform.png");');*/

    $('a.popup').fancybox({ 'showCloseButton': false,
        'width': '400px',
        'height': 'auto',
        'scrolling': 'no',
        'onClosed': clearkontaktform(),
        'hideOnContentClick': false,
        'hideOnOverlayClick': false
    });

    if ($("li.addthisli").length > 0) {
        $("div#addthislidiv").html($("#addthis_div").html());
    }



    $("#kontaktformform").bind("submit", function () {

        if ($("#namn").val().length < 1 || $("#tel").val().length < 1) {

            $("#namn").css({ "border": "solid 1px red" });
            $("#tel").css({ "border": "solid 1px red" });

            $.fancybox.resize();
            return false;
        }

        $.fancybox.showActivity();

        var hus = "";
        if ($("div.galleryheader").length > 0) {
            hus = $("div.galleryheader").text();
        }
        var ansvarig = "1";
        if ($("p.ansvarigepost").length > 0)
            ansvarig = $("p.ansvarigepost").text();

        $.ajax({
            type: "POST",
            cache: false,
            url: "/senddata.aspx",
            data: "namn=" + $("#namn").val() + "&epost=" + $("#epost").val() + "&tel=" + $("#tel").val() + "&dagdatum=" + $("#dagdatum").val() + "&tid=" + $("#tid").val() + "&hus=" + hus + "&ansvarig=" + ansvarig,
            success: function (data) {

                var ret = jQuery.parseJSON(data);
                if (ret.Kontakt.Error == 0) {
                    $.fancybox.hideActivity();
                    $("#kontaktformform").hide();
                    $("#tacktext").show();
                    $.fancybox.resize();
                }
                else {
                    $("#feltext").show();
                }
            }
        });

        return false;
    });


    // $("#start_tillsalu_meny li:last").css({ "border-right": "1px solid #999999" });

    //$("div.flashCarousel3D").carousel3D(carouselOpts);
    /*This initialises carousels on the container elements specified, in this case, carousel1.*/
    $("#huscarousel").CloudCarousel(
            {
                xPos: 240,
                yPos: 10,
                buttonLeft: $("#left-but"),
                buttonRight: $("#right-but"),
                altBox: $("#alt-text"),
                titleBox: $("#title-text"),
                reflHeight: 20,
                autoRotate: 'no',
                speed: 0.2,
                autoRotateDelay: 4000,
                bringToFront: true
            }
      );

    $("area.qtiplink").css({ "display": "block", "position": "relative" });
    /*$("area.qtiplink").click(function(event) {
    drawKontaktPopup(event.pageY, event.pageX, $(this).attr("namn"), $(this).attr("mobil"), $(this).attr("epost"))
    });*/

    $("area.qtiplink").hover(function (event) {
        if ($("#kontaktpopup").length == 0) {
            $("#kontaktpopup").hide();
            //drawKontaktPopup(event.pageY, event.pageX, $(this).attr("namn"), $(this).attr("mobil"), $(this).attr("epost"))
            //alert($(this).attr("kontaktpopupx") + ', ' + $(this).attr("kontaktpopupy"));

            drawKontaktPopup($(this).attr("kontaktpopupx"), $(this).attr("kontaktpopupy"), $(this).attr("namn"), $(this).attr("mobil"), $(this).attr("epost"));
            positionKontaktPopup($(this).attr("kontaktpopupy"), $(this).attr("kontaktpopupx"));
        }
        else {
            if ($("#kontaktpopup p.kontaktepost").html() != $(this).attr("epost"))
                $("#kontaktpopup").hide();

            if (!$("#kontaktpopup").is(":visible")) {
                positionKontaktPopup($(this).attr("kontaktpopupy"), $(this).attr("kontaktpopupx"));
                changeKontaktData($(this).attr("namn"), $(this).attr("mobil"), $(this).attr("epost"));
            }
        }
    });

    $("area.qtiplink").mouseleave(function (event) {
        //$("#kontaktpopup").hide();
    });

    if ($.browser.msie) {
        $('.ad-gallery img[src$=.png]').each(function () {
            this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ",sizingMethod='crop')";
        });
    }

    if ($("#frmMain div#husKontakt")) {
        var kontakt = $("#frmMain div#husKontakt");
        $("#frmMain div#husKontakt").remove();
        $("div.headerdiv").append($(kontakt));
    }
    var karturl = $("#hiddenkarta").attr("url");
    var largeurl = $("#hiddenkarta").attr("largeurl");
    var lageurl = $("#lägediv").attr("url");

    var mappointsforskolor = $.trim(largeurl) + "&branch=175";
    var mappointslivsmedel = $.trim(largeurl) + "&branch=268";
    var mappointsgrundskolor = $.trim(largeurl) + "&branch=192";
    var mappointsgymnasium = $.trim(largeurl) + "&branch=374";
    var mappointsuniversitet = $.trim(largeurl) + "&branch=188";
    var mappointsbanker = $.trim(largeurl) + "&branch=14";

    var title = $$('h2.description')[0];

    if (title) {
        var loading = new Element('div', {
            'html': 'Laddar innehåll ...',
            styles: {
                fontSize: 13,
                color: '#000'
            }
        }).inject(title);
    }

    $.ajax({
        type: "POST",
        cache: false,
        url: lageurl,
        data: "",
        success: function (data) {

            if (data.length <= 40) {
                loading.set('html', 'Ingen information hittades');
                return false;
            }
            else {
                $(".shomorediv").css('display', 'block');
            }

            $(loading).remove();

            $(".shomorediv").css('display', 'block');

            $("#lägediv").before(data);

            //$("table.lageTable tr:gt(5)").hide();

            //hide content after 2nd header
            var dataRows = $("table.lageTable").children('tbody').children('tr'),
                viewLenght = 0,
                viewTitles = 0,
                subLenght = 0;
            dataRows.each(function (key, value) {
    //var r = value;
    //alert($(value).hasClass("typrow"));

                if ($(value).hasClass('typrow')) {
                    if (viewTitles >= 2) {
                        $(value).hide();
                        subLenght = 2;
                    }
                    else {
                        subLenght = 0;
                    }
                    viewTitles++;

                }
                else if ($(value).hasClass('lage')) {
                    if (subLenght >= 2) {
                        $(value).hide();
                    }
                    subLenght++;
                }
                viewLenght++;

            });


            //$("a[typ=175]").attr("onclick", "popupWindowKarta('" + mappointsforskolor + "'); return false;");
    

    $('a[typ=175]').bind('click', function() {
      //alert("2");
      popupWindowKarta(mappointsforskolor); 
      return false;
    });


            //$("a[typ=268]").attr("onclick", "popupWindowKarta('" + mappointslivsmedel + "'); return false;");
             $('a[typ=268]').bind('click', function() {
      popupWindowKarta(mappointslivsmedel); 
      return false;
    });


            //$("a[typ=192]").attr("onclick", "popupWindowKarta('" + mappointsgrundskolor + "'); return false;");
    $('a[typ=192]').bind('click', function() {
      popupWindowKarta(mappointsgrundskolor); 
      return false;
    });
            //$("a[typ=374]").attr("onclick", "popupWindowKarta('" + mappointsgymnasium + "'); return false;");
    $('a[typ=374]').bind('click', function() {
      popupWindowKarta(mappointsgymnasium); 
      return false;
    });
            //$("a[typ=188]").attr("onclick", "popupWindowKarta('" + mappointsuniversitet + "'); return false;");
    $('a[typ=188]').bind('click', function() {
      popupWindowKarta(mappointsuniversitet); 
      return false;
    });
            //$("a[typ=14]").attr("onclick", "popupWindowKarta('" + mappointsbanker + "'); return false;");
    $('a[typ=14]').bind('click', function() {
      popupWindowKarta(mappointsbanker); 
      return false;
    });


        }
    });





    /*karturl = encodeURI("http://www.hitta.se/LargeMap.aspx?boundaryEnabled=false&mappointurl=http://www.maklarcity.se/HittaData.aspx?posx=7074062&posy=1726292&branchid=175");
    prompt("", encodeURI(karturl));*/

    var karthtml = '<iframe src="' + karturl + '" width="300" height="400" id="hittaframe" frameborder="0"></iframe>';

    /*karthtml += '<a onclick="popupWindowKarta(\'' + mappointsforskolor + '\'); return false;" href="#">Förskolor</a><br/>';
    karthtml += '<a onclick="popupWindowKarta(\'' + mappointslivsmedel + '\'); return false;" href="#">Livsmedelbutiker</a><br/>';
    karthtml += '<a onclick="popupWindowKarta(\'' + mappointsgrundskolor + '\'); return false;" href="#">Grundskolor</a><br/>';
    karthtml += '<a onclick="popupWindowKarta(\'' + mappointsgymnasium + '\'); return false;" href="#">Gymnasium</a><br/>';
    karthtml += '<a onclick="popupWindowKarta(\'' + mappointsuniversitet + '\'); return false;" href="#">Universitet</a><br/>';
    karthtml += '<a onclick="popupWindowKarta(\'' + mappointsbanker + '\'); return false;" href="#">Banker</a><br/>';
    */


    $("#hiddenkarta").html(karthtml);


});
function togglelage() {
    $("table.lageTable tr").each(function (key, value) {
        if ($(value).css('display') == 'none') {
            $(value).show();
        }
    });

    $(".shomorediv").remove();
    return false;
}
function changeKontaktData(namn, tel, epost) {
    $("#kontaktpopup p.namn").html(namn);
    $("#kontaktpopup p.kontakttel").html(tel);
    $("#kontaktpopup p.kontaktepost").html("<a href='mailto:" + epost + "'>" + epost + "</a>");
}
function positionKontaktPopup(top, left, area) {
    $("#kontaktpopup").show();

    //$("#kontaktpopup").css({ "top": top - ($("#kontaktpopup").height() + 30), "left": left - 45 });
    //$("#kontaktpopup").css({ "top": top - ($("#kontaktpopup").height()), "left": left });

    //$("#kontaktpopup").css({ "top": top, "left": left });
    //$("#kontaktpopup").css({ "posotion": "absolute", "top": top, "left": left });

    $("#kontaktpopup").css({ "top": top + "px", "left": left + "px" });

}

function drawKontaktPopup(top, left, namn, tel, epost) {
    var newKontakt = kontaktdiv;
    $("#startimagediv").append($(newKontakt));

    changeKontaktData(namn, tel, epost);
    positionKontaktPopup(top, left);
    $("#kontaktpopup").show();

    $("#kontaktpopup").mouseleave(function (event) {
        $("#kontaktpopup").hide();
    });
    //$("#kontaktpopup").css({ "top": top - ($("#kontaktpopup").height()-50), "left": left-45 });
}

function popupWindow(url) {
    mywindow = window.open(url, "mywindow", "resize=1,location=1,status=1,scrollbars=1,width=750,height=500");
    mywindow.moveTo(0, 0);
}

function popupWindowKarta(url) {
    mywindow = window.open(url, "mywindow", "resize=1,location=1,status=1,scrollbars=1,width=850,height=500");
    mywindow.moveTo(0, 0);
}

function clearkontaktform() {
    $.fancybox.close();
    $("#kontaktformform").show();
    $("#tacktext").hide();
    $("#feltext").hide();
    $("#kontakttable input").val("");
}

var mySlider,
    imagesBoxes,
    containerWidth,
    currentPosition,
    slideTimer,
    imgHeight = 175,  // Height of Image
    imgWidth = 230, // Width of image container (aka. width of the image)
    startposition,
    slideAnimation,
    margin = 4, // Sum of left & right margin

    startpageSlider = function (target) { // Start Page Slider Function    

        mySlider = target[0];
        imagesBoxes = target[0].getChildren('span');

        imagesBoxes.each(function (e) {
            var image = e.getChildren('img')[0];

            image.setStyles({
                margin: '0px 2px 0px 2px',
                padding: '0px',
                border: 'none',
                height: imgHeight,
                '-webkit-user-select': 'none',
                '-moz-user-select': 'none'
            });

            e.addEvent('click', function () {
                window.parent.location = this.getChildren()[0].get('open');
            });

            e.setStyles({
                float: 'left',
                height: 200,
                width: imgWidth,
                overflow: 'hidden',
                '-webkit-user-select': 'none',
                '-moz-user-select': 'none',
                cursor: 'pointer'
            });
            var imageText = new Element('div', {
                'html': image.get('alt'),
                'styles': {
                    color: '#444',
                    marginLeft: 5
                }
            });
            e.adopt(imageText);
            var clone = e.clone().cloneEvents(e);
            target.adopt(clone);
        });

        containerWidth = (imagesBoxes.length * imgWidth) + margin;
        imagesBoxes.each(function (e) {
            var clone = e.clone().cloneEvents(e);
            target.adopt(clone);
        });

        target.setStyles({
            'width': containerWidth * 3,
            'position': 'absolute',
            'top': '0px'
        });

        startposition = (containerWidth - (imgWidth / 2)) + (12) + imgWidth;
        target.setStyle('left', -startposition);
        currentPosition = -startposition;

        var next = new Element('div', {
            styles: {
                position: 'absolute',
                top: (imgHeight / 2) - 30,
                right: -1,
                height: 61,
                width: 34,
                background: 'url(/images/scrollright.png) no-repeat top left',
                cursor: 'pointer'
            },
            events: {
                click: function () { slide(1); },
                mouseenter: function () { clearInterval(slideTimer); },
                mouseleave: function () { slideTimer = slide.periodical(4000, this, 1); }
            }
        });
        var prev = new Element('div', {
            styles: {
                position: 'absolute',
                top: (imgHeight / 2) - 30,
                left: -1,
                height: 61,
                width: 34,
                background: 'url(/images/scrollleft.png) no-repeat top left',
                cursor: 'pointer'
            },
            events: {
                click: function () { slide(-1); },
                mouseenter: function () { clearInterval(slideTimer); },
                mouseleave: function () { slideTimer = slide.periodical(4000, this, -1); } 
            }
        });
        slideAnimation = new Fx.Morph(mySlider, {
            duration: 700,
            transition: Fx.Transitions.Pow.easeInOut,
            link: 'ignore'
        });

        target.getParent().adopt(next, prev);


        // Auto slideshow
        target.addEvent('mouseenter', function (event) {
            clearInterval(slideTimer);
        });
        target.addEvent('mouseleave', function (event) {
            slideTimer = slide.periodical(4000, this, 1);
        });
        slideTimer = slide.periodical(4000, this, 1);


    }
    var slide = function (distance) {
        if (distance > 0) {  // NEXT          
            currentPosition -= 230;
        }
        else { // PREV 
            currentPosition += 230;
        }
        if ((imagesBoxes.length + 1) * 230 - startposition == currentPosition) {
            mySlider.setStyle('left', -startposition);
            currentPosition = -startposition + 230;
        }
        else if (-startposition - (((imagesBoxes.length) * 2) - 3) * 230 == currentPosition) {
            mySlider.setStyle('left', -startposition - ((imagesBoxes.length - 4) * 230));
            currentPosition = -startposition - ((imagesBoxes.length - 3) * 230);
        }
        slideAnimation.start({
            'left': currentPosition
        });
    };

    
