var PostNewItem   = new Object();
//=====================================================//
//** extending the master Util class
var Util = $.extend(Util, {
    setUpForm: function(formName){
        $(function() {
            var extraPar = {
                callback: function(json) {
                    if (json.returnText != ''){
                        $('#dialog').dialog('close');
                        $('#dialog').dialog('destroy');
                        Util.showSimpleMessageInDialog(json.returnText);
                    }
                }
            }

            var options = {
                success: function(json, statusText, jqFormObj) {
                    Validate.validateFormData(json, statusText, jqFormObj, extraPar);
                    Util.hideProgressInd();
                },
                beforeSubmit: function(frmData) {
                    Util.showProgressInd();
                },
                dataType: 'json'

            };
            $('#' + formName).ajaxForm(options);
        });
    }
});

//=====================================================//
var Validate = $.extend(Validate, {

});

var Common = {
    openFooterLinksDialog: function() {
        var url = $(this).attr('href');

        xButtons ={};

        $.get(url, function(data){
            Util.initDialog();
            $('#dialog').html(data);
            var x_dialog = $('#dialog').dialog(
                $.extend(Util.dialogDefaults, {
                    height: 650,
                    width: 750,
                    buttons: xButtons
                })
            );
        });
    }
}

//------------------------------------------------//
var Dialog = {

    setUpForm: function(formName) {
        $('#' + formName).livequery(function() {

            /****************************************************/
            var extraPar = {
                callback: function(json) {
                    if (json.returnText != ''){
                        $('#dialog').dialog('close');
                        $('#dialog').dialog('destroy');
                        Util.showSimpleMessageInDialog(json.returnText);
                    }
                }
            }

            var options = {
                success: function(json, statusText, jqFormObj) {
                    Validate.validateFormData(json, statusText, jqFormObj, extraPar);
                    Util.hideProgressInd();
                },
                beforeSubmit: function(frmData) {
                    Util.showProgressInd();
                },
                dataType: 'json'
            };

            $('#' + formName).ajaxForm(options);

        });
    },

    openDialog: function(formName, dialogTitle, w, h) {
        if (!w){
           w = 450;
        }
        
        if (!h){
           h = 410;
        }

        url = $(this).attr('href');

        Util.showProgressInd();

        $.get(url, function(data){
            Util.initDialog();
            $('#dialog').html(data);

            var xButtons = {};

            xButtons.submit = function() {
                $('#' + formName).submit();
            };

            xButtons.cancel = function() {
                $(this).dialog('close');
                $(this).dialog('destroy');
            };

            var x_dialog = $('#dialog').dialog(
                $.extend(Util.dialogDefaults, {
                    width: w,
                    height: h,
                    title: dialogTitle,
                    buttons: xButtons
                })
            );
            Util.hideProgressInd();
        });
    }
}
//=====================================================//
var Member = {
    setupRegisterForm: function(e) {
        var exp = {
            callbackOnError: function() {
                $('#process-message').hide();
                $('#btnSubmit').show();
            },
            
            callback: function(json, statusText, jqFormObj){
                if(json.returnUrl){
                    document.location = json.returnUrl;
                } else {
                    var successMsgFld = $('input[name=successMsg]', jqFormObj);
                    var formHt = $(jqFormObj).height();
                    //$(jqFormObj).css('height', formHt + 'px'); 
                    $(jqFormObj).hide();
                    $(jqFormObj).html($(successMsgFld).val());
                    $(jqFormObj).slideDown(1000);
                }
            }
        }
        var options = {
            success: function(json, statusText, jqFormObj) {
                Validate.validateFormData(json, statusText, jqFormObj, exp);
                Util.hideProgressInd();
            },
            beforeSubmit: function() {
                Util.showProgressInd();
            },
            dataType: 'json'
        };
        $('#registerForm').ajaxForm(options);
    },

    submitRegisterForm: function(e) {
        e.preventDefault();
        $('#process-message').show().html('Your form is being submitted. Please wait...');
        $('#btnSubmit').hide();
        $('#registerForm').submit();

    },
    
    setupEventForm: function(e) {
        var options = {
            success: function(json, statusText, jqFormObj) {
                Validate.validateFormData(json, statusText, jqFormObj);
            },
            beforeSubmit: function() {},
            dataType: 'json'
        };
        $('#eventForm').ajaxForm(options);
    }
    
}
//=====================================================//
var Media = {
    reloadMediaFileNamesDisplay: function(container) {
        var url  = '/index.php';
        var record_type = $(container).attr('record_type');
        var contact_id  = $('#contact_id').attr('value');
        var myDate = new Date();
        var timestamp = myDate.getTime();

        $.get(url, {
                    '_room'      :'media'
                    ,'_spAction' :'mediaFilesNamesWithDelete'
                    ,'room'      :'contact'
                    ,'recordType': record_type
                    ,'keyField'  :'contact_id'
                    ,'id'        : contact_id
                    ,'showHTML'  :'0'
                    ,'t'         :timestamp
            }, function(data){
                $(container).slideUp();
                $(container).html(data);
                $(container).slideDown();
                Util.hideProgressInd();
            }
        );
    },

    setUploadify: function(contact_id, sessionID) {
    	$('#uploadifyPic').uploadify({
    		  'uploader'       : '/jss/jquery/uploadify/uploadify.swf'
    		, 'script'         : '/index.php'
    		, 'fileDataName'   : 'fileName'
    		, 'cancelImg'      : '/jss/jquery/uploadify/cancel.png'
    		, 'queueID'        : 'fileQueuePic'
    		, 'scriptData'     : {
    		                       '_room'       :'media'
    		                      ,'_spAction'   :'addMedia'
    		                      ,'room'        :'contact'
    		                      ,'recordType'  :'picture'
    		                      ,'keyField'    :'contact_id'
    		                      ,'id'          : contact_id
    		                      ,'showHTML'    :'0'
    		                      ,'sessionIDCP' :sessionID
    		                      ,'successText' :'success'
    		                     }
    		, 'onOpen'          : function(){
                Util.showProgressInd();
    		}
    		, 'onComplete'  : function(e, queueID, fileObj, response){
    		}
    		, 'onError'  : function(e, queueID, fileObj, errorObj){
			    alert("Error Occured: " +  errorObj.type + " : "  + errorObj.info);
    		}
    		, 'onAllComplete'   : function(e, data){
                Media.reloadMediaFileNamesDisplay($('#pictures .mediaFilesDisplayWrap'));
    		}
    	});
    }
}

//=====================================================//
//------------------------------------------------//
var Forum = {
    createNewTopic: function() {
        //alert('test');
        //return;
        $('#cancelReply').trigger('click');
        $('.forumList').hide();
        Util.getLoginStatus(
            function(){
                $('#forumNewForm').slideDown();
            }
        );
    },

    cancelNewTopic: function() {
        $("#subject").val('');
        $("#comments").val('');
        $('#forumNewForm').slideUp();
        $('.forumList').show();
    },

    submitNewTopic: function() {
    },

    replyTopic: function() {
        $('#cancelForumNew').trigger('click');
        $('#forumReplyForm').slideDown();
        $('#replyTopic').hide('slow');
    },

    cancelReplyTopic: function() {
        $("#subject").val('');
        $("#comments2").val('');
        $('#forumReplyForm').slideUp();
        $('#replyTopic').show('slow');
    },

    SubmitReplyTopic: function() {
    }
}

//------------------------------------------------//


