/*
omq-content-scripts.js
*/

$(document).ready(function() {
    
    $.fn.extend({
        prompt: function (option) {
 
            var promptColor = (option && option.color) ? option.color : "#999999";
 
            var array = [];
            this.each(function () {
                var $input = $(this);
                if ($input.attr("type") != "text") return;
 
                var normalColor     = $input.css("color");
                var backgroundColor = $input.css("background-color");
 
                $input.focus(function () {
                    if ( 
                        $.trim($input.val()) == $input.attr("title")
                        || $.trim($input.val()) == $(".emptyNameFieldMessage").val()
                        || $.trim($input.val()) == $(".emptyMailFieldMessage").val()
                        ) {
                        $input.css({
                           color: '#000000' 
                        }).val("");
                    }
                    if($.trim($input.val()) == "") {
                        $input.css({
                            color: '#000000'
                        });
                    }
                });
                
                $input.focusout(function () {
                    if ($.trim($input.val()) != "") {
                        return;
                    }
                    $input.css({
                            color: normalColor
                        }).val("");
                    $input.val($input.attr("title"));
                });
                
                var value = $.trim($input.val());
                if (value == "" || value == $input.attr("title")) {
                    $input.css({
                        color: promptColor
                    }).val($input.attr("title"));
                }
 
                array[array.length] = this;
            });
 
            return array;
        }
    });
    
//    $("input[type=text][title], textarea[title]").prompt({text:this.title});
    $(".omq_promptable").prompt({text:this.title});
});


function initForm(form, buildUrl)
{
    var options = { 
        target:         null,   // target element(s) to be updated with server response 
        dataType:       'xml',
        beforeSubmit:   validate,  // pre-submit callback 
        url:		buildUrl+"modules/omq-submit-handler.php",
        success:        handleSuccess  // post-submit callback
    }; 
 
    form.ajaxForm(options);
}

function validate(formData, jqForm, options)
{
    var isValid = true;

    jqForm.find('input[type=text][title]').each(function(index, input) {
        if(input.value == input.title || input.value == '') {
            input.value = '';
            if(input.name == 'email') {
                input.value = $(".emptyMailFieldMessage").val();
            }
            if(input.name == 'name') {
                input.value = $(".emptyNameFieldMessage").val();
            }
            $(this).css({
                            color: '#FF0000'
                        });
            isValid = false;
        }
    });
    return isValid;
}


function handleSuccess( responseText, statusText, xhr, $form )
{
    console.log("handleSuccess");
    $('.response_message').remove();
    if($(responseText).find("code").text() != '200') {
        if($(responseText).find("target").text() != 'null') {
            $form.append($('<p class="response_message">'+$(responseText).find("message").text()+'</p>').hide().fadeIn(1500));
            return;
        }
    }
    
    $form.clearForm();
    $form.append($('<p class="response_message">'+$(responseText).find("message").text()+'</p>').hide().fadeIn(1500));
}
