//IE detection
var isIE=(function(){
    var doc=document,doc_elem=doc.documentElement,cache={},elem;
    return function(version,comparison){
        if(/*@cc_on!@*/true){
            return false;
        }
        var key=[comparison||"","IE",version||""].join(" ");
        if(cache[key]===undefined){
            elem=elem||doc.createElement("B");
            elem.innerHTML="<!--[if "+key+"]><b></b><![endif]-->";
            cache[key]=!!elem.getElementsByTagName("b").length;
        }
        return cache[key];
    };
})();

var user = {          
    elements : {                
    },
    status:   {
        viewtype: null
    },
    init      : function(){
        //main,js == post.js ??
        if (window.location.hash && window.location.hash != hashvalue) {                            
            val = window.location.hash.substr(1);
            var t =$('body.postpage .post').attr("type");
            if (t == "sketche" || t == null || t=="undefined"||t=="")        {
                //alert('redirecting to sketch '+window.location.hash.substr(1))
                $.get("item.php", {
                    "type":"json", 
                    "postidx":val
                }, user.changeWork,"json");
            } else {
                //alert('redirecting to work '+window.location.hash.substr(1))
                $.get("item.php", {
                    "type":"json", 
                    "postname":val
                }, user.changeWork,"json");
            }
        //var filename = window.location.hash.substr(1);
        //$.get(url, {"type":"json"}, user.changeWork,"json");                              
        }
        $(window).scrollTop(0);
        if (hashvalue)
            window.location.hash = hashvalue;
        user.elements.detailSelect = $('#detailSelect');
        user.elements.overviewSelect = $('#overviewSelect');
        user.elements.overviewImg         =         $('#overviewImg');
        user.elements.detailImg         =         $('#detailImg');
        user.elements.detailSelect .click(user.onDetailSelect);
        user.elements.overviewSelect.click(user.onOverviewSelect);

        if (typeof admin == 'undefined') {                              
            $('#prevWork').live('click', user.onPrevNextWork);
            $("#nextWork").live('click', user.onPrevNextWork);
        }
        var t =$('body.postpage .post').attr("type");
        if (t == "sketche" || t == null || t=="undefined"||t=="")
            user.onOverviewSelect();
        else
            user.onDetailSelect();                                                                                        
    },
    onloadDtImg         :         function() {                            
        user.detailLoaded=true;
        $('#detailsLoading').hide();
        if (user.elements.detailImg)
            $('#hiddenLoad').attr({
                "src": user.elements.detailImg.attr("nextImage")
                });
        if (typeof admin == 'undefined') {
            if (user.status.viewtype != "overview") {                                        
                if(user.elements.detailImg)                                                  
                    user.elements.detailImg.fadeIn(user.setDetailsPosition);
            }
        }
        else
            user.setDetailsPosition();
    },
    onloadOvImg         :         function() {              
        user.overviewLoaded=true;
        $('#overviewLoading').hide();
        if(user.elements.overviewImg)
            $('#hiddenLoad2').attr({
                "src": user.elements.overviewImg.attr("nextImage")
                });
        if (typeof admin == 'undefined') {
            if (user.status.viewtype == "overview") {
                if(user.elements.overviewImg) {                                                  
                    user.elements.overviewImg.fadeIn(user.setDetailsPosition);                                                                                                    
                }
            }
        }
        else
            user.setDetailsPosition();
    },

    onPrevNextWork          :         function(evt) {
        //call ajax with adjscent  parameter                    
        var url = $(evt.target).attr("href");
        $.get(url, {
            "type":"json"
        }, user.changeWork,"json");
        return false;
    },
    changeWork          :         function(data) {
              
        document.title =  data.pageTitle;                                        
        //replacing post details
        $("a#prevWork").attr("href", "item.php?postid="+data.leftId);
        $("a#nextWork").attr("href", "item.php?postid="+data.rightId);

        var t =$('body.postpage .post').attr("type");
        $('#workIdx').text(data.postidx);
        if (t != "sketche") {
                        
            window.location.hash = '#'+data.filename;
            $('#workTitleHide .nocms').html(data.title);
            $('#workTechHide .nocms').html(data.field2);
            $('#workInfoHide .nocms').html(data.body);
            var nh  = $('#theWorkHide').height();
            $('#theWork').animate({
                height: nh
            }, 300, function() {                                                                                
                $('#workTitle .nocms').html(data.title);
                $('#workTech .nocms').html(data.field2);
                $('#workInfo .nocms').html(data.body);
                                        
                user.replaceImages(data.image2, data.image1, data.nextImage, data.nextImage2);
            });                                 
        }
        else {                              //sketch
            window.location.hash = '#'+data.postidx;
            user.replaceImages(data.image2, data.image1, data.nextImage, data.nextImage2);
        }
    },
    replaceImages :         function(detImg, ovImg, nextImage, nextImage2) {
                    
        user.detailLoaded=false;
        user.overviewLoaded=false;
                    
        if (user.status.viewtype == "overview") {
            $('#overviewLoading').show();
            user.elements.detailImg.hide();
            user.elements.overviewImg.fadeOut(function() {                                        
                //user.elements.detailImg.attr("src", 'imgs/white.jpg');
                //user.elements.overviewImg.attr("src", 'imgs/white.jpg');
                $(this).attr({
                    "src": ovImg, 
                    "nextImage":nextImage
                });//.fadeIn();
                user.elements.detailImg.attr({
                    "src": detImg,  
                    "nextImage":nextImage2
                });
            });
        }
        else {                            
            $('#detailsLoading').show();
            user.elements.overviewImg.hide();
            user.elements.detailImg.fadeOut(function() {                                        
                //user.elements.detailImg.attr("src", 'imgs/white.jpg');
                //user.elements.overviewImg.attr("src", 'imgs/white.jpg');
                $(this).attr({
                    "src": detImg,  
                    "nextImage":nextImage2
                });//.fadeIn();
                user.elements.overviewImg.attr({
                    "src": ovImg, 
                    "nextImage":nextImage
                });
            });
        }
    },
    onOverviewSelect :  function (evt){
        user.status.viewtype = "overview";
        $(window).scrollTop(0);
        user.elements.detailImg.fadeOut(function() {
            if (user.overviewLoaded) {
                user.elements.overviewImg.fadeIn(function() {
                    user.setDetailsPosition();
                    $(window).scrollTop(0);
                });
            } else
                $('#overviewLoading').show();
        });
        $('.post').addClass('overview').removeClass('detail');
        $('.post').attr({
            "viewtype" : "overview"
        })
        $('body').addClass('overview').removeClass('detail');
        if (isIE(7)) {/*
                               $("#detailSelect").css({opacity: 0.2});
                               $("#overviewSelect").css({opacity: 1});*/
            $('html').css({
                "overflow":"auto"
            });
        }
                    
        return false;
                    
    },

    onDetailSelect :  function (evt){
        user.status.viewtype = "detail";
        $(window).scrollTop(0);
        user.elements.overviewImg.fadeOut(function() {
            if (user.detailLoaded) {
                user.elements.detailImg.fadeIn(function () {
                    user.setDetailsPosition();
                    $(window).scrollTop(0);
                });
            } else
                $('#detailsLoading').show();
        });
        $('.post').addClass('detail').removeClass('overview');
        $('.post').attr({
            "viewtype" : "detail"
        });
        $('body').addClass('detail').removeClass('overview');
                    
        if (isIE(7)) {
            $('html').css({
                "overflow":"hidden"
            });
            $(window).scrollTop(0);
            $('.post').addClass('detail').removeClass('overview');
        }
        return false;
                    
    },

    setDetailsPosition :      function(){                    
        //set vertical
        var vt = $('.post').attr("viewtype");
        var heightNeeded = $(window).height();
        if (vt == "overview"  || vt == null || vt=="undefined"||vt=="") {                              
            if ( $('body').height() > $(window).height())
                heightNeeded =  $('body').height();                                                                                  
        }   
        heightNeeded -= 23;
        if (heightNeeded < 570)
            heightNeeded = 570;
        $('.mydetails').css({
            "top" : heightNeeded
        });
        //set horizantel
        try {
            var pos = $('#nav').position().left;
            $('.mydetailsInner').css({
                "margin-left": pos+10
            });
        }catch(e){}
    }
};

$(window).load(
    function() {
        //$(function() {
        user.init();
        //ful screen for image
        var theWindow        = $(window),
        $bg              = $("#detailImg"),
        aspectRatio      = $bg.width() / $bg.height();
                    
        function resizeBg() {         
            wW = theWindow.width();
            wH = theWindow.height();
            //console.log(theWindow.width(), theWindow.height(),theWindow.width() / theWindow.height() ,aspectRatio);
            //alert('theWindow.width() '+theWindow.width());
            //alert('theWindow.height()' + theWindow.height());
            //alert(' / = '+(theWindow.width() / theWindow.height()));
            //alert('aspectRatio '+ aspectRatio);
            if ( (wW / wH) < aspectRatio ) {
                h = wH;
                w = h * aspectRatio;
                              
            } else {
                w = wW;
                h = w / aspectRatio;
            }
                     
            $bg.width(w);
            $bg.height(h);

            //handle footer
            user.setDetailsPosition();
            $('.loading').css({
                "top" : Math.floor((theWindow.height()-65)/2)+"px", 
                "left" :Math.floor((theWindow.width()-65)/2)+"px"
                })
        }

        theWindow.resize(function() {
            resizeBg();
        }).trigger("resize");

    });





