﻿function runOnGoogleLoad() {
	showLoadingSpinner();
	displayBlogItems(3);
}
function runOnDomLoad() {
    showLoadingSpinner();
    setSearchBoxText()
    $('#main,#lhs,#rhs').addClass('nobottomline');
    $('#main,#lhs,#rhs').removeClass('fixedheight');
    randomiseMainImage();
    getReadyToDrawBottomLine();
//	handlesurvey();

}
function getReadyToDrawBottomLine() {
	if (document.getElementById('blogentry3') != null) {
		hideLoadingSpinner();
		//drawBottomLine()
	} else {
		setTimeout(getReadyToDrawBottomLine, .2);
	}
 }
function showLoadingSpinner(){
	if(! document.getElementById('ajaxloader')) {
		$('#blog').append('<div id="ajaxloader"></div>');
	}
 }
function hideLoadingSpinner() {
    document.getElementById('ajaxloader').style.display = 'none';
}
function displayBlogItems(n) {	
	var bloglinkcontainer = document.getElementById('blog');
	var bloggerService = new google.gdata.blogger.BloggerService('uk.ac.wellcome.library'); // What does this parameter do?
	var feedUri = 'http://www.blogger.com/feeds/967362323321480325/posts/default';

	// A callback method invoked getBlogPostFeed() returns data
    var handleBlogPostFeed = function(postsFeedRoot) {
        var posts = postsFeedRoot.feed.getEntries();
        var html = '';
        var tagPattern = new RegExp('<[^>]+>','g');
        
        for (var i = 0; i < n; i++) {
            var post = posts[i];
            var titleLength = 66;
            var summaryLength = 130;
            var postURL = post.getHtmlLink().getHref();
            var postTitle = post.getTitle().getText().replace(tagPattern,'');
            if(postTitle.length > titleLength) {
                postTitle = postTitle.substring(0,titleLength + 1);
                while(postTitle.charAt(titleLength) != ' ') {titleLength--;}
                postTitle = postTitle.substring(0,titleLength) + '...';
            }
            postSummary = post.getContent().getText().replace(tagPattern,'').substring(0,summaryLength + 1);
            while(postSummary.charAt(summaryLength) != ' ') {summaryLength--;}
            postSummary = postSummary.substring(0,summaryLength);
			var blogentryid = 'blogentry' + i+1;
			if (html.indexOf(blogentryid) === -1) {
				html += '<div id="blogentry' + (i+1) + '" class="newsitem"><h4 class="newstext"><a href="' + postURL + '" target="_blank">'+ postTitle + '</a></h4><p>' + postSummary + '...</p></div>';
			}
        }
		if (bloglinkcontainer.innerHTML.indexOf('blogentry1') === -1) { // sometimes the blog entries get added twice in IE. This clause prevents this duplication.
			bloglinkcontainer.innerHTML = bloglinkcontainer.innerHTML + html;
		}
    };

    var handleError = function(error) {
	bloglinkcontainer.innerHTML = '<!--<pre>' + error + '</pre>-->';
    };
    bloggerService.getBlogPostFeed(feedUri, handleBlogPostFeed, handleError);	
    blogDone = true;
}	
function drawBottomLine() {
        var heightOfLargestBlock = 0;
        var lhsNode = document.getElementById('lhs');
        var rhsNode = document.getElementById('rhs');
        var mainNode = document.getElementById('main');
        var newsAndBlogNode = document.getElementById('newsandblog');
        var searchBlockNode = document.getElementById('searchblock');
        
        var heightLhs = lhsNode.offsetHeight;
        var heightRhs = rhsNode.offsetHeight;
        // heightMain = mainNode.offsetHeight;
        var heightMain = searchBlockNode.offsetHeight + newsAndBlogNode.offsetHeight;
        var lhsMinusMainHeight = heightLhs - heightMain;
        var rhsMinusMainHeight = heightRhs - heightMain;
        var lhsMinusRhsHeight = heightLhs - heightRhs;
        
        if (lhsMinusMainHeight <= 0) {
            if (rhsMinusMainHeight <= 0){heightOfLargestBlock = heightMain;} // main block highest
            else {heightOfLargestBlock = heightRhs;} // rhs block highest
        } else {
            if (lhsMinusRhsHeight <=0){heightOfLargestBlock = heightRhs;} // rhs block highest
            else {heightOfLargestBlock = heightLhs;} // lhs block highest
        }
        var heightDeclaration = heightOfLargestBlock + 'px';

        rhsNode.style.height = heightDeclaration;
        lhsNode.style.height = heightOfLargestBlock - 10 + 'px';
        mainNode.style.height = heightDeclaration;
	$('#rhs,#lhs,#main').removeClass('nobottomline');
	$('#rhs,#lhs,#main').addClass('bottomline');
}
function randomiseMainImage(){
    var mainImagePathRoot = '/images/random/homepage/2010/';
    var mainImageLinkRoot = 'http://images.wellcome.ac.uk/indexplus/image/';
    var randImages = new Array(18);
    
    
    for (var i = 0; i < randImages.length; i++){
        randImages[i] = new Array(3);
    }
    randImages[0][0] = 'home_bg1.jpg';
    randImages[0][1] = 'A seated courtesan playing a sitar. Watercolour drawing. L0022510';
    randImages[0][2] = 'L0022510';
    randImages[1][0] = 'home_bg2.jpg';
    randImages[1][1] = 'A winged figure with musical instrument. Watercolour drawing';
    randImages[1][2] = 'V0045182';
    randImages[2][0] = 'home_bg3.jpg';
    randImages[2][1] = 'George Star. Pastel by W. Langdon Kihn';
    randImages[2][2] = 'L0022056';
    randImages[3][0] = 'home_bg4.jpg';
    randImages[3][1] = 'Portrait of a king. Coloured ink drawing';
    randImages[3][2] = 'V0045232';
    randImages[4][0] = 'home_bg5.jpg';
    randImages[4][1] = 'Kali holding a demon\'s head';
    randImages[4][2] = 'L0035010';
    randImages[5][0] = 'home_bg6.jpg';
    randImages[5][1] = 'Ambroise Pare: prosthetics, mechanical hand';
    randImages[5][2] = 'L0043496';
    randImages[5][0] = 'home_bg7.jpg';
    randImages[5][1] = 'Thai manuscript 7, Divination';
    randImages[5][2] = 'L0023334';
    randImages[6][0] = 'home_bg8.jpg';
    randImages[6][1] = 'A seated courtesan playing a sitar';
    randImages[6][2] = 'V0044998';
    randImages[7][0] = 'home_bg8.jpg';
    randImages[7][1] = 'A seated courtesan playing a sitar';
    randImages[7][2] = 'V0044998';
    randImages[8][0] = 'home_bg9.jpg';
    randImages[8][1] = 'A physician wearing a seventeenth century plague preventive';
    randImages[8][2] = 'V0010642';
    randImages[9][0] = 'home_bg10.jpg';
    randImages[9][1] = 'A woman holding a bottle of Bubisan hair lotion';
    randImages[9][2] = 'V0047588EL';
    randImages[10][0] = 'home_bg11.jpg';
    randImages[10][1] = 'Portrait of one of the engravers of Fuchs\' \'de Historia....';
    randImages[10][2] = 'L0015096EC';
    randImages[11][0] = 'home_bg12.jpg';
    randImages[11][1] = 'Portrait of one of the engravers of Fuchs\' \'de Historia....';
    randImages[11][2] = 'L0015096EB';
    randImages[12][0] = 'home_bg13.jpg';
    randImages[12][1] = 'WMS 693, Rotulum hieroglyphicum G. Riplaei';
    randImages[12][2] = 'L0032139';
    randImages[13][0] = 'home_bg14.jpg';
    randImages[13][1] = 'Muscles and tendons of the head and neck: écorché figure';
    randImages[13][2] = 'V0008253';
    randImages[14][0] = 'home_bg15.jpg';
    randImages[14][1] = 'Watercolour illustration of a nun with bleeding eye';
    randImages[14][2] = 'L0041492';
    randImages[15][0] = 'home_bg16.jpg';
    randImages[15][1] = 'The zodiac man. Watercolour painting by a Persian artist';
    randImages[15][2] = 'L0002721';
    randImages[16][0] = 'home_bg17.jpg';
    randImages[16][1] = 'A courtesan dressing her hair';
    randImages[16][2] = 'L0022501';
    randImages[17][0] = 'home_bg18.jpg';
    randImages[17][1] = 'Pericardium channel of arm jueyin, C17/18 Chinese book art';
    randImages[17][2] = 'L0039971';


    var mainImageIndex = Math.floor(Math.random() * 18);

    
    if (mainImageIndex == 18){mainImageIndex = 17;}
    var mainImagePath = mainImagePathRoot + randImages[mainImageIndex][0];
    var mainImageId = randImages[mainImageIndex][2];
    var mainImageAlt = randImages[mainImageIndex][1] + '. ' + mainImageId + '.';
    var mainImageLink = mainImageLinkRoot + randImages[mainImageIndex][2] + '.html';
    var mainImageTitle = 'Follow this link to view the image in Wellcome Images: ' + mainImageAlt;

/*
    var picimage = document.getElementById('picimage');
    var piclink = document.getElementById('piclink');
    picimage.src = mainImagePath;
    picimage.alt = mainImageAlt;
    piclink.href = mainImageLink;
    piclink.title = mainImageTitle;
*/    
    document.getElementById('pic').innerHTML = '<a href="' + mainImageLink + '" title="' + mainImageTitle + '"><img src="' + mainImagePath + '" alt="' + mainImageAlt + '" /></a>';

//    setTimeout('unhidePic',.2);
    
   }

function unhidePic(){
    document.getElementByID('pic').style.display = 'block';
}
   
   function setSearchBoxText() {
	var $sb = $('#navbarform input[type="text"]')
        $sb.attr('value','Quick catalogues search');
        $sb.addClass('knockedback');
        $sb.focus(function(e){
		$sb.attr('value','');
		$sb.removeClass('knockedback');
        });
   }
/*
function handlesurvey() {
	var surveyTrackingCode = "SurveyStarted20110609";
    var cookieKey = "hideSurvey" + surveyTrackingCode;
    var survey = $.cookie(cookieKey);
    //console.log(survey);	
    if (survey != 'yes') {
        window.setTimeout(function() {
            $("#survey").css('position', 'fixed').css('left', 20).fadeIn();
			$("#survey").css('display', 'block')
        }, 3000); // 3000 = 3 seconds
        $("#survey a:not(#survey-close)").click(function() {
            $("#survey").hide();
            $.cookie(cookieKey, "yes",{expires: new Date(2012,06,08)});
            //tracking code for survey link to go here
            try {
                // var pageTracker = _gat._getTracker(gaKey);
				var pageTracker = _gat._getTracker("UA-5739409-1");
                pageTracker._trackPageview(surveyTrackingCode);
            }
            catch (err) { }
        });
        $("#survey-close").click(function() {
            $("#survey").hide();
            $.cookie(cookieKey, "yes",{expires: new Date(2012,06,08)});
            //tracking code for closed link to go here
            return false;
        });
    }
}
*/
$(document).ready(function () {
//   $("#survey").hide();
//   $("#survey").removeClass('hidden');
	google.load('gdata', '1.x');
	google.setOnLoadCallback(runOnGoogleLoad);
	runOnDomLoad();
	});

