$('document').ready(function() {
	if($.cookie('is_d') == 'y') {
		new_main();
		return false;
	}

	$('.UsefulLinkHeader').hover(
		function() {
			$(this).addClass("hover");
		},
		function() {
			$(this).removeClass("hover");
		}
	).click (
		function() {
			$('.UsefulLinkList').hide();
			$('.UsefulLinkList', $(this).parent()).show();
			scroll(0,0);
		}
	);

	$('.grandRoundsWrapper').hover(
		function() {
			$(this).addClass("hover");
		},
		function() {
			$(this).removeClass("hover");
		}
	).click(
		function() {
			var lks = $('a', $(this));
			var lk = $(lks[0]);
			var url = lk.attr('href');		
			if(lk.hasClass('wc_popup')) {
				var opts = "width=590,height=450,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,copyhistory=no,scrollbars=yes";
				open_ext_win(url, 'webcasts', opts);
			}
			else {
				if(lk.hasClass('external_link')) {
					var new_win = window.open(url,'new_win');
					new_win.focus();
				}
				else {
					window.location = url;
				}
			}
			return false;
		}
	);
	$('.external_link').click(
		function() {
			var url = $(this).attr('href');
			var new_win = window.open(url,'new_win');
			new_win.focus();
			return false;
		}
	);
	$('.wc_popup_home').click (
		function() {
			var lk = $(this);
			var url = lk.attr('href');
			var opts = "width=590,height=450,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,copyhistory=no,scrollbars=yes";
			open_ext_win(url, 'webcasts', opts);
			return false;
		}
	);
	$('#breakingNews dt a').click (	
		function() {
			if(! test_cookie()) {
				var lk = $(this);
				var url = lk.attr('href');
				var nurl = '/login.aspx?url=' + url;
				window.location = nurl;
				return false;
			}			
		}
	);

	//TODO: the following must be avoided. Please make image bank dynamic.
	var ib = $('#MAIN1');
	if(ib) {
		var nl = '<div id="MAINSUB14" style="display:none;" class="imgBankWrapper"><a href="/cimicosis.aspx" class="imgBankItem">Cimicosis</a></div>';
		ib.append(nl);
	}
	ib = $('#MAIN2');
	if(ib) {
		var nl = '<div id="MAINSUB27" style="display:none;" class="imgBankWrapper"><a href="/reed\'s-syndrome.aspx" class="imgBankItem">Reed\'s Syndrome</a></div>';
		ib.append(nl);

		nl = '<div id="MAINSUB28" style="display:none;" class="imgBankWrapper"><a href="/hand,-foot-and-mouth-disease.aspx" class="imgBankItem">Hand, Foot and Mouth Disease</a></div>';
		ib.append(nl);
	}
	ib = null;
	ib = $('#MAIN3');
	if(ib) {
		var nl = '<div id="MAINSUB36" style="display:none;" class="imgBankWrapper"><a href="/clear-cell-acanthoma.aspx" class="imgBankItem">Clear Cell Acanthoma</a></div>';
		ib.append(nl);

		nl = '<div id="MAINSUB37" style="display:none;" class="imgBankWrapper"><a href="granuloma-pyogenicum-presenting-as-plantar-pseudomelanoma.aspx" class="imgBankItem">Granuloma Pyogenicum Presenting as Plantar Pseudomelanoma</a></div>';
		ib.append(nl);

		nl = '<div id="MAINSUB38" style="display:none;" class="imgBankWrapper"><a href="/radiotherapy-associated-cutaneous-angiosarcoma.aspx" class="imgBankItem">Radiotherapy-Associated Cutaneous Angiosarcoma</a></div>';
		ib.append(nl);
	}

	var mths = $('.month_selection');
	if(mths) {
		$('#cal_pre').click( function() {
			cur_page = cur_page -1;
			process_calendar();
			return false;
		});

		$('#cal_next').click( function() {
			cur_page = cur_page +1;
			process_calendar();
			return false;
		});	

		$('#cal_pre').hide();	
		process_calendar();
	}

	$('#printLink').click (
		function() {
			window.print();
			return false;
		}
	);
});

function new_main() {
	$('.grandRoundsWrapper').hover(
		function() {
			$(this).addClass("hover");
		},
		function() {
			$(this).removeClass("hover");
		}
	).click(
		function() {
			var lks = $('a', $(this));
			var lk = $(lks[0]);
			var url = lk.attr('href');		
			if(lk.hasClass('wc_popup')) {
				var opts = "width=590,height=450,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,copyhistory=no,scrollbars=yes";
				open_ext_win(url, 'webcasts', opts);
			}
			else {
				if(lk.hasClass('external_link')) {
					var new_win = window.open(url,'new_win');
					new_win.focus();
				}
				else {
					window.location = url;
				}
			}
			return false;
		}
	);
	$('.external_link').click(
		function() {
			var url = $(this).attr('href');
			var new_win = window.open(url,'new_win');
			new_win.focus();
			return false;
		}
	);
	$('.wc_popup_home').click (
		function() {
			var lk = $(this);
			var url = lk.attr('href');
			var opts = "width=590,height=450,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,copyhistory=no,scrollbars=yes";
			open_ext_win(url, 'webcasts', opts);
			return false;
		}
	);
	$('#breakingNews dt a').click (	
		function() {
			if(! test_cookie()) {
				var lk = $(this);
				var url = lk.attr('href');
				var nurl = '/login.aspx?url=' + url;
				window.location = nurl;
				return false;
			}			
		}
	); 
	$('#mainMenu a').each (
        function() {
            var lk = $(this);
            var url = lk.attr('href');
            if((url== '/clinical-trials.asp') || (url=='/image-bank-list.aspx')) {
                lk.click(
                    function() {
			            if(! test_cookie()) {                                     
			                var lk = $(this);
			                var url = lk.attr('href');
			                var nurl = '/login.aspx?url=' + url;
			                window.location = nurl;
			                return false;                        
                        }
                    }
                );
            }
        }    	
	);   
}

function test_cookie() {
	if($.cookie('logged') != 't') {
		return false;
	}
	return true;
}

function delete_cookie() {
	$.cookie('logged', null)
}

function open_ext_win(url, name, options) {
	var win = window.open(url , name, options);
	win.focus();
}

function pop_up(url) {
	opts = "width=590,height=450,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,copyhistory=no,scrollbars=yes";
	wnd = window.open(url , "popupbgr", opts);
	wnd.focus();
}

jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

var cur_page = 1;
var page_size = 15;
var current_year = 0;
var current_month = 0;
var processed_nodes = new Array();

function process_calendar() {
	var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

	var mths = $('.month_selection');
	var yrs = $('.year_selection');

	for(var i=0; i<mths.length; i++) {
		if(i < (cur_page * page_size)) {
			var m = parseInt($(mths[i]).html(),10);
			var item = $(mths[i]).parents(".grandRoundsWrapper").attr('id');

			if( $.inArray(item, processed_nodes) == -1) {
				if (m != current_month) {
					current_month = m;
					current_year = $(yrs[i]).html();		
					var display_html = '<h2 class="date">' + m_names[current_month -1] + ' ' + current_year + '</h2>';
	
					$(mths[i]).parents(".grandRoundsWrapper").before(display_html);
					$(mths[i]).parents(".grandRoundsWrapper").show();			
					processed_nodes.push(item);
				}
				else {
					$(mths[i]).parents(".grandRoundsWrapper").show();			
					processed_nodes.push(item);
				}
			}
		}
		else {
			$(mths[i]).parents(".grandRoundsWrapper").hide();			
		}
	}

	if(mths.length == processed_nodes.length) {
		$('#cal_next').hide();
	}
}

/***************************************************************/                                             
/* Code add by lecoati at 27/01/10 (@lecoati)                  */
/***************************************************************/

/* separate concept */
$('document').ready(function() 
{

    //Init
    $('.publi-box-content').hide() ;

    if ($('#publi-summary p').text() != '')
    {	
    	$('#publi-summary').show();
    }
    else if ($('#publi-intro p').text() != '')
    {	
    	$('#publi-intro').show();
	$('#publi-option-intro a').replaceWith('<strong>Introduction</strong>');
    }
    else
    {	
    	$('#publi-content').show();
	$('#publi-option-content a').replaceWith('<strong>Content</strong>');
    }

    var hasFigure = false;

    //Append legend for each img
    $('.publi-main img').each(
        function()
        { 
            $(this).wrap('<div class="publi-tablesfigures-container"></div>');
            if($(this).attr('alt') != '') { $(this).after('<p class="publi-legend">' + $(this).attr('alt') + '</p>'); }            
        });
    
    //Append legend for each table
    $('.publi-main Table').each(
        function()
        { 
            $(this).wrap('<div class="publi-tablesfigures-container"></div>');
            if($(this).attr('summary') != '') { $(this).after('<p class="publi-legend">' + $(this).attr('summary') + '</p>'); }
        });
       
    //Add each table and img in tables & figures layer
    $('.publi-tablesfigures-container').each( function(){ $('#publi-tablesfigures').append($(this).clone(true)); hasFigure = true });

    if (!hasFigure)
	$('#publi-tablesfigures').append('<p>This article does not have any tables or figures</p>');

    //Content type selector    
    $("#publi-menu-concept li").click( 
        function() 
        {   
            //Show only the selected content
            switch ($(this).attr('id'))
            {
                case 'publi-option-summary': { $('.publi-box-content').hide() ; $('#publi-summary').show();  break }
                case 'publi-option-intro': { $('.publi-box-content').hide() ; $('#publi-intro').show();  break }
                case 'publi-option-content': { $('.publi-box-content').hide() ; $('#publi-content').show();  break }
                case 'publi-option-tablesfigures': { $('.publi-box-content').hide() ; $('#publi-tablesfigures').show();  break }
                case 'publi-option-conclusion': { $('.publi-box-content').hide() ; $('#publi-conclusion').show();  break }
                case 'publi-option-references': { $('.publi-box-content').hide() ; $('#publi-references').show();  break }
                case 'publi-option-full': 
			{ 
				$('.publi-box-content').hide(); 

				if ($('#publi-summary p').text() != '')
    				{	
    					$('#publi-summary').show();
    				}

				if ($('#publi-intro p').text() != '')
    				{	
    					$('#publi-intro').show();
    				}

				$('#publi-content').show();

				if ($('#publi-conclusion p').text() != '')
    				{	
    					$('#publi-conclusion').show();
    				}

				if ($('#publi-references p').text() != '' || $('#publi-references ol').text())
    				{	
    					$('#publi-references').show();
    				}

			}
            }
            
            //Update the menu items            
            $('#publi-menu-concept li strong').replaceWith('<a href="#">' + $('#publi-menu-concept li strong').text() + '</a>');
            $(this).find('a').replaceWith('<strong>' + $(this).find('a').text() + '</strong>');
        });

});

/***************************************************************/                                             
/* Code add by lecoati at 27/01/10 (@lecoati)                  */
/***************************************************************/

/* calendar */
$(document).ready(function(){
				
		//Get max and min year and last month item
		var startyear = $('.grandRoundsWrapper').eq(0).attr('class').split(' ')[1].substring(8);

		var stopyear = "-0~" + ($('.grandRoundsWrapper').eq($('.grandRoundsWrapper').size()-1).attr('class').split(' ')[1].substring(8) - startyear);
		var currentMonth = $('.grandRoundsWrapper').eq(0).attr('class').split(' ')[1].substring(6, 8);
		
		//Create the calendar 
		$("#example_1").monthpicker({
			elements: [
				{tpl:"year",opt:{ range: stopyear, value: parseInt(startyear)}},
				{tpl:"month",opt:{value: parseInt(currentMonth)}}],
			onChanged: callback});
		
		//Init first value
		initCalendarValue(currentMonth, startyear);
		
		//Change calendar value
		function callback(data,$e)
		{
			initCalendarValue(data['month'], data['year']);
		}
		
		//Get the name of month
		function getMonth(month)
		{
			switch (month.toString())
			{
				case '01': { return 'January'; break }
				case '02': { return 'February'; break }
				case '03': { return 'March'; break }
				case '04': { return 'April'; break }
				case '05': { return 'May'; break }
				case '06': { return 'June'; break }
				case '07': { return 'July'; break }
				case '08': { return 'August'; break }
				case '09': { return 'September'; break }
				case '10': { return 'October'; break }
				case '11': { return 'November'; break }
				case '12': { return 'December'; break }
			}
		}
			
		//Init items and controls value
		function initCalendarValue(month, year)
		{
			//Hide all items
			$(".grandRoundsWrapper").hide();
			
			//Add 0 if month < 10
			if (parseInt(month) < 10) { month = "0" + parseInt(month); }

			if ( $('.event_' + month + year).size() > 0)
			{
				//Show current items
				$('.event_' + month + year).show();
				$('.event_nofound').hide();
			}
			else
			{
				//If no item, display mesage
				$('.event_nofound').show();
			}
			
			//Init title
			$('.date').text(getMonth(month) + ' ' + year);			
		
		}
		
	});


/* Month Picker v2.0 (jQuery Plugins) */
jQuery.fn.monthpicker=function(opts,callback){if(typeof opts=="function"){opts.onChanged=opts;}else{if(typeof opts=="string"){var s=opts.split('-');opts={elements:[{tpl:'year',opt:{value:parseInt(s[0])}},{tpl:'month',opt:{value:parseInt(s[1])}}]};}if(typeof callback=="function"){opts.onChanged=callback;}}opts=jQuery.extend({elements:[{tpl:'year'},{tpl:'month'}],onChanged:false},opts);var templates=jQuery.extend({year:{key:'year',type:'dropdown',caption:'Year:',range:'-10~0',value:new Date().getFullYear()},month:{key:'month',type:'button',caption:'Month:',text:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],range:'1~12',value:new Date().getMonth()+1},quarter:{key:'quarter',type:'button',caption:'Quarter',text:['Q1','Q2','Q3','Q4'],range:'1~4',value:1}},opts.templates);return this.each(function(){var $container=jQuery(this);var $body=jQuery("<tr></tr>");var currentValue={};for(var i=0;i<opts.elements.length;i++){add(opts.elements[i]);}jQuery("<table></table>").append($body).appendTo($container.html(""));return this;function toArray(str,cur){if(str.indexOf('~')==-1){return[cur];}var sY,eY,y=str.split("~");if(y[0].charAt(0)=='-'||y[1].charAt(0)=='+'){sY=cur+parseInt(y[0],10);eY=cur+parseInt(y[1],10);}else if(y[0].match(/^\d*$/)&&y[1].match(/^\d*$/)){sY=parseInt(y[0],10);eY=parseInt(y[1],10);}else{return[cur];}var p=0,o=new Array;for(var i=sY;i<=eY;i++){o[p++]=i;}return o;}function add(element){eval("var tpl = templates."+(element.tpl));if(!tpl){return false;}tpl=jQuery.extend(tpl,element.opt);set(tpl.key,tpl.value);var range=toArray(tpl.range,tpl.value);var text=(tpl.text||range);var className='';if(tpl.type=="dropdown"){var $list=jQuery('<ul><li class="li"><!--[if IE 6]><a class="li" href="javascript:;"><table><tr><td><![endif]--><a href="javascript:;" ><span class="selected">'+tpl.value+'</span></a><ul></ul><!--[if IE 6]></td></tr></table></a><![endif]--></li></ul>');var $items=$list.find('ul');for(var i=0;i<range.length;i++){className=(tpl.value==range[i])?"selected":"";jQuery('<li class="li"></li>').append(jQuery('<a href="javascript:;" title="'+range[i]+'" class="'+className+'">'+text[i]+'</a>').click(function(){var $this=jQuery(this);var value=$this.attr('title');var $menu=$this.parent().parent();$menu.slideUp(0).show(1).parent().find('.selected:first').html(value);$menu.find('a').removeClass('selected');$this.addClass('selected');update(tpl.key,value,this);})).appendTo($items);}$body.append('<th class="caption">'+tpl.caption+'</th>').append(jQuery("<td></td>").append($list));}else if(tpl.type=="button"){var $items=jQuery('<td class="month"></td>');for(var i=0;i<range.length;i++){className=(tpl.value==range[i])?"selected":"";jQuery('<a href="javascript:;" title="'+range[i]+'"><span class="'+className+'">'+text[i]+'</span></a>').click(function(){var $this=jQuery(this);var value=$this.attr('title');$this.parent().find('span').removeClass('selected');$this.find('span').addClass('selected');update(tpl.key,value,this);}).appendTo($items);}$body.append('<th class="caption">'+tpl.caption+'</th>').append($items);}}function set(key,value){eval("currentValue."+key+"="+value+";");}function update(key,value,$obj){set(key,value);if(typeof opts.onChanged=="function"){opts.onChanged(currentValue,$container);}}});};

/***************************************************************/