/**
 * jq-common.js
 *
 * @package Ü-Portale
 * @category Common JS
 * @author Göran Bruns <goeran@brunsware.de>
 * @copyright 2012
 * @version 1.3.1
 */ 

function validate(form) {
    var validated = true;
    $("#"+form+" .required").each(function() {
        if($(this).val().length == 0 || (window.field_defaults && field_defaults[$(this).attr("name")] && field_defaults[$(this).attr("name")] == $(this).val())) {
            var field = (window.fields != undefined && fields[$(this).attr("name")]) ? fields[$(this).attr("name")] : $(this).attr("name");
            if(window.errors != undefined && errors[$(this).attr("name")]) {
            	alert(errors[$(this).attr("name")]);
           	} else if(window.validateRequiredMsg != undefined) {
            	alert(validateRequiredMsg.replace(/###FELD###/, field));
            } else {            	
            	alert("Bitte "+field+" eingeben !");
            }
            $(this).addClass("errorfield").focus();
            validated = false;
            return false;
        } else {
            if($(this).hasClass("errorfield")) {
                $(this).removeClass("errorfield");
            }
        }
    });
    if(validated) {
        $("#"+form+" .required-select").each(function() {
            if($(this).val().length == 0) {
                var field = (fields[$(this).attr("name")]) ? fields[$(this).attr("name")] : $(this).attr("name");                                
                alert(unescape("Bitte "+field+" ausw%E4hlen !"));
                $(this).addClass("errorfield").focus();
                validated = false;
                return false;
            } else {
                if($(this).hasClass("errorfield")) {
                    $(this).removeClass("errorfield");
                }
            }
        });
    }
    if(validated) {
        $("#"+form+" .required-checkbox").each(function() {
            if(!$(this).attr("checked")) {
                var field = (fields[$(this).attr("name")]) ? fields[$(this).attr("name")] : $(this).attr("name");                              
                alert(unescape(field));
                $(this).addClass("errorfield").focus();
                validated = false;
                return false;
            } else {
                if($(this).hasClass("errorfield")) {
                    $(this).removeClass("errorfield");
                }
            }
        });
    }
    if(validated) {
        $("#"+form+" .required-radio").each(function() {
            if(!$("input:radio:checked[name'"+$(this).attr("name")+"']").length) {
                var field = (fields[$(this).attr("name")]) ? fields[$(this).attr("name")] : $(this).attr("name");                              
                alert(unescape(field));
                $(this).addClass("errorfield").focus();
                validated = false;
                return false;
            } else {
                if($(this).hasClass("errorfield")) {
                    $(this).removeClass("errorfield");
                }
            }
        });
    }
    return validated;
}

$(document).ready(function(){
    /* telephone number on click */
    $("img.telephone").click(function() {
            alert($(this).attr("title"));
    });

    /* common add contact */
    $("a.addcontact, a.addcontact_left, a.addcontact_link").click(function() {
        contact = $(this).attr("href");
        
        $.get("ajax.php?action=getcontactgroupselect", function(retval) {
            $("#dialog").html('<div class="ui-dialog-innercontent"><p>Dieses Mitglied zu meine Kontakten hinzufügen und in folgender Gruppe hinzufügen.</p>'+retval+'</div>');
            $("#dialog").dialog({                
                buttons : {
                    "Ok" : function() {
                        $.get("ajax.php?action=addcontact&uid="+contact+"&group="+$("#dialog select[name=group]").val(), function(retval) {
                            $("#dialog").dialog("destroy");
                            alert(retval);
                        });
                    },
                    "Abbrechen" : function() {
                        $("#dialog").dialog("destroy");
                    }
                },
                modal : true,
                title : "Kontakt hinzufügen" ,              
                close : function(event,dialog) { $("#dialog").dialog("destroy"); }
            });
            $("#dialog").css("display","block");
        });
        return false;
    });

    /* common knows */

    $("a.knows, a.knows_left, a.knows_link").click(function() {
        if(confirm("Möchtest Du dieses Mitglied zu Deinen Bekannten hinzufügen ?")) {
            $.get("ajax.php?action=knows&uid="+$(this).attr("href"), function(retval) {
                document.location.reload();
            });
        }
        return false;
    });

    $("a.notknows, a.notknows_left, a.notknows_link").click(function() {
        if(confirm("Möchtest Du dieses Mitglied von Deinen Bekannten entfernen ?")) {
            $.get("ajax.php?action=notknows&uid="+$(this).attr("href"), function(retval) {
                document.location.reload();
            });
        }
        return false;
    });
/*
    $("div.menuEntry").hover(
        function() {
            $(this).find("div.subMenuEntry").show();
        },
        function() {
            $(this).find("div.subMenuEntry").hide();            
        }
    );
*/
});
