addFriendColCount = 8;
nrOfRecepientsSelected = 8;
error_from = "Wir brauchen einen Namen und eine E-Mail-Adresse von Dir, damit Deine Freunde wissen, wer ihnen den Link schickt. Bitte gib beides an.";
error_to = "Es m&uuml;ssen Vorname, Nachname und eine g&uuml;ltige E-Mail-Adresse f&uuml;r alle Kontakte angegeben werden. Die fehlerhaften Zeilen wurden <em>rot</em> eingef&auml;rbt.";
error_lazy = "Bitte mindestens einen Empf&auml;nger angeben";


$(function() {
		$("#spread").tabs();
		$("#enterAdresses").tabs();
});


function addFriend() {
	if (addFriendColCount < 15) {
		addFriendColCount++;
		document.getElementById("row" + addFriendColCount).style.display = "block";
		
	}else if (addFriendColCount == 15) {
		document.getElementById("row" + addFriendColCount).style.display = "block";
		document.getElementById("addFriendButton").style.display = "none";
	} 
}

function checkForm() {
	var errorConditions = false;
	resetAllErrorMessages();
	
	if ((document.getElementById("first_name_from").value == '') || !(checkEMailValidation(document.getElementById("email_from").value))) 	{
		displayErrorMessage("from", error_from, 0);
		errorConditions = true;
	}
	
	var fromWebmail = ($('toggle_all_rows').length>0);

	var numberOfActiveRecepients = 0;
	
	for (var i = 1; i <= addFriendColCount; i++) {
		if($("div#rowAdressbook" + i).hasClass("inactive")) continue;
		
		//check if there are checkboxes in front of the entries
	
		/* Checken ob der aktuelle Datensatz ein deaktivierter ist, dann wird dieser ignoriert, ansonsten geht es weiter */
	    if (fromWebmail &! $("input#selected_contacts_" + i).attr("checked")) {
	    	//no processing in this case
	    } else {
	    	
			
			var currentFirstName = document.getElementById("first_name_" + i).value;
			var currentName = document.getElementById("name_" + i).value;
			var currentEMail = document.getElementById("email_" + i).value;

			resetErrorMessage(i);

			/* Checken ob im aktuellen Datensatz alle drei Felder leer sind, 
			 * wenn ja --> zur nŠchsten zeile gehen
			 */
			if (currentFirstName == '' && currentName == '' && currentEMail == '') {
				continue;
			/*Checken, ob eines der drei Felde nicht ausgefuellt wurde*/	
			} else {
				numberOfActiveRecepients++;
				if (currentFirstName == '' || currentName == '' || currentEMail == '') {
					displayErrorMessage("to", error_to, i);
					displayErrorMessage("to_webmail", error_to, i);
					errorConditions = true;	
				}else{
					/*Checken ob Vorname und Nachname zusammen kuerzer als die erlaubte Zeichenanzahl sind, wenn ja --> Email-Check, wenn nein --> Fehler*/
						/*Checken ob eine gueltige E-Mail-Adresse angegeben wurde, wenn ja --> naechste Schleife, wenn nein --> Fehler*/
					if (checkEMailValidation (currentEMail)){
						continue;	
					}else{
						displayErrorMessage("to"		, error_to, i);
						displayErrorMessage("to_webmail", error_to, i);
						errorConditions = true;
					}
					
				}
			}
		
		} //if: wenn es nicht gerade ein deaktiviertes feld ist
	} //for schleife Ÿber alle zeilen
	
	//falls keine empfŠnger angegeben wurden, oder, beim webmail, keine ausgewŠhlt wurden:
	if (numberOfActiveRecepients <= 0) {
		
		displayErrorMessage("to", error_lazy, 0);
		displayErrorMessage("to_webmail", error_lazy, 0);
		errorConditions = true;
	}
	
	if (errorConditions){
		return (false);
	} else {
		$("input#submitButton").addClass("invisible");
		$("#mailSendAnimation").removeClass("invisible");
		return (true);
	}

}

function resetAllErrorMessages (){
	$("div#errormsg_to").addClass("invisible");
	$("div#errormsg_to_webmail").addClass("invisible");
	$("div#errormsg_from").addClass("invisible");
}

function resetErrorMessage (highlightRow){
	$("label#Lfirst_name_" + highlightRow).removeClass("error");
	$("label#Lname_" + highlightRow).removeClass("error");
	$("label#Lemail_" + highlightRow).removeClass("error");
}

function displayErrorMessage(id, errormessage, highlightRow){

		$("div#errormsg_"+id).html(errormessage).removeClass("invisible");

		if (highlightRow > 0) {
			$("label#Lfirst_name_" + highlightRow).addClass("error");
			$("label#Lname_" + highlightRow).addClass("error");
			$("label#Lemail_" + highlightRow).addClass("error");
		}
		$.scrollTo(450, 800);
		
		
}


function checkEMailValidation(emailString) {

    if (stringEmpty(emailString)) {
    	return (false);
    } else if (noAtSign( emailString)) {
    	return (false);
    } else if (nothingBeforeAt(emailString)) {
    	return (false);
    } else if (noLeftBracket(emailString)) {
    	return (false);
    } else if (noRightBracket(emailString)) {
    	return (false);
    } else if (noValidPeriod(emailString)) {
    	return (false);
    } else if (noValidSuffix(emailString)) {
   		 return (false);
    } else {
        return (true);
    }

    var objType = typeof(emailString.focus);
    if (objType == "object" || objType == "function") {
         emailString.focus();
    }

    return (false);
}


function stringEmpty (formField) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if ( formField.length < 1 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noAtSign (formField) {
    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
    if (formField.indexOf ('@', 0) == -1) {
        return ( true )
    } else {
        return ( false );
    }
}

function nothingBeforeAt (formField) {
    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
    if ( formField.indexOf ( '@', 0 ) < 1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noLeftBracket (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
    if ( formField.indexOf ( '[', 0 ) == -1 && formField.charAt (formField.length - 1) == ']') {
        return ( true )
    } else {
        return ( false );
    }
}

function noRightBracket (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
    if (formField.indexOf ( '[', 0 ) > -1 && formField.charAt (formField.length - 1) != ']') {
        return ( true );
    } else {
        return ( false );
    }
}

function noValidPeriod (formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (formField.indexOf ( '@', 0 ) > 1 && formField.charAt (formField.length - 1 ) == ']')
        return ( false );

    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
    if (formField.indexOf ( '.', 0 ) == -1)
        return ( true );

    return ( false );
}

function noValidSuffix(formField) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
        return ( false );
    }

    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
    var len = formField.length;
    var pos = formField.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
        return ( true );
    } else {
        return ( false );
    }
}


// !deprecated! please remove this and its consequences if your name is flo,
// or ignore it
function checkNameLength (firstName, lastName) {
	return true;
}

function importAdressBook () {
	//reset Error-Message
	$("div#errormsg_to_webmail").addClass("invisible");	
	//Validate Form
	if ($("provider_box").val() != "" && $("#email_box").val() != "" && $("#password_box").val() != ""){
		$("div#addressbookImport").addClass("invisible");
		$("div#loadingAnimation").removeClass("invisible");		
		//Build Data Object
		var formData = 
			{
				provider_box: $("#provider_box").val(),
				email_box: $("#email_box").val(),
				password_box: $("#password_box").val()
					
			};
		//AJAX Function-Call	
		$.post('getContacts.php', formData, adressBookData);
	}else{
		$("div#errormsg_to_webmail").html("Alle Felder m&uuml;ssen ausgef&uuml;llt sein. Bitte &uuml;berpr&uuml;fen Sie ihre Angaben und versuchen es erneut.").removeClass("invisible");
	}
	
}

//AJAX Callback
function adressBookData (data, status) {
	var contactHTML = '';
	var obj = JSON.parse(data);
	var cnt = 1;
	
	
	if(status == 'success'){
		if(typeof obj.error != "undefined"){
			$("div#errormsg_to_webmail").html(obj.error).removeClass("invisible");
			$("div#loadingAnimation").addClass("invisible");
		}else{
				
				contactHTML += "<div id='rowSelectAll' class='form_row'>";
				contactHTML += "<input class='checkbox' type='checkbox' id='toggle_all_rows' name='toggle_all_rows' onclick='toggleAllRows()' checked/>";
				contactHTML += "<label>Alle ausw&auml;hlen/abw&auml;hlen</label></div>";
				
				
			jQuery.each(obj, function(index, contact) {
				var splittedLastName = "";
				var nameSplit = contact.name.split(" ");
				for (var i=1; i < nameSplit.length; i++){ 
					splittedLastName += nameSplit[i];
					if (i != (nameSplit.length-1)) splittedLastName += " ";
				}	
				
				contactHTML += "<div id='rowAdressbook" + cnt + "' class='form_row'>";
				
				contactHTML += "<input class='checkbox' type='checkbox' id='selected_contacts_"+ cnt +"' name='selected_contacts' value='" + cnt + "' checked='true' onclick='toggleRow(this.value)' />";
				
		    	contactHTML += "<label id='Lfirst_name_" + cnt + "' for='first_name_" + cnt + "'>Vorname</label>";
				contactHTML	+= "<input type='text' id='first_name_" + cnt + "' name='first_name_" + cnt + "' value='" + nameSplit[0] + "' />";
				
				contactHTML += "<label id='Lname_" + cnt + "' for='name_" + cnt + "'>Name</label>";
				contactHTML	+= "<input type='text' id='name_" + cnt + "' name='name_" + cnt + "' value='" + splittedLastName + "' />";
		    	
		    	contactHTML += "<label id='Lemail_" + cnt + "' for='email_" + cnt + "'>E-Mail</label>";
				contactHTML	+= "<input type='text' id='email_" + cnt + "' name='email_" + cnt + "' value='" + contact.email + "' />";
				contactHTML += "</div>"
				
				cnt++;
			});
			addFriendColCount = cnt-1;
			$("#adressbookImport").html(contactHTML);
			$("div#loadingAnimation").addClass("invisible");
			$("div#addressbookImport").removeClass("invisible");
			$("#submitButton").removeAttr("disabled").removeClass("invisible");
			$("div#enterAdresses ul li a[href='#tabs-1']").click(function(){location.reload();return false;});
			}
	}else{
		$("div#errormsg").html("Ein interner Fehler ist aufgetreten. Bitte versuchen Sie es erneut.").removeClass("invisible");
	}
}

//Disable selected Imported Contacts
function toggleRow(rowNr) {
	var currentlyActive = !($("div#rowAdressbook" + rowNr + " input#first_name_" + rowNr).attr("disabled"));
	setRowActive(rowNr, !currentlyActive);
	
}

function setRowActive(rowNr, activate) {
	if (activate) {
	$("div#rowAdressbook" + rowNr).removeClass("inactive");
		$("input#selected_contacts_" + rowNr).attr("checked", true);
		$("input#first_name_" + rowNr).removeAttr("disabled");
		$("input#name_" + rowNr).removeAttr("disabled");
		$("input#email_" + rowNr).removeAttr("disabled");
	}else{
		$("div#rowAdressbook" + rowNr).addClass("inactive");
		$("input#selected_contacts_" + rowNr).attr("checked", false);
		$("input#first_name_" + rowNr).attr("disabled", true);
		$("input#name_" + rowNr).attr("disabled", true);
		$("input#email_" + rowNr).attr("disabled", true);

	}
}


function toggleAllRows() {
	var currentlyActive = $("div#rowSelectAll input#toggle_all_rows").attr("checked");
	
	for (var i=1; i <= addFriendColCount; i++) {
		setRowActive(i, currentlyActive);
	}
	
}


function enableInputs () {
	addFriendColCount = 8;
	$("div#enterAdressesManually").html("<div class='errormsg ui-corner-all invisible' id='errormsg_to'> Du musst Vorname, Nachname und E-Mail-Adresse f&uuml;r alle Deine Freunde eingeben. </div> <div id='row1' class='form_row'> <label id='Lfirst_name_1' for='first_name_1'>Vorname</label> <input type='text' id='first_name_1' name='first_name_1' /> <label id='Lname_1' for='name_1'>Nachname</label> <input type='text' id='name_1' name='name_1' /> <label id='Lemail_1' for='email_1'>Email</label> <input type='text' id='email_1' name='email_1' maxlength='100' /> </div> <div id='row2' class='form_row form_row_odd' > <label id='Lfirst_name_2' for='first_name_2'>Vorname</label> <input type='text' id='first_name_2' name='first_name_2' /> <label id='Lname_2' for='name_2'>Nachname</label> <input type='text' id='name_2' name='name_2' /> <label id='Lemail_2' for='email_2'>Email</label> <input type='text' id='email_2' name='email_2' maxlength='100' /> </div> <div id='row3' class='form_row' > <label id='Lfirst_name_3' for='first_name_3'>Vorname</label> <input type='text' id='first_name_3' name='first_name_3' /> <label id='Lname_3' for='name_3'>Nachname</label> <input type='text' id='name_3' name='name_3' /> <label id='Lemail_3' for='email_3'>Email</label> <input type='text' id='email_3' name='email_3' maxlength='100' /> </div> <div id='row4' class='form_row form_row_odd' > <label id='Lfirst_name_4' for='first_name_4'>Vorname</label> <input type='text' id='first_name_4' name='first_name_4' /> <label id='Lname_4' for='name_4'>Nachname</label> <input type='text' id='name_4' name='name_4' /> <label id='Lemail_4' for='email_4'>Email</label> <input type='text' id='email_4' name='email_4' maxlength='100' /> </div> <div id='row5' class='form_row' > <label id='Lfirst_name_5' for='first_name_5'>Vorname</label> <input type='text' id='first_name_5' name='first_name_5' /> <label id='Lname_5' for='name_5'>Nachname</label> <input type='text' id='name_5' name='name_5' /> <label id='Lemail_5' for='email_5'>Email</label> <input type='text' id='email_5' name='email_5' maxlength='100' /> </div> <div id='row6' class='form_row form_row_odd' > <label id='Lfirst_name_6' for='first_name_6'>Vorname</label> <input type='text' id='first_name_6' name='first_name_6' /> <label id='Lname_6' for='name_6'>Nachname</label> <input type='text' id='name_6' name='name_6' /> <label id='Lemail_6' for='email_6'>Email</label> <input type='text' id='email_6' name='email_6' maxlength='100' /> </div> <div id='row7' class='form_row' > <label id='Lfirst_name_7' for='first_name_7'>Vorname</label> <input type='text' id='first_name_7' name='first_name_7' /> <label id='Lname_7' for='name_7'>Nachname</label> <input type='text' id='name_7' name='name_7' /> <label id='Lemail_7' for='email_7'>Email</label> <input type='text' id='email_7' name='email_7' maxlength='100' /> </div> <div id='row8' class='form_row form_row_odd' > <label id='Lfirst_name_8' for='first_name_8'>Vorname</label> <input type='text' id='first_name_8' name='first_name_8' /> <label id='Lname_8' for='name_8'>Nachname</label> <input type='text' id='name_8' name='name_8' /> <label id='Lemail_8' for='email_8'>Email</label> <input type='text' id='email_8' name='email_8' maxlength='100' /> </div> <div style='display: none;' id='row9' class='form_row' > <label id='Lfirst_name_9' for='first_name_9'>Vorname</label> <input type='text' id='first_name_9' name='first_name_9' /> <label id='Lname_9' for='name_9'>Nachname</label> <input type='text' id='name_9' name='name_9' /> <label id='Lemail_9' for='email_9'>Email</label> <input type='text' id='email_9' name='email_9' maxlength='100' /> </div> <div style='display: none;' id='row10' class='form_row form_row_odd' > <label id='Lfirst_name_10' for='first_name_10'>Vorname</label> <input type='text' id='first_name_10' name='first_name_10' /> <label id='Lname_10' for='name_10'>Nachname</label> <input type='text' id='name_10' name='name_10' /> <label id='Lemail_10' for='email_10'>Email</label> <input type='text' id='email_10' name='email_10' maxlength='100' /> </div> <div style='display: none;' id='row11' class='form_row' > <label id='Lfirst_name_11' for='first_name_11'>Vorname</label> <input type='text' id='first_name_11' name='first_name_11' /> <label id='Lname_11' for='name_11'>Nachname</label> <input type='text' id='name_11' name='name_11' /> <label id='Lemail_11' for='email_11'>Email</label> <input type='text' id='email_11' name='email_11' maxlength='100' /> </div> <div style='display: none;' id='row12' class='form_row form_row_odd' > <label id='Lfirst_name_12' for='first_name_12'>Vorname</label> <input type='text' id='first_name_12' name='first_name_12' /> <label id='Lname_12' for='name_12'>Nachname</label> <input type='text' id='name_12' name='name_12' /> <label id='Lemail_12' for='email_12'>Email</label> <input type='text' id='email_12' name='email_12' maxlength='100' /> </div> <div style='display: none;' id='row13' class='form_row' > <label id='Lfirst_name_13' for='first_name_13'>Vorname</label> <input type='text' id='first_name_13' name='first_name_13' /> <label id='Lname_13' for='name_13'>Nachname</label> <input type='text' id='name_13' name='name_13' /> <label id='Lemail_13' for='email_13'>Email</label> <input type='text' id='email_13' name='email_13' maxlength='100' /> </div> <div style='display: none;' id='row14' class='form_row form_row_odd' > <label id='Lfirst_name_14' for='first_name_14'>Vorname</label> <input type='text' id='first_name_14' name='first_name_14' /> <label id='Lname_14' for='name_14'>Nachname</label> <input type='text' id='name_14' name='name_14' /> <label id='Lemail_14' for='email_14'>Email</label> <input type='text' id='email_14' name='email_14' maxlength='100' /> </div> <div style='display: none;' id='row15' class='form_row' > <label id='Lfirst_name_15' for='first_name_15'>Vorname</label> <input type='text' id='first_name_15' name='first_name_15' /> <label id='Lname_15' for='name_15'>Nachname</label> <input type='text' id='name_15' name='name_15' /> <label id='Lemail_15' for='email_15'>Email</label> <input type='text' id='email_15' name='email_15' maxlength='100' /> </div> <input type='button' onclick='addFriend();' value='Freund hinzuf&uuml;gen' id='addFriendButton' class='ui-corner-all' />");
}

function disableInputs () {
	$("div#enterAdressesManually").html("");
}

function enableSubmit () {
	$("#submitButton").removeAttr("disabled").removeClass("invisible");
}

function disableSubmit () {
	$("#submitButton").attr("disabled", true).addClass("invisible");
}

//AddThis-Config
var addthis_share = 
{ 
    templates: {
                   twitter: 'So sieht er aus, der schwarz-gelbe Super-GAU: {{url}} #Erneuerbare #Atomausstieg #Bundestagswahl'
               }
}