﻿/// <reference path="jquery-1.3.2-vsdoc.js" />
/** 
#  * Copyright (c) 2008 Pasyuk Sergey (www.codeasily.com) 
#  * Licensed under the MIT License: 
#  * http://www.opensource.org/licenses/mit-license.php 
#  *  
#  * Splits a <ul>/<ol>-list into equal-sized columns. 
#  *  
#  * Requirements:  
#  * <ul> 
#  * <li>"ul" or "ol" element must be styled with margin</li> 
#  * </ul> 
#  *  
#  * @see http://www.codeasily.com/jquery/multi-column-list-with-jquery 
#  */
jQuery.fn.makeacolumnlists = function(settings) {
    settings = jQuery.extend({
        cols: 3, 	// set number of columns
        colWidth: 0, 	// set width for each column or leave 0 for auto width
        equalHeight: false, 	// can be false, 'ul', 'ol', 'li'
        startN: 1		// first number on your ordered list
    }, settings);

    if (jQuery('> li', this)) {
        this.each(function(y) {
            var y = jQuery('.li_container').size(),
		    	height = 0,
		        maxHeight = 0,
				t = jQuery(this),
				classN = t.attr('class'),
				listsize = jQuery('> li', this).size(),
				percol = Math.ceil(listsize / settings.cols),
				contW = t.width(),
				bl = (isNaN(parseInt(t.css('borderLeftWidth'), 10)) ? 0 : parseInt(t.css('borderLeftWidth'), 10)),
				br = (isNaN(parseInt(t.css('borderRightWidth'), 10)) ? 0 : parseInt(t.css('borderRightWidth'), 10)),
				pl = parseInt(t.css('paddingLeft'), 10),
				pr = parseInt(t.css('paddingRight'), 10),
				ml = parseInt(t.css('marginLeft'), 10),
				mr = parseInt(t.css('marginRight'), 10),
				col_Width = Math.floor((contW - (settings.cols - 1) * (bl + br + pl + pr + ml + mr)) / settings.cols);
            if (settings.colWidth) {
                col_Width = settings.colWidth;
            }
            var colnum = 1,
				percol2 = percol;
            jQuery(this).addClass('li_cont1').wrap('<div id="li_container' + (++y) + '" class="li_container"></div>');
            if (settings.equalHeight == 'li') {
                jQuery('> li', this).each(function() {
                    var e = jQuery(this);
                    var border_top = (isNaN(parseInt(e.css('borderTopWidth'), 10)) ? 0 : parseInt(e.css('borderTopWidth'), 10));
                    var border_bottom = (isNaN(parseInt(e.css('borderBottomWidth'), 10)) ? 0 : parseInt(e.css('borderBottomWidth'), 10));
                    height = e.height() + parseInt(e.css('paddingTop'), 10) + parseInt(e.css('paddingBottom'), 10) + border_top + border_bottom;
                    maxHeight = (height > maxHeight) ? height : maxHeight;
                });
            }
            for (var i = 0; i <= listsize; i++) {
                if (i >= percol2) { percol2 += percol; colnum++; }
                var eh = jQuery('> li:eq(' + i + ')', this);
                eh.addClass('li_col' + colnum);
                if (jQuery(this).is('ol')) { eh.attr('value', '' + (i + settings.startN)) + ''; }
                if (settings.equalHeight == 'li') {
                    var border_top = (isNaN(parseInt(eh.css('borderTopWidth'), 10)) ? 0 : parseInt(eh.css('borderTopWidth'), 10));
                    var border_bottom = (isNaN(parseInt(eh.css('borderBottomWidth'), 10)) ? 0 : parseInt(eh.css('borderBottomWidth'), 10));
                    mh = maxHeight - (parseInt(eh.css('paddingTop'), 10) + parseInt(eh.css('paddingBottom'), 10) + border_top + border_bottom);
                    eh.height(mh);
                }
            }
            jQuery(this).css({ cssFloat: 'left', width: '' + col_Width + 'px' });
            for (colnum = 2; colnum <= settings.cols; colnum++) {
                if (jQuery(this).is('ol')) {
                    jQuery('li.li_col' + colnum, this).appendTo('#li_container' + y).wrapAll('<ol class="li_cont' + colnum + ' ' + classN + '" style="float:left; width: ' + col_Width + 'px;"></ol>');
                } else {
                    jQuery('li.li_col' + colnum, this).appendTo('#li_container' + y).wrapAll('<ul class="li_cont' + colnum + ' ' + classN + '" style="float:left; width: ' + col_Width + 'px;"></ul>');
                }
            }
            if (settings.equalHeight == 'ul' || settings.equalHeight == 'ol') {
                for (colnum = 1; colnum <= settings.cols; colnum++) {
                    jQuery('#li_container' + y + ' .li_cont' + colnum).each(function() {
                        var e = jQuery(this);
                        var border_top = (isNaN(parseInt(e.css('borderTopWidth'), 10)) ? 0 : parseInt(e.css('borderTopWidth'), 10));
                        var border_bottom = (isNaN(parseInt(e.css('borderBottomWidth'), 10)) ? 0 : parseInt(e.css('borderBottomWidth'), 10));
                        height = e.height() + parseInt(e.css('paddingTop'), 10) + parseInt(e.css('paddingBottom'), 10) + border_top + border_bottom;
                        maxHeight = (height > maxHeight) ? height : maxHeight;
                    });
                }
                for (colnum = 1; colnum <= settings.cols; colnum++) {
                    var eh = jQuery('#li_container' + y + ' .li_cont' + colnum);
                    var border_top = (isNaN(parseInt(eh.css('borderTopWidth'), 10)) ? 0 : parseInt(eh.css('borderTopWidth'), 10));
                    var border_bottom = (isNaN(parseInt(eh.css('borderBottomWidth'), 10)) ? 0 : parseInt(eh.css('borderBottomWidth'), 10));
                    mh = maxHeight - (parseInt(eh.css('paddingTop'), 10) + parseInt(eh.css('paddingBottom'), 10) + border_top + border_bottom);
                    eh.height(mh);
                }
            }
            jQuery('#li_container' + y).append('<div style="clear:both; overflow:hidden; height:0px;"></div>');
        });
    }
}

jQuery.fn.uncolumnlists = function() {
    jQuery('.li_cont1').each(function(i) {
        var onecolSize = jQuery('#li_container' + (++i) + ' .li_cont1 > li').size();
        if (jQuery('#li_container' + i + ' .li_cont1').is('ul')) {
            jQuery('#li_container' + i + ' > ul > li').appendTo('#li_container' + i + ' ul:first');
            for (var j = 1; j <= onecolSize; j++) {
                jQuery('#li_container' + i + ' ul:first li').removeAttr('class').removeAttr('style');
            }
            jQuery('#li_container' + i + ' ul:first').removeAttr('style').removeClass('li_cont1').insertBefore('#li_container' + i);
        } else {
            jQuery('#li_container' + i + ' > ol > li').appendTo('#li_container' + i + ' ol:first');
            for (var j = 1; j <= onecolSize; j++) {
                jQuery('#li_container' + i + ' ol:first li').removeAttr('class').removeAttr('style');
            }
            jQuery('#li_container' + i + ' ol:first').removeAttr('style').removeClass('li_cont1').insertBefore('#li_container' + i);
        }
        jQuery('#li_container' + i).remove();
    });
}

function GetVideoThumb(videoId) {
    
        $.getJSON("http://vimeo.com/api/oembed.json?url=http://vimeo.com/757219&callback=?", function(json) {
            $(this).parent().prepend($("<img/>").attr("src", json.thumbnail_url));
        });
    

}
function GetVideoEmbed(videoId) {
    $.getJSON("HTTP://vimeo.com/api/oembed.json?url=http://vimeo.com/757219&callback=?", function(json) {
        $(this).parent().prepend(json.html);
    });
}
$(document).ready(function() {
    $("a.videothumb").each(
    function() {
        var videoid = $(this).text();
        var element = $(this);
        $(element).css("display", "block");
        $(element).removeClass().addClass("videothumbloaded");
        $.getJSON("http://vimeo.com/api/oembed.json?url=http://vimeo.com/" + videoid + "&maxwidth=360&callback=?", function(json) {

            $(element).html($("<img/>").attr("src", json.thumbnail_url));
        });
    })
    $("div.videoembed").each(
        function() {
            var videoid = $(this).text();
            var element = $(this);
            $(element).text("Loading...");
            $(element).removeClass().addClass("videoembedloaded");

            $.getJSON("http://vimeo.com/api/oembed.json?url=http://vimeo.com/" + videoid + "&maxheight=400&portrait=false&title=false&byline=false&color=e03907&callback=?", function(json) {
                $(element).html(json.html);
            });
        })
});


