
/**
 * KONFERENZ JAVASCRIPT
 * Version 1.0 | 16.12.2009
 * Philipp Schöfer
 */


function dump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;
	
    //The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";
	
    if(typeof(arr) == 'object') { //Array/Hashes/Objects
        for(var item in arr) {
            var value = arr[item];
	 
            if(typeof(value) == 'object') { //If it is an array,
                dumped_text += level_padding + "'" + item + "' ...\n";
                dumped_text += dump(value,level+1);
            } else {
                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }
    } else { //Stings/Chars/Numbers etc.
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
} 

function scrolling(init) 
{		
    if ( $(init) != null)
    {
        var scroller = new Fx.Scroll(window);
        var el = $(init).getElements('a');
        var index=0;for (var i=0;i<=el.length-1;i++)
        {
            var element = el[i];
            $(element).addEvent('click', function(){
                scroller.toElement(this.href.substring(this.href.lastIndexOf('#')+1,this.href.length));
            });
        }
    }
}
	
    
/*
 *	BROWSER BOOKMARK
 */

function addBookmark(title,url) {
		
    if( document.all ) {
        window.external.AddFavorite( url, title);
    }
    else if (window.sidebar) {
        window.sidebar.addPanel(title, url,"");
    }
    else if( window.opera && window.print ) {
        return true;
    }
}


window.addEvent('domready', function() {

    if ($('topspeaker')) {

        //hole die Topspeaker
        var module	=	$('topspeaker').getProperty('title');
        var host	=	window.location.host;
        var dev         =	$('topspeaker').getProperty('rel');
        var lang         =	$('topspeaker').getProperty('lang');
        
        if(dev == 1) {
            var url		=	'http://'+host+'/develop/konferenzen/'+module+'/objects/topspeaker.php?module='+module+'&development='+dev+'&lang='+lang;
        } else {
            var url		=	'http://'+host+'/konferenzen/'+module+'/objects/topspeaker.php?module='+module+'&development='+dev+'&lang='+lang;
        }

        var data	=	new Ajax(url, {
            method: 'get',
            update: $('topspeaker')
        });
        data.request();
        ( function () {
            data.request();
        }).periodical(8000);
    }

    if ($('topspeaker2'))
    {
        //hole die Topspeaker
        var module	=	$('topspeaker2').getProperty('title');
        var host	=	window.location.host;
        url		=	'http://'+host+'/konferenzen/ext_scripts/v2/php/topspeaker.php?module='+module;
        var data	=	new Ajax(url, {
            method: 'get',
            update: $('topspeaker2')
        });
        data.request();
        ( function () {
            data.request();
        }).periodical(8000);
    }

    if ($('random_sponsors'))
    {

        //hole die Topspeaker
        var module	=	$('random_sponsors').getProperty('title');
        var host	=	window.location.host;
        var dev         =	$('random_sponsors').getProperty('rel');
        var lang         =	$('random_sponsors').getProperty('lang');

        if(dev == 1) {
            var url		=	'http://'+host+'/develop/konferenzen/'+module+'/objects/randomSponsors.php?module='+module+'&development='+dev+'&lang='+lang;
        } else {
            var url		=	'http://'+host+'/konferenzen/'+module+'/objects/randomSponsors.php?module='+module+'&development='+dev+'&lang='+lang;
        }

        var data	=	new Ajax(url, {
            method: 'get',
            update: $('random_sponsors')
        });
        data.request();
        ( function () {
            data.request();
        }).periodical(5000);
    }

	
    if ($('main').getElements('.video')) {
        var videos	=	$('main').getElements('.video');
        videos.each(function(item,index) {
            var src		=	item.getProperty('src');
            var img		=	item.getProperty('img');
            var height	=	item.getProperty('height');
            var width	=	item.getProperty('width');
            item.setHTML('<object wmode="transparent"><param name="wmode" value="transparent"/><param name="FlashVars" value="file='+src+'&amp;backcolor=0x000000&amp;frontcolor=0xCCCCCC&amp;lightcolor=0x557722&amp;image='+img+'"/><embed type="application/x-shockwave-flash" src="http://entwickler.de/zonen/magazine/videos/flvplayer.swf" style="" id="single" name="single" quality="high" allowfullscreen="true" flashvars="file='+src+'&amp;backcolor=0x000000&amp;frontcolor=0xCCCCCC&amp;lightcolor=0x557722&amp;image='+img+'" height="'+height+'" width="'+width+'"></object>');
        });
    }
	
		
    if ($('twitter')) {
			
        twitterContainer	=	$('twitter');
        twitterID			=	twitterContainer.getProperty('user');
        twitterName			=	twitterContainer.getProperty('name');
        twitterLimit		=	4;
			
        // http://twitter.com/statuses/user_timeline/*twitterID*.json
        twitterRequestUrl		=	"/konferenzen/ext_scripts/v1/php/twitterJSON.php?twitterID=" + twitterID;

			
			
	
        var twitterJSON = new Json.Remote(twitterRequestUrl, {
            onComplete: function(twitter){
                // alert(dump(twitter));
                sortTwitterData(twitter);
            }
            }).send();
			
			
			
        function sortTwitterData(data) {
            //alert(dump(data[0]));
				
            // auslesen der elemente des twitterObjects
            twitterObjectLength	=	data.length;
            twitterObject		=	data;
            twitterResults		= 	new Array();
				
				
            var	twitterList	=	new Element('ul').setProperty('id','twitterlists');
				
            twitterObject.each(function(item,index) {
                if (index < twitterLimit)	{
                    twitterResults[index]				= 	new Array();
                    twitterResults[index]["name"]		=	twitterObject[index]["user"]["name"];
                    twitterResults[index]["location"]	=	twitterObject[index]["user"]["location"];
                    twitterResults[index]["url"]		=	"http://twitter.com/"+twitterObject[index]["user"]["name"];
                    twitterResults[index]["date"]		=	twitterObject[index]["created_at"];
                    twitterResults[index]["text"]		=	twitterObject[index]["text"];
						
						
                    // Datum transformieren
                    // Fri Jun 27 13:31:43 +0000 2008 => Freitag, 27. Juni, 13:31 Uhr
						
                    twitterResults[index]["date"]	=	twitterResults[index]["date"].substr(0, twitterResults[index]["date"].lastIndexOf("+"));


                    // Urls in texten finden und ggfls formatieren
                    if (twitterResults[index]["text"].contains('http')) {
                        twitterResults[index]["text"] = twitterResults[index]["text"].replace(/(http:\/\/\S*)/g, '<a href="$1">$1<\/a> ');
                    } else if (twitterResults[index]["text"].contains('www') ){
                        twitterResults[index]["text"] = twitterResults[index]["text"].replace(/(www.\S*)/g, '<a href="http://$1">$1<\/a> ');
                    }
						
                    // erstellen des HTML Quellcoed
                    li	=	new Element('li').setStyle('visibility','hidden');
                    div	=	new Element('div').setProperty('class','content');
                    // new Element('a').setProperty('href',twitterResults[index]["url"]).setText(twitterResults[index]["name"]+": ").injectInside(div);
                    new Element('span').setHTML(twitterResults[index]["text"]).injectInside(div);
                    new Element('div').setText(twitterResults[index]["date"]).setProperty('class','date').injectInside(div);
                    div.injectInside(li);
                    li.injectInside(twitterList);
                }
                if (index == twitterLimit)	{
                    li	=	new Element('li').setStyle('visibility','hidden');
                    new Element('div').setProperty('class','content').setHTML("Latest <b>"+ twitterLimit +"</b> Messages from Twitter.<br> More under <a href='http://twitter.com/"+twitterName+"'>http://twitter.com/"+twitterName+"</a> ").injectInside(li);
						
                    li.injectInside(twitterList);
                }
            });

				
            twitterList.injectInside(twitterContainer);
            // shcnell holen der höhe und sofort verstecken!
            twitterContainerHeight	=	$('twitter').getStyle('height');
			
				
            if (window.ie != true) {
                // alert(twitterContainerHeight);
                twitterContainer.setStyle('height', 70);
					
                new Fx.Style(twitterContainer, 'height', {
                    duration: 250,
                    transition: Fx.Transitions.linear
                    }).start(70,twitterContainerHeight);
            } else {
                col3Height	=	col3.getStyle('height').toInt();
                col3.setStyle('height', col3Height+600);
            }

					
            twitterListings	=	$('twitterlists').getElements('li');
            twitterListings.each(function(item,index) {
                ( function(){
                    new Fx.Style(item, 'opacity', {
                        duration: 250,
                        transition: Fx.Transitions.linear
                        }).start(0.0,1.0);
                }).delay(500*(index+1));
            });
				
				
        // einfaden und ausfahren der twitterbox
        }
    }
	
	
	
	
	
	
	
    if ($('generateSidebar'))
    {
        if ($('sessions-js'))
        {
            new Element('h2').setText('Sessions').injectInside('col3_content');
        }
			
        // hole alle h3s
        headlines	=	$('col1_content').getElements('h3');
        output	=	new Element('div',{
            'id': 'col3_anchors',
            'class': 'box'
        });
        ul		=	new Element('ul');
        headlines.each(function(item, index)
        {
					
            if (item.getElement('span[class=company]'))
            {
                company	=	item.getElement('span[class=company]').getText();
                item.getElement('span[class=company]').setText('');
                name	=	item.getText('');
                item.getElement('span[class=company]').setText(company);
            }
            else if (item.getElement('span[class=info]'))
            {
                company	=	item.getElement('span[class=info]').getText();
                item.getElement('span[class=info]').setText('');
                name	=	item.getText('');
                item.getElement('span[class=info]').setText(company);
            }
            else
            {
                name	=	item.getText('');
            }
            li	=	new Element('li');
            a	=	new Element('a').setText(name).setStyle('cursor','pointer');
            a.addEvent('click', function()
            {
                scroller.toElement(item);
            });
            a.injectInside(li);
            li.injectInside(ul);
				
        });
				
        ul.injectInside(output);
        output.injectInside('col3_content');
		
		
		
		

		
    }
    else
    {
        scrolling('col3_anchors');
    }
		
	
	
    // Tool Tips
	
    var Tips1 = new Tips($$('.tooltip'));
    var Tips2 = new Tips($$('.tooltip_arrow'), {
        className: 'arrow'
    });

	
    if ( $('feed-icon') != null)
    {
        $('feed-icon').addEvent('mouseover', function()	{
            this.src='/konferenzen/img/layout/feed-active.png';
        });
        $('feed-icon').addEvent('mouseout', function()	{
            this.src='/konferenzen/img/layout/feed-inactive.png';
        });
        $('blog-icon').addEvent('mouseover', function()	{
            this.src='/konferenzen/img/layout/blog-active.png';
        });
        $('blog-icon').addEvent('mouseout', function()	{
            this.src='/konferenzen/img/layout/blog-inactive.png';
        });
        $('flickr-icon').addEvent('mouseover', function(){
            this.src='/konferenzen/img/layout/blog-active.png';
        });
        $('flickr-icon').addEvent('mouseout', function(){
            this.src='/konferenzen/img/layout/blog-inactive.png';
        });
        $('speaker-icon').addEvent('mouseover', function(){
            this.src='/konferenzen/img/layout/blog-active.png';
        });
        $('speaker-icon').addEvent('mouseout', function(){
            this.src='/konferenzen/img/layout/blog-inactive.png';
        });
    }
	
    if ( $('toplink') != null)
    {
        $('toplink').addEvent('click', function() {
            scroller.toTop();
        });
    }
		
    var scroller = new Fx.Scroll(window);
    var el	=	$('col1_content').getElements('a[name=top]');
    for (var i=0;i<=el.length-1;i++)
    {
        var element	= el[i];
        $(element).addEvent('click', function() {
            scroller.toTop();
        });
    }

	




    if (navigator.appName.indexOf("Explorer") != -1)
    {
        var col1Height	=	$('col1').getStyle('height');
        var col3Height	=	$('col3').getStyle('height');
        col1Height	=	col1Height.replace('px','');
        col1Height	=	parseInt(col1Height);
        col3Height	=	col3Height.replace('px','');
        col3Height	=	parseInt(col3Height);
        if (col1Height >= col3Height)
        {
            $('col3').setStyle('height', col1Height);
        }
			
    }


});


/* Googlemaps Implementierung */

var googleMaps	=	new Array();
var	googleAdressIndex	=	"";
var map			=	new Array();
var geocoder	=	new Array();
	
window.addEvent('load', function() {
    if (googleMaps.length > 0) {
        containerMaps	=	$('col1').getElements('div[id=google]');
        googleMaps.each(function(item, index){
            /* Google API:begin --------------------------------------------------- */
            map[index] 			= null;
            geocoder[index] 	= null;
						
            containerMaps[index].setStyles({
                'height':375,
                'margin':'0px 0px 0px 0px',
                'overflow':'hidden'
            });

							
            if (GBrowserIsCompatible()) {
							  
                map[index] = new GMap2(containerMaps[index]);
								
                //map[index].setOnLoadCallback(function() { alert('fertig geladen'); });
								
                map[index].addControl(new GSmallMapControl());
                // map[index].addControl(new GScaleControl());
                geocoder[index] = new GClientGeocoder();
								
                eventTabOne	=	"<b>"+item['name']+"</b><br/>"+item['strasse']+"<br/>"+item['ort']+"<br/><a href='"+item['webseite']+"'>"+item['webseite']+"</a>";
                eventTabTwo	=	"";
								
                var tabsArray		=	new Array();
                tabsArray[0]	=	new GInfoWindowTab("Adresse", eventTabOne);
                address	=	item['adress'];
							
                if (geocoder[index]) {
                    geocoder[index].getLatLng(
                        address,
                        function(point) {
                            if (!point) {
                                alert(address + " not found");
                            }
									

                            map[index].setCenter(point, 13);
                            map[index].panDirection(0, 1);
									  
                            var marker = new GMarker(point);
                            map[index].addOverlay(marker);
                            marker.openInfoWindowTabs(tabsArray);
                            GEvent.addListener(marker, "click", function() {
                                marker.openInfoWindowTabs(tabsArray);
                            });
									
                        }
                        );
                }
            }
        /* Google API:en ----------------------------------------------------- */
        });
    }
});
	
	
	


window.addEvent('load', function() {


    // Navigation
    if ( $('navigation') != null)
    {

        var links		=	$$('#navigation li.shover');
        var homebtn             =	$('navigation').getElements('li[class=c]');
        var subitems            =	$$('#navigation ul.subitem');
        var lastItem            =	0;
        var navPosition 	= 	$('navigation').getPosition().x;
        var navheight           = 	$('navigation').getStyle('height').toInt();

        window.addEvent('resize', function(){
            navPosition = 	$('navigation').getPosition().x;
        });
        window.addEvent('load', function(){
            navPosition = 	$('navigation').getPosition().x;
        });
        for (var i=0;i<=links.length-1;i++)
        {
            var element	= links[i];
            var elmPosition = null;
            var curIndex = i;

            element.setProperty('rel',i);

            element.addEvent('mouseover', function() {
                elmPosition		=	this.getPosition().x;
                submenuPosition         = 	(elmPosition) - navPosition;
                show(parseInt(this.getProperty('rel')), submenuPosition);
            });

            element.addEvent('click', function() {
                elmPosition		=	this.getPosition().x;
                submenuPosition         = 	(elmPosition) - navPosition;
                show(parseInt(this.getProperty('rel')), submenuPosition);
            });

            subitems.addEvent('mouseleave', function() {
                hide(parseInt(this.getProperty('rel')));
            });
        }

    }

    function show(index, pos) {
        hide(lastItem);
        subitems[index].setStyles({
            'display':'block',
            'position':'absolute',
            'top': (navheight),
            'left': (pos+10)+'px',
            'z-index':'999'
        });
        lastItem = index;
    }

    function hide(index, pos) {
        subitems.setStyles({
            'display':'none'
        });
    }


    if ($('shortlinks'))
    {
        $('col3_content').empty();
        $('shortlinks').injectInside('col3_content');
			
    }	
});





// PopUp Script //

var pop = null;

function popdown() {
//if (pop && !pop.closed) pop.close();
}

function popup(obj,w,h) {
    var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
    if (!url) return true;
    w = (w) ? w += 20 : 150;  // 150px*150px is the default size
    h = (h) ? h += 25 : 150;
    var args = 'width='+w+',height='+h+',resizable,'+'scrollbars=yes';
    popdown();
    pop = window.open(url,'',args);
    return (pop) ? false : true;
}

window.onunload = popdown;
window.onfocus = popdown;


/**
 * adds the title (second h1-tag) at the end of the url in the link-object
 */
function addTitle(linkObj) {
    linkObj.href += document.getElementsByTagName("h2")[0].innerHTML;
}


//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
    var version;
    var axo;
    var e;

    // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

    try {
        // version will be set for 7.X or greater players
        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
        version = axo.GetVariable("$version");
    } catch (e) {
    }

    if (!version)
    {
        try {
            // version will be set for 6.X players only
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
            // installed player is some revision of 6.0
            // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
            // so we have to be careful.
			
            // default to the first public version
            version = "WIN 6,0,21,0";

            // throws if AllowScripAccess does not exist (introduced in 6.0r47)
            axo.AllowScriptAccess = "always";

            // safe to call for 6.0r47 or greater
            version = axo.GetVariable("$version");

        } catch (e) {
        }
    }

    if (!version)
    {
        try {
            // version will be set for 4.X or 5.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version = axo.GetVariable("$version");
        } catch (e) {
        }
    }

    if (!version)
    {
        try {
            // version will be set for 3.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
            version = "WIN 3,0,18,0";
        } catch (e) {
        }
    }

    if (!version)
    {
        try {
            // version will be set for 2.X player
            axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
            version = "WIN 2,0,0,11";
        } catch (e) {
            version = -1;
        }
    }
	
    return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
    // NS/Opera version >= 3 check for Flash plugin in plugin array
    var flashVer = -1;
	
    if (navigator.plugins != null && navigator.plugins.length > 0) {
        if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
            var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
            var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
            var descArray = flashDescription.split(" ");
            var tempArrayMajor = descArray[2].split(".");
            var versionMajor = tempArrayMajor[0];
            var versionMinor = tempArrayMajor[1];
            var versionRevision = descArray[3];
            if (versionRevision == "") {
                versionRevision = descArray[4];
            }
            if (versionRevision[0] == "d") {
                versionRevision = versionRevision.substring(1);
            } else if (versionRevision[0] == "r") {
                versionRevision = versionRevision.substring(1);
                if (versionRevision.indexOf("d") > 0) {
                    versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
                }
            }
            var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
        }
    }
    // MSN/WebTV 2.6 supports Flash 4
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
    // WebTV 2.5 supports Flash 3
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
    // older WebTV supports Flash 2
    else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
    else if ( isIE && isWin && !isOpera ) {
        flashVer = ControlVersion();
    }
    return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
    versionStr = GetSwfVer();
    if (versionStr == -1 ) {
        return false;
    } else if (versionStr != 0) {
        if(isIE && isWin && !isOpera) {
            // Given "WIN 2,0,0,11"
            tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
            tempString        = tempArray[1];			// "2,0,0,11"
            versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
        } else {
            versionArray      = versionStr.split(".");
        }
        var versionMajor      = versionArray[0];
        var versionMinor      = versionArray[1];
        var versionRevision   = versionArray[2];

        // is the major.revision >= requested major.revision AND the minor version >= requested minor
        if (versionMajor > parseFloat(reqMajorVer)) {
            return true;
        } else if (versionMajor == parseFloat(reqMajorVer)) {
            if (versionMinor > parseFloat(reqMinorVer))
                return true;
            else if (versionMinor == parseFloat(reqMinorVer)) {
                if (versionRevision >= parseFloat(reqRevision))
                    return true;
            }
        }
        return false;
    }
}

function AC_AddExtension(src, ext)
{
    if (src.indexOf('?') != -1)
        return src.replace(/\?/, ext+'?');
    else
        return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (isIE && isWin && !isOpera)
    {
        str += '<object ';
        for (var i in objAttrs)
        {
            str += i + '="' + objAttrs[i] + '" ';
        }
        str += '>';
        for (var i in params)
        {
            str += '<param name="' + i + '" value="' + params[i] + '" /> ';
        }
        str += '</object>';
    }
    else
    {
        str += '<embed ';
        for (var i in embedAttrs)
        {
            str += i + '="' + embedAttrs[i] + '" ';
        }
        str += '> </embed>';
    }

    document.write(str);
}

function AC_FL_RunContent(){
    var ret =
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
        , "application/x-shockwave-flash"
        );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
    var ret =
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
        , null
        );
    AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
    var ret = new Object();
    ret.embedAttrs = new Object();
    ret.params = new Object();
    ret.objAttrs = new Object();
    for (var i=0; i < args.length; i=i+2){
        var currArg = args[i].toLowerCase();

        switch (currArg){
            case "classid":
                break;
            case "pluginspage":
                ret.embedAttrs[args[i]] = args[i+1];
                break;
            case "src":
            case "movie":
                args[i+1] = AC_AddExtension(args[i+1], ext);
                ret.embedAttrs["src"] = args[i+1];
                ret.params[srcParamName] = args[i+1];
                break;
            case "onafterupdate":
            case "onbeforeupdate":
            case "onblur":
            case "oncellchange":
            case "onclick":
            case "ondblclick":
            case "ondrag":
            case "ondragend":
            case "ondragenter":
            case "ondragleave":
            case "ondragover":
            case "ondrop":
            case "onfinish":
            case "onfocus":
            case "onhelp":
            case "onmousedown":
            case "onmouseup":
            case "onmouseover":
            case "onmousemove":
            case "onmouseout":
            case "onkeypress":
            case "onkeydown":
            case "onkeyup":
            case "onload":
            case "onlosecapture":
            case "onpropertychange":
            case "onreadystatechange":
            case "onrowsdelete":
            case "onrowenter":
            case "onrowexit":
            case "onrowsinserted":
            case "onstart":
            case "onscroll":
            case "onbeforeeditfocus":
            case "onactivate":
            case "onbeforedeactivate":
            case "ondeactivate":
            case "type":
            case "codebase":
            case "id":
                ret.objAttrs[args[i]] = args[i+1];
                break;
            case "width":
            case "height":
            case "align":
            case "vspace":
            case "hspace":
            case "class":
            case "title":
            case "accesskey":
            case "name":
            case "tabindex":
                ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
                break;
            default:
                ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
        }
    }
    ret.objAttrs["classid"] = classid;
    if (mimeType) ret.embedAttrs["type"] = mimeType;
    return ret;
}

window.addEvent('domready', function() {

    // [main, sidebar].setStyles({
    //    '': '1px'
    //});

    var buttons = $$('div#socialButtons li.toggle ul li');
        buttons.each(function(button, idx) {
           if(button.hasClass('label')) {
                return;
           }

           button.addEvent('mouseover', function() {

                var label = button.getParent().getElement('li.label');
                var text  = button.getElement('a').getAttribute('title');

                    label.setHTML('&nbsp;' + text);
           });


        });

    var tabs = $$('div#socialButtons li.toggle');
        tabs.each(function(el, index1) {
            el.addEvent('click', function(event) {

		if(!this.hasClass('toggle')){

                    return;
                }




                var slider = this.getElement('ul');
                var effect = new Fx.Styles(slider, {duration: 250, transition: Fx.Transitions.Bounce.easeOut});
                var cornersEffect1 = new Fx.Styles(document.getElement('div#main'), {duration: 150, transition: Fx.Transitions.Bounce.easeOut});
                var cornersEffect2 = new Fx.Styles(document.getElement('div#col3'), {duration: 150, transition: Fx.Transitions.Bounce.easeOut});
                var cornersEffect3 = new Fx.Styles(document.getElement('#socialButtons'), {duration: 150, transition: Fx.Transitions.Bounce.easeOut});


                var pos = slider.getStyle('top').toInt();



                var sliders = $$('div#socialButtons ul li.toggle ul');
                    sliders.each(function(sliderEl, index2) {

                        if(index1 == index2) {
                            return;
                        }

                        if(sliderEl.getStyle('top').toInt() != 0) {
                            // possible slideIn effect instead of setting top to zero
                            sliderEl.setStyles({
                                'top': 0,
                                'height': '0px'
                            });
                        }

                    });

                if(pos == -30) {
                    effect.start({
                        'top': 0,
                        'height': '0px'
                    });

                    cornersEffect1.start({
                        '-moz-border-radius-topright': '10px',
                        '-webkit-border-top-right-radius': '10px',
						'border-top-right-radius': '10px'
                    });

                    cornersEffect2.start({
                        '-moz-border-radius-topright': '10px',
                        '-webkit-border-top-right-radius': '10px',
						'border-top-right-radius': '10px'
                    });

                    cornersEffect3.start({
                        '-moz-border-radius-topright': '10px',
                        '-webkit-border-top-right-radius': '10px',
						'border-top-right-radius': '10px'
                    });


                } else

                if(pos == 0) {
                    effect.start({
                        'top': -30,
                        'height': '30px'
                    });

                    cornersEffect1.start({
                        '-moz-border-radius-topright': '0px',
                        '-webkit-border-top-right-radius': '0px',
						'border-top-right-radius': '0px'
                    });

                    cornersEffect2.start({
                        '-moz-border-radius-topright': '0px',
                        '-webkit-border-top-right-radius': '0px',
						'border-top-right-radius': '0px'
                    });

                    cornersEffect3.start({
                        '-moz-border-radius-topright': '0px',
                        '-webkit-border-top-right-radius': '0px',
                        'border-top-right-radius': '0px'
                    });
                }

                    var labels = $$('div#socialButtons li ul li.label');
                        labels.each(function(label) {
                            label.setText(label.getAttribute('title'));
                        });
            });
        });

	tabs[0].fireEvent('click');
});