// ==UserScript==
// @name           JobaHelloHoney
// @namespace      JobaUserScripts
// @description    Jeden Tag erscheint eine Begruessungnachricht mit einem vertrauten Text.
// @include        http://www.google.de/
// ==/UserScript==

/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Hinweise
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Mehr Infos auf der Projektwebseite: http://hello-honey.jochen-bauer.net
Skript hier konfigurieren, in Firefox oder Opera aktivieren und fertig!

Mit freundlichen Grüßen
Jochen Bauer

www.jochen-bauer.net

*/

// ------------------------------------------------------
// Konfiguration
// ------------------------------------------------------

// --- Dateien und Pfade

// --- Mailverkehr
var mailscript	    = 'http://hello-honey.jochen-bauer.net/processform.php';
var mail_from	    = 'almuth peil'; // TODO install_config
var mail_to	    = 'jochen bauer'; // TODO install_config

// --- Bilder 250x250px sind geeignet, GIMP als Software ist geschickt
// --- freie Bilder oft findbar aus Wikipedia (falls public domain) 
// --- Sprueche
var messages = [
		[ 'Normal ist vieles!', 'http://hello-honey.jochen-bauer.net/img/alpe/jochen-bauer.jpg' ], // Element 0
		[ 'Dumm aber nett!', 'http://hello-honey.jochen-bauer.net/img/alpe/almuth-peil.jpg' ],
		[ 'Almuth, Bscht! (... ich denke ich kenne deine Antwort)', 'http://www.jochen-bauer.net/img/jochen-bauer.jpg' ],
		[ 'Du Luder!', 'http://www.jochen-bauer.net/img/jochen-bauer.jpg'],
		[ 'Wenn alle Stricke reissen, gib Bescheid, dann hole ich dich ab.', 'http://hello-honey.jochen-bauer.net/img/alpe/island-fisherboot.jpg'],
		[ 'Toelt sieht so aus wie Allrad!', 'http://hello-honey.jochen-bauer.net/img/alpe/island-pferd-toelt.jpg' ]	    ];

// --- Kalender yyyy, mm, dd, nachricht
var cal_messages = [
		    [ 2010, 04, 21, 'Heute geht hello-honey offiziell online!' ], 
		    [ 2010, 04, 23, 'Heute geht es nochmal zum Ausritt - viel Spass!' ]
	    ];

// --- Andere Einstellungen
var message_einleitung = "Hallo h&#252;bsche Frau: ";
var cal_message_einleitung = "Tagesaktuell: "; 

// ----------------------------------------------------------------------------------------
// ENDE der Konfiguration - ab hier nichts mehr ändern!!!
// ----------------------------------------------------------------------------------------

// ----------------------------------------------------
// Funktionen
// ----------------------------------------------------
function jobaAddMessageBoxCss()
{
	var divmb = document.getElementById('messagebox-wrapper');
	
	// CSS-Reset und verallgemeinernde Einstellungen
	divmb.style.margin	    = "0";
	divmb.style.padding	    = "0";
	divmb.style.fontSize	    = "16px";
	divmb.style.fontFamily	    = "'Trebuchet MS', Times, sansserif";
	divmb.style.zIndex	    = "100";
	divmb.style.opacity	    = "0.80";

	// CSS-Auszeichnung 
	// ------------------------------------------
	// Wrapper-Div
	divmb.style.height	    = "100%";
	divmb.style.width	    = "100%";
	divmb.style.backgroundColor = "#EEEEEE";
	divmb.style.position	    = "absolute";
	divmb.style.top		    = "0";
	divmb.style.left	    = "0";
	
	//Messagebox-Div
	var divmbid = document.getElementById('messagebox-infodiv');
	divmbid.style.position	    = "static";
	//divmbid.style.height	    = "400px";
	divmbid.style.width	    = "600px";
	divmbid.style.margin	    = "100px auto 0 auto";
	divmbid.style.border	    = "5px solid #3BA2C3";
	//divmbid.style.opacity	    = "1.00";
	divmbid.style.color	    = "#666666";
	divmbid.style.backgroundImage	    = "url(" + current_picurl  + ")";
	divmbid.style.backgroundRepeat	    = "no-repeat";
	divmbid.style.backgroundPosition    = "70% 30%"; // 70 nach rechts 30 nach unten
	divmbid.style.fontWeight	    = "bold";

	// Messagebox-First-Par[Navigation] samt Kinder
	var divmb1p = document.getElementById( 'messagebox-firstpar' );
	divmb1p.style.marginTop		= "0";
	divmb1p.style.marginBottom	= "0";
	divmb1p.style.padding		= "20px";
	divmb1p.style.backgroundColor	= "#D4EBF2";
	divmb1p.style.height		= '60px';
	divmb1p.style.fontWeight	= "bold";
	
	var divmb1pa = divmb1p.getElementsByTagName('a')[0];
	divmb1pa.style.cssFloat = 'right';

	// Messagebox-Second-Par[Einleitung]
	var divmb2p = document.getElementById( 'messagebox-secondpar' );
	divmb2p.style.width		= "300px";
	divmb2p.style.height		= "60px";
	divmb2p.style.padding		= "20px";
	
	// Messagebox-Third-Par[Aussage]
	var divmb3p = document.getElementById( 'messagebox-thirdpar' );
	divmb3p.style.height		= "80px";
	divmb3p.style.width		= "300px";
	divmb3p.style.textAlign		= "center";
	
	// Messagebox-Fourth-Par[Formular] samt Kinder
	var divmb4p = document.getElementById( 'messagebox-fourthpar' );
	divmb4p.style.width		= "300px";
	divmb4p.style.textAlign		= "center";
	divmb4p.style.padding		= "20px";

	var divmb4p_form		= document.getElementsByTagName( 'form' )[0];
	divmb4p_form.style.padding	= "20px";

	// Messagebox-Fifth-Par[Fussleiste]
	var divmb5p = document.getElementById( 'messagebox-fifthpar' );
	divmb5p.style.backgroundColor	= "#D4EBF2";
	divmb5p.style.marginBottom	= "0";
	divmb5p.style.height		= "60px";
	divmb5p.style.padding		= "20px";
	divmb5p.style.fontSize		= "x-small";
	divmb5p.style.textAlign		= "center";


}

function jobaCheckDailyMessageArray(yyyy, mm, dd, aline_yyyy, aline_mm, aline_dd)
{
	if ( aline_yyyy == yyyy && aline_mm == mm && aline_dd == dd )
	{
		//alert( 'habe Treffer fuer heute');
		return true;
	}
	else 
	{
		return false;
	}
}

function jobaSchliesseMessageBox()
{
    // Div ausblenden
    var divmb = document.getElementById('messagebox-wrapper');
    divmb.style.display = "none";
}

// ---------------------------------------------------------------------
// Hauptablauf, losgeloest von Funktionen
// ---------------------------------------------------------------------

// Zufallsspruch ziehen
var max = messages.length ;
var randnr = Math.floor( (Math.random() * max )+1);

// Wenn wir bei der Laenge als index sind, eins abziehen
if ( randnr == messages.length )
{
	randnr = randnr - 1;
}
var current_message = messages[randnr][0];
var current_picurl  = messages[randnr][1];

// Wenn ein Eintrag zu heute da ist, dann diesen einblenden, sonst '-'
var current_day_message = "-";

var heute = new Date();
var tag = heute.getDate(); // 31
var monat = 1 + heute.getMonth(); // 12 // + 1 nicht vergessen
var jahr = heute.getFullYear(); // 2010

//alert( "Heute ist nach new Date ( Tag: " + tag + "; Monat: " + monat + "; Jahr: " + jahr + ");" );

// Schleife nach Treffer durchgehen
var i = 0;
while( i < cal_messages.length ) 
{
    var erg = jobaCheckDailyMessageArray( jahr, monat, tag, cal_messages[i][0], cal_messages[i][1], cal_messages[i][2], cal_messages[i][3] );
    
    /*
    alert(
	"Ergebnis: " + erg + "; " +
	"Rufe jobaCheckDailyMessengerArray() mit jahr: " + jahr + 
	"; monat: " + monat + "; tag: " + tag + "; cal: " + cal_messages[i][0] +
	"; cm_zeile_1: " + cal_messages[i][1] + "; cm_zeile_2: " + cal_messages[i][2] +
	"; cm_zeile_3: " + cal_messages[i][3] + ";"  
	); 
    */

    if ( erg == true ) 
    {
	    // Text als aktuellen Text setzen
	    //alert( "Treffer, will current_day_message bestuecken!");
	    current_day_message = cal_messages[i][3];
    }
    else 
    {
    }
    //Counter erhoehen
    i = i + 1;
}

// ----------------------------------------------------
// Ausgabe
// ----------------------------------------------------

var messagediv = document.createElement('div');

messagediv.innerHTML = '' +
'<div id="messagebox-wrapper">' +
'<div id="messagebox-infodiv">' +
'<p id="messagebox-firstpar"> ' +
'Hello Honey! <a id="closelink" href="#">Box schliessen</a>' + 
'</p>' +
'<p id="messagebox-secondpar">' +
'' + message_einleitung + '' + 
'</p>' +
'<p id="messagebox-thirdpar">' + 
'' + current_message + '' +
'</p>' +
'<p id="messagebox-fourthpar">' +
'' + cal_message_einleitung + '' +
'' + current_day_message + '' + 
'<br />' +
'<form action="' + mailscript + '" method="POST">' +
'<textarea cols="40" rows="2" name="message">' + 
'Hier kannst du mir antworten und sagen, dass ich ein Riesenfuxx bin!' +
'</textarea>' +
'<br />' +
'<input type="submit" name="submit" value="absenden" />' +
'<input type="hidden" name="to" value="jochen bauer" />' + 
'<input type="hidden" name="citation" value="' + current_message + '" />' + 
'<input type="hidden" name="from" value="almuth peil" />' + 
'</form>' + 
'</p>' +
'<p id="messagebox-fifthpar">' +
'Informationen zu <a href="http://hello-honey.jochen-bauer.net" title="Hello Honey Projekt-Webseite">Hello Honey</a> | Entwickler: <a href="http://www.jochen-bauer.net" title="Website Jochen Bauer">Jochen Bauer</a> | Fragen: info@jochen-bauer.net ' +
'</p>' +
'</div>' + 
'</div>';

document.body.insertBefore( messagediv, document.body.firstChild); 

// CSS an die Start Message Box bringen
jobaAddMessageBoxCss();

// Events an die HTML-Elemente kloppen samt innerer Funktionen
var schliesselink = document.getElementById('closelink');
schliesselink.addEventListener('click', jobaSchliesseMessageBox, true );

