// Mierdas de eventos flash
var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// Handle all the FSCommand messages in a Flash movie.
function sheep_DoFSCommand(command, args) {
	var sheepObj = isInternetExplorer ? document.all.sheep : document.sheep;
	sheepObj.Play();
}
// Hook for Internet Explorer.
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
	document.write('<script language=\"VBScript\"\>\n');
	document.write('On Error Resume Next\n');
	document.write('Sub sound_FSCommand(ByVal command, ByVal args)\n');
	document.write('	Call sheep_DoFSCommand(command, args)\n');
	document.write('End Sub\n');
	document.write('</script\>\n');
}



// Cookies y todo eso
function getCookie( name ) {
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length + 1;
    if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
        return null;
    }
    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ';', len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires ) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name+'='+escape( value ) +
        ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
        ( ( path ) ? ';path=' + path : '' ) +
        ( ( domain ) ? ';domain=' + domain : '' ) +
        ( ( secure ) ? ';secure' : '' );
}



function finRecolocar() {
    var listaWidgets = '';
    $('li.widget').each( function() {
        listaWidgets += this.id + '__';
    });
    listaWidgets = listaWidgets.substring(0, listaWidgets.length - 2);
    setCookie( 'listaWidgets', listaWidgets, 30, '/', 'lametonesdeamor.com');
}

$(document).ready( function() {
	// Drag and drop de la barra lateral _______________________________________________________________
    var listaWidgets = getCookie('listaWidgets');
    var contenedor = $("#menu > ul");
	var reglasCSS = document.styleSheets[0];
    /* Si hay cookie clonamos elementos y nos cargamos los anteriores.
     * Procuraremos que esta sea la primera funcion que se llame al cargar el DOM para evitar
     * tener que clonar elementos con eventos asignados. De no ser posible se puede hacer
     * pasandole TRUE al metodo clone() de jQuery, pero ralentiza la ejecucion.
     */
    if (listaWidgets) {
        listaWidgets = listaWidgets.split('__');
        for (var i = 0, l = listaWidgets.length; i < l; ++i) {
            $("#" + listaWidgets[i]).clone().appendTo(contenedor).end().remove();
        }
    }
	// lamentablemente, tenemos que incrustar este trozo de codigo tras la manipulacion para evitar que pete en IE
	$('#upb').prepend('<embed src="http://assets.myflashfetish.com/swf/mp3/mff-mpodmin.swf?myid=17187982&amp;path=2009/01/11" quality="high" wmode="transparent" flashvars="mycolor=FF9D00&amp;mycolor2=FFA81C&amp;mycolor3=000000&amp;autoplay=false&amp;rand=1&amp;f=4&amp;vol=100&amp;pat=0&amp;grad=false" width="158" height="208" name="myflashfetish" salign="TL" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" border="0" style="width:158px;height:208px;"></embed>')
    // Preparamos los eventos
    contenedor.sortable({
		handle: 'h2',
		revert: true,
		stop: finRecolocar
	});
    $('li.widget h2').css('cursor', 'move')
	$(window).unload(finRecolocar);
	
	// Efectismo chorra de entrada de los elementos
	if (!getCookie('entradaWidgets')) {
	    contenedor.css({
			'margin-left':-(contenedor.offset().left+contenedor.width())+'px',
			'opacity':0
		});
    	setTimeout(function(){
    		contenedor.animate({
    			'marginLeft': 0,
    			'opacity':1
    		},1000);
    	},2000);   
	}
	reglasCSS = reglasCSS.cssRules || reglasCSS.rules; // la culpa fue del IE
	for (var i=0;i<reglasCSS.length;++i){
		if('#menu ul'==reglasCSS[i].selectorText.toLowerCase()) {
			reglasCSS[i].style.visibility='';
			break;
		}
	}
	setCookie( 'entradaWidgets', 'true', 1, '/', 'lametonesdeamor.com');
	
	// lanzamiento de cabras
	flagCabra=false; // variable global
	var cacheCabra = document.createElement('IMG');
	cacheCabra.src = '/blog/wp-content/themes/lametonesdeamor/img/cabraViva.gif';


	$('#lanzaCabras').click(function() {
	    if (flagCabra) return false;
	    flagCabra = true;
	    setTimeout(function(){flagCabra=false},1000);
		var $t=$(this);
		var $cabra, cabra, pasos,
		    vTop0 = -(Math.floor(Math.random()*4)+12)*5,
		    aceleracion = 6,
		    pausa = 25, // pausa entre cada paso de la animacion vertical
		    SLP=$t.offset(), // Start Launch Position
		    FLP={
			    left:Math.random()*80,
			    top:$('#footer').offset().top - 100 + Math.floor(Math.random()*$('#footer').height()*4/5)-$('div.cabraMuerta').length
		    };
		if (FLP.top < SLP.top) {FLP.top=SLP.top}
		// calculamos el numero de pasos necesarios en el polinomio 0 = 1/2*aceleracion*pasos*pasos + vTop0*pasos + (SLP.top-FLP.top)
		pasos=Math.floor((-vTop0 + Math.sqrt(vTop0*vTop0-2*aceleracion*(SLP.top-FLP.top)))/aceleracion);
		// creamos la cabra y la asignamos a la variable local con sus atributos correspondientes
		$cabra = $(['<div class="cabraViva" style="margin-left:',SLP.left,'px;top:',SLP.top,'px;"></div>'].join('')).appendTo('body');
		cabra = $cabra.get(0);
		cabra.vTop=vTop0;
		// cabra, animese!!!
		$cabra.animate({marginLeft:0,left:FLP.left+'%'},pasos*pausa,'linear');
		cabra.caidita=setInterval(function(){
		    $cabra.css('top',$cabra.offset().top+cabra.vTop+'px');
		    if (Math.abs(cabra.vTop)<aceleracion){
		        $cabra.css('z-index',155);
		    }
		    cabra.vTop += aceleracion;
		    if (Math.abs($cabra.offset().top-FLP.top)<cabra.vTop){
		        $cabra.css('top',FLP.top+'px').attr('className','cabraMuerta');
		        clearInterval(cabra.caidita);
		    }
		},pausa);
		// llamamos al sonido del flash
		sheep_DoFSCommand();
	});
} );

//insertamos el flash para el sonido mediante swfobject. Loor a swfobject!
var flashvars = {};
var params = {
	wmode:'transparent',
	allowfullscreen:'false',
	allowscriptaccess:'sameDomain'
};
var attributes = {
	id:'sheep',
	align:'top'
};	
swfobject.embedSWF('/blog/wp-content/themes/lametonesdeamor/swf/sheep.swf', 'sheepContent', '1', '1', '8.0.0', '/blog/wp-content/themes/lametonesdeamor/swf/expressInstall.swf', flashvars, params, attributes);