jQuery.noConflict();
jQuery(document).ready(function($){

    var doMerkItem = function(){
        $('.merkbutton').unbind('click').click(function(){
		
            var uid = $(this).attr('uid');
            var table = $(this).attr('table');
		
            if($(this).hasClass('merkdisabled')==false){
                $.post("?eID=merkzettel",{
                    'action': 'add',
                    'uid': uid, 
                    'table': table
                },function(data){
                    try{
                        if(data.name!="undefined" && data.name!=undefined){
                            /*
							if(typeof $("#merkmail") !== "undefined"){
								$("#merkmail").remove();
								$("#merkpdf").remove();
							}
							*/
							//alert(data.link);
							var mixedLink = data.link;
							var linkArr = mixedLink.split(' - - ');
                            $("#merkul").append('<li id="'+data.table+'-'+data.uid+'"><div class="itm"><span class="lbl"><a title='+linkArr[1]+' href="?id='+linkArr[0]+'">'+data.name+'</a></span><span class="lbldel"><a href="#" class="merkerdelete" table="'+data.table+'" uid="'+data.uid+'">&nbsp;</a></span></div></li>');
							
                            /*
							$("#merkul").append("<span style='display:block;'><a href='?id="+data.link+"'>"+data.name+"</a> <a href='#' class='merkerdelete' table='"+data.table+"' uid='"+data.uid+"'>deleted[X]</a></span>");
							*/
                            $(".merkbutton").addClass("merkdisabled");
                            var count = $("#merkcounter").html();
                            count = parseInt(count)+1;
                            $("#merkcounter").html(count);
							
                            /*
							$("#merkzettel").append("<br /><a href='#' id='merkmail'>Merkzettel per E-Mail schicken</a><br /><a href='?eID=merkzettel&action=pdf' id='merkpdf' target='_blank'>Merkzettel als pdf downloaden</a>");
							*/
							
                            doMerkItem();
                        }
                    //alert(data.name+" - "+data.link);
                    }
                    catch(e){
                        alert("exception");
                    }
                },"json"
                );
            }
            return false;
        });
	
        $('.merkerdelete').unbind('click').click(function(){
	
            var uid = $(this).attr('uid');
            var table = $(this).attr('table');
		
            $.post("?eID=merkzettel",{
                'action': 'delete',
                'uid': uid, 
                'table': table
            },function(data){
                $(".merkbutton").removeClass("merkdisabled");
                var count = $("#merkcounter").html();
                count = parseInt(count)-1;
                $("#merkcounter").html(count);
                if($("#merkzettel").children("span").length==0){
            /*
					if(typeof $("#merkmail") !== "undefined"){
						$("#merkmail").remove();
						$("#merkpdf").remove();
					}
					*/
            }
            },"json"
            );
		
            $("#"+table+"-"+uid).remove();
            return false;
        });
	
        $('#merkmail').unbind('click').click(function(){
            $( "#dialog-form" ).dialog( "open" );
            return false;
        });
	
    };

    doMerkItem();	

    $( "#dialog:ui-dialog" ).dialog( "destroy" );
		
    var name = $( "#name" ),
    email = $( "#email" ),
    mailtext = $( "#merkzettelmail" ),
    allFields = $( [] ).add( name ).add( email ),
    tips = $( ".validateTips" );

    function updateTips( t ) {
        tips
        .text( t )
        .addClass( "ui-state-highlight" );
        setTimeout(function() {
            tips.removeClass( "ui-state-highlight", 1500 );
        }, 500 );
    }

    function checkLength( o, n, min, max ) {
        if ( o.val().length > max || o.val().length < min ) {
            o.addClass( "ui-state-error" );
            //updateTips( "Length of " + n + " must be between " + min + " and " + max + "." );
            updateTips("Bitte korrigieren Sie: "+n);
            return false;
        } else {
            return true;
        }
    }

    function checkRegexp( o, regexp, n ) {
        if ( !( regexp.test( o.val() ) ) ) {
            o.addClass( "ui-state-error" );
            updateTips( n );
            return false;
        } else {
            return true;
        }
    }
		
    $( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 300,
        width: 350,
        modal: true,
        buttons: {
            "OK": function() {
                var bValid = true;
                allFields.removeClass( "ui-state-error" );

                bValid = bValid && checkLength( name, "Name", 3, 16 );
                bValid = bValid && checkLength( email, "E-Mail", 6, 80 );

                //bValid = bValid && checkRegexp( name, /^[a-z]([0-9a-z_])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter." );
                // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
                bValid = bValid && checkRegexp( email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "z.B. info@travelworks.de" );
                //bValid = bValid && checkRegexp( password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9" );

                if ( bValid ) {
                    $( "#users tbody" ).append( "<tr>" +
                        "<td>" + name.val() + "</td>" + 
                        "<td>" + email.val() + "</td>" + 
                        "</tr>" ); 
                    $.post("?eID=merkzettel",{
                        'action': 'mail',
                        'name' : name.val(),
                        'mail' : email.val(),
                        'mailtext' : mailtext.html() 
                    },function(data){
                        alert(data.mail);
                    },"json"
                    );
                    $( this ).dialog( "close" );
                }
            },
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        },
        close: function() {
            allFields.val( "" ).removeClass( "ui-state-error" );
        }
    });
	

});
