
function popup(mylink, windowname) {
    if (! window.focus) {
        return true;
    }

    var href;
    if (typeof(mylink) == 'string') {
        href=mylink;
    } else {
        href=mylink.href;
    }

    window.open(href, windowname, 'width=600,height=800,scrollbars=yes');
    return false;
}


function setupForm() {
    submissionFormValidation();
    
    tooltip();
    
    switch($('#categorySelect').val()) {
        case "school":
            $("#schooldetails").show();
            $("#opendetails").hide();
            break;
        case "open":
            $("#opendetails").show();
            $("#schooldetails").hide();
            break;
    }
    
    
    $('#categorySelect').bind("change", function() {
        switch($(this).val()) {
            case "school":
                $("#schooldetails").show();
                $("#opendetails").hide();
                break;
            case "open":
                $("#opendetails").show();
                $("#schooldetails").hide();
                break;
        }
    });
}


function setSubmissionStatus(baseUrl, st, id, start, idString) {
    var str = "";
    for (var i = 0; i < setSubmissionStatus.arguments.length; ++i)
        str += (" / " + setSubmissionStatus.arguments[i]);

//    alert(str);
    var uri = "";
    if(baseUrl.indexOf("?") != -1) {
        uri = baseUrl + "&status=" + st;
    } else {
        uri = baseUrl + "?status=" + st;
    }

    if(start) {
        uri += ("&start=" + start);
    }
    
    if(idString) {
        uri += ("&id=" + idString);
    }
    
    uri += ("&flagid=" + id);
    location.href = uri;
}


function submissionFormValidation() {
    $('#formSubmission > fieldset > .button > #submit').bind("click", function() {
        var error = [];
        var form = $(this).closest('#formSubmission');

        // check all mandatory fields
        var mandatoryFields = form.find('.mandatory > input').each(function() {
            if(!$(this).val()) { // field is empty
                error.push($(this).attr('id') + " is mandatory!");
                $(this).parent().addClass('error');
            } else {
                $(this).parent().removeClass('error');
            }
        });
        
        //check email
        form.find('.email > input').each(function() {
            var email = $(this).val();

            if(!email.match(/^.+@.+\.[a-zA-Z]+$/)) {
                error.push("Please give a valid email address!");
                $(this).parent().addClass('error');
            } else {
                $(this).parent().removeClass('error');
            }
        });
        
        //check phone numbers for australian format
        form.find('.phone > input').each(function() {
            var number = $(this).val();

            if(!number.match(/^\({0,1}((0|\+61)(2|4|3|7|8)){0,1}\){0,1}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{1}(\ |-){0,1}[0-9]{3}$/) && // check for phone number
               !number.match(/^0(6[045679][0469]){1}(\-)?(1)?[^0\D]{1}\d{6}$/)) { // check for mobile phone number
                error.push("Please give a valid " + $(this).attr('id') + "!");
                $(this).parent().addClass('error');
            } else {
                $(this).parent().removeClass('error');
            }
        });

        if(error.length > 0) {
            alert(error.join("\n"));
            return false;
        }
        
        return true;
    });
}


/**
 * Tooltip script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
function tooltip(){
    /* CONFIG */
    xOffset = 10;
    yOffset = 20;
    // these 2 variable determine popup's distance from the cursor
    // you might want to adjust to get the right result		
    /* END CONFIG */
    
    $("a.tooltip").hover(function(e){
        this.t = this.title;
        this.title = "";
        $("body").append("<p id='tooltip'>"+ this.t +"</p>");
        $("#tooltip")
            .css("top",(e.pageY - xOffset) + "px")
            .css("left",(e.pageX + yOffset) + "px")
            .fadeIn("fast");
    },
    function(){
        this.title = this.t;
        $("#tooltip").remove();
    });
    
    $("a.tooltip").mousemove(function(e){
        $("#tooltip")
            .css("top",(e.pageY - xOffset) + "px")
            .css("left",(e.pageX + yOffset) + "px");
    });
};


