function checkLogin() {
    $.ajax({
        url: "/SATCMS/includes/ajax.asp?Object=Profile&Action=LoginCheck",
        success: function(data, textStatus) {
            if (data == "false") document.location = "login.asp";
        }
    });
}

function GetSearchForm() {
    $.ajax({
        url: "/SATCMS/includes/frm_search.asp?sid=" + Math.random(),
        success: function(data, textStatus){
            $('#tabareaContacts_Search').html(data);
            InitShowHide();
        }
    });
}

function GetSearchContractLevels(){
    var selectedArray = new Array();
    $("#divaroundinscompanies :checkbox").each(function(i){
        selectedArray.push(this.value);
    });
    var idValue = selectedArray.toString();
    if(idValue.length > 0 && idValue.indexOf(',') == -1){
        url = "/SATCMS/includes/ajax.asp?object=Contract&action=GetLevels";
        url += '&CompanyID='+idValue+'&Multiple=True';
        $.ajax({
            url: url,
            success: function(data, textStatus){
                $('#ContLevel').html('<div class="formitem"><label for="ContractLevelID">Level</label>'+data+'</div>');
            }
        });
    }
    else {
        $('#ContLevel').html('');
    }
}

function GetBulkMailTab() {
    var countOnly = '';
    if($('#tabareaContacts_BulkEmail').html() > '') countOnly = '?countonly=x';
    $.ajax({
        url: "/SATCMS/includes/frm_emailapp.asp" + countOnly,
        success: function(data, textStatus){
            if (countOnly > '') {
                $('#EmailCount').html(data);
            }
            else {
                $('#tabareaContacts_BulkEmail').html(data);
            }
            SelectThisTab('tablinkContacts_BulkEmail');
        }
    });
}

function GetCompanyInfo(companyID){
    url = "/SATCMS/includes/disp_companyinfo.asp?CompanyID=" + companyID + "&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus){
            SelectThisTab('tablinkContacts_Info');
            $('#tabareaContacts_Info').html(data);
            tb_init('a.thickbox');
        }
    });
}

function GetContactInfo(contactID){
    $.ajax({
        url: "/SATCMS/includes/disp_contactinfo.asp?ContactID=" + contactID,
        success: function(data, textStatus) {
            SelectThisTab('tablink_Contacts');
            SelectThisTab('tablinkContacts_Info');
            $('#tabareaContacts_Info').html(data);
            GetContactTasks(contactID);
            GetContactNotes(contactID);
            GetContactGroups(contactID);
            GetContactContracts(contactID);
            DatePickerInit();
            tb_init('a.thickbox');
            $('#cinfo_ProdOverviewForm').ajaxForm({
                success: function(responseText, statusText) {
                    $('#cinfo_ProdOverviewResults').html(responseText);
                    //Produce "Production by Month" flash chart
                    var so = new SWFObject("/SATCMS/charts/amline/amline.swf", "amline", "800", "400", "8", "#FFFFFF");
                    so.addVariable("path", "/SATCMS/charts/amline/");
                    so.addVariable("settings_file", encodeURIComponent("/SATCMS/charts/amline/amline_settings.xml"));
                    so.addVariable("data_file", encodeURIComponent("/SATCMS/includes/cht_prodoverview01.asp?FromDate=" + $("#cinfo_ProdOverviewBegDate").html() + "&ToDate=" + $("#cinfo_ProdOverviewEndDate").html() + "&ContactID=" + contactID));
                    so.write("cinfo_ProdOverviewFlash");
                }
            });
        }
    });
}

function GetContactNotes(contactID){
    $.ajax({
        url: "/SATCMS/includes/disp_contactnotes.asp?ContactID=" + contactID,
        success: function(data, textStatus){
            $('#Contact_Notes').html(data);
        }
    });
}

function GetContactTasks(contactID){
    $.ajax({
        url: "/SATCMS/includes/disp_contacttasks.asp?ContactID=" + contactID,
        success: function(data, textStatus){
            $('#Contact_Tasks').html(data);
        }
    });
}

function GetContactGroups(contactID){
    $.ajax({
        url: "/SATCMS/includes/disp_contactgroupsind.asp?ContactID=" + contactID,
        success: function(data, textStatus){
            $('#Contact_GroupsInd').html(data);
            tb_init('a.thickbox');
        }
    });
}

function GetContactContracts(contactID){
    $.ajax({
        url: "/SATCMS/includes/disp_contactcontracts.asp?ContactID=" + contactID,
        success: function(data, textStatus){
            $('#tab4_Contracts').html(data);
            tb_init('a.thickbox');
            // call the tablesorter plugin
            $("table").tablesorter({
                widgets: ['zebra']
            });
            $('a.jTip').cluetip({
                cluetipClass: 'jtip',
                width: 325,
                attribute: 'href',
                arrows: true, 
                hoverIntent: false,
                sticky: true,
                mouseOutClose: true,
                closePosition: 'title',
                closeText: '<img src="/SATCMS/images/cluetip/cross.png" style="position: relative; top: 2px;" alt="close" />',
                fx: {open: 'fadeIn'},
                onShow: function(ct, c){
                    $('.ajaxSponsorSearch').ajaxContent({
                        target: '#SearchResults',
                        success: function(obj,target,msg){
                            SelectThisTab('tablinkContacts_Search');
                        } 
                    });
                }
            });
        }
    });
}

function SetNoteSticky(valSticky,noteID) {
    $.ajax({
        type: "POST",
        url: "/SATCMS/includes/AJAX.asp?Object=Note&Action=Update",
        data: 'NoteID='+noteID+'&NoteStatic='+valSticky,
        success: function(data, textStatus){
            GetContactNotes(data);
        }
    });
}

function SoftDeleteNote(valHide,noteID) {
    $.ajax({
        type: "POST",
        url: "/SATCMS/includes/AJAX.asp?Object=Note&Action=Hide",
        data: 'NoteID='+noteID+'&NoteHide='+valHide,
        success: function(data, textStatus){
            GetContactNotes(data);
        }
    });
}

function HardDeleteNote(noteID) {
    $.ajax({
        type: "POST",
        url: "/SATCMS/includes/AJAX.asp?Object=Note&Action=Delete",
        data: 'NoteID='+noteID,
        success: function(data, textStatus){
            GetContactNotes(data);
        }
    });
}

function DeleteGroupContact(contactID,groupID,groupcontactID) {
    $.ajax({
        type: "POST",
        url: "/SATCMS/includes/AJAX.asp?Object=Group&Action=Remove+Single+Member",
        data: 'ContactID='+contactID+'&GroupID='+groupID+'&GroupContactID='+groupcontactID,
        success: function(data, textStatus){
            GetContactGroups(data);
        }
    });
}

function GetProdImportForm(){
    $.ajax({
        url: "/SATCMS/includes/frm_prod_import.asp",
        success: function(data, textStatus){
            $('#ProdImportContent').html(data);
        }
    });
}

function GetUploadedProduction(){
    url = "/SATCMS/includes/ajax.asp?object=Production&action=GetUploaded&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus){
            $('#ProdImportContent').html(data);
        }
    });
}

function AppendProduction(){
    url = "/SATCMS/includes/ajax.asp?object=Production&action=Append&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus){
            $('#ProdImportContent').html(data);
        }
    });
}

function GetUploadedContacts() {
    var pleaseWait = '<div style="text-align: center;"><img src="/SATCMS/images/loadingAnimation.gif" />' +
                     '<div style="margin-top: 1em;">Please wait while your upload is being processed...</div></div>';
    $('#ContactImportContent').html(pleaseWait);
    url = "/SATCMS/includes/ajax.asp?object=Contact&action=GetUploaded&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus) {
            $('#ContactImportContent').html(data);
            $(".ToggleAccept").click(function(i) {
                if ($(this).css("background-color") == "rgb(255, 255, 0)") $(this).css("background-color", "rgb(176, 196, 222)")
                else if ($(this).css("background-color") == "rgb(176, 196, 222)") $(this).css("background-color", "rgb(233, 150, 122)")
                else if ($(this).css("background-color") == "rgb(233, 150, 122)") $(this).css("background-color", "rgb(255, 255, 0)");
            });
        }
    });
}

function DiscardMatchingContacts() {
    var pleaseWait = '<div style="text-align: center;"><img src="/SATCMS/images/loadingAnimation.gif" />' +
                     '<div style="margin-top: 1em;">Matching contacts are being discarded from import...</div></div>';
    $('#ContactImportContent').html(pleaseWait);
    url = "/SATCMS/includes/ajax.asp?object=Contact&action=DiscardExactMatches&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus) {
            GetUploadedContacts();
        }
    });
}

function AppendImportedContacts() {
    var pleaseWait = '<div style="text-align: center;"><img src="/SATCMS/images/loadingAnimation.gif" />' +
                     '<div style="margin-top: 1em;">New contacts are being added...</div></div>';
    $('#ContactImportContent').html(pleaseWait);
    url = "/SATCMS/includes/ajax.asp?object=Contact&action=AppendImported&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus) {
            GetUploadedContacts();
        }
    });
}

function DeleteContactImport(ContactID) {
    if (confirm('Really delete this record?') == false) return false;
    url = "/SATCMS/includes/ajax.asp?object=Contact&action=DeleteImported&ContactID=" + ContactID + "&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus) {
            $("#" + ContactID).hide();
        }
    });    
}

function ToggleContactType(ctype) {
    if(ctype=='Agency') {
        $('.CKindAgent').css('display','block');
        $('.CKindCarrier').css('display','none');
        $('.CKindVendor').css('display','none');
    }
    else if(ctype=='Carrier') {
        $('.CKindAgent').css('display','none');
        $('.CKindCarrier').css('display','block');
        $('.CKindVendor').css('display','none');
    }
    else if(ctype=='Vendor') {
        $('.CKindAgent').css('display','none');
        $('.CKindCarrier').css('display','none');
        $('.CKindVendor').css('display','block');
    }
}

function GetPresentation(ID) {
    url = "/SATCMS/includes/disp_viewpresentation.asp?TrainID=" + ID + "&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus) {
            SelectThisTab('tablinkTools_View');
            $('#tabareaTools_View').html(data);
        }
    });
}

function GetPresentationL(ID) {
    url = "/SATCMS/includes/disp_viewpresentation.asp?TrainID=" + ID + "&sid=" + Math.random();
    $.ajax({
        url: url,
        success: function(data, textStatus) {
            SelectThisTab('tablinkLTools_lView');
            $('#tabareaLTools_lView').html(data);
        }
    });
}

function SaveRole(oButton,sValueID){
    oButton.disabled = true;
    url = "/SATCMS/includes/ajax.asp?object=UserRole&action=Update&UserRoleID=" + sValueID;
    $("#table_UserRole input").each(function(i){
        if(this.id.substring(this.id.search('~')+1, this.id.length)==sValueID) {
            if(this.type=='checkbox') fieldVal = (this.checked)?'1':'0';
            else fieldVal = encodeURIComponent(this.value);
            url += '&'+this.id.substr(0,this.id.search('~'))+'='+fieldVal;
        }
    });
    $.ajax({
        url: url,
        success: function(data, textStatus){
            oButton.disabled = false;
        }
    });
}

function AddRole(oButton){
    oButton.disabled = true;
    url = "/SATCMS/includes/ajax.asp?object=UserRole&action=Add";
    $("#table_UserRole input").each(function(i){
        if(this.id.substring(this.id.search('~')+1, this.id.length)=='UserRole') {
            if(this.type=='checkbox') fieldVal = (this.checked)?'1':'0';
            else fieldVal = encodeURIComponent(this.value);
            url += '&'+this.id.substr(0,this.id.search('~'))+'='+fieldVal;
        }
    });
    $.ajax({
        url: url,
        success: function(data, textStatus){
            $("#table_UserRole").html(data);
        }
    });
}

function DeleteRole(oButton,sValueID){
    oButton.disabled = true;
    url = "/SATCMS/includes/ajax.asp?object=UserRole&action=Delete&UserRoleID=" + sValueID;
    $.ajax({
        url: url,
        success: function(data, textStatus){
            $("#table_UserRole").html(data);
        }
    });
}

function SaveCLevel(oButton,sValueID){
    oButton.disabled = true;
    url = "/SATCMS/includes/ajax.asp?object=ContractLevel&action=Update&ContractLevelID=" + sValueID;
    $("#table_ContractLevel input").each(function(i) {
        if(this.id.substring(this.id.search('~')+1, this.id.length)==sValueID) {
            if(this.type=='checkbox') fieldVal = (this.checked)?'1':'0';
            else fieldVal = encodeURIComponent(this.value);
            url += '&'+this.id.substr(0,this.id.search('~'))+'='+fieldVal;
        }
    });
    $.ajax({
        url: url,
        success: function(data, textStatus){
            oButton.disabled = false;
        }
    });
}

function AddCLevel(oButton){
    oButton.disabled = true;
    url = "/SATCMS/includes/ajax.asp?object=ContractLevel&action=Add";
    $("#table_ContractLevel input").each(function(i) {
        if(this.id.substring(this.id.search('~')+1, this.id.length)=='ContractLevel') {
            if(this.type=='checkbox') fieldVal = (this.checked)?'1':'0';
            else fieldVal = encodeURIComponent(this.value);
            url += '&'+this.id.substr(0,this.id.search('~'))+'='+fieldVal;
        }
    });
    $.ajax({
        url: url,
        success: function(data, textStatus){
            $("#table_ContractLevel").html(data);
        }
    });
}

function DeleteCLevel(oButton,sValueID){
    oButton.disabled = true;
    url = "/SATCMS/includes/ajax.asp?object=ContractLevel&action=Delete&ContractLevelID=" + sValueID;
    $.ajax({
        url: url,
        success: function(data, textStatus){
            $("#table_ContractLevel").html(data);
        }
    });
}

function onLoad_Dash() {
    $('.ajax').ajaxContent();
	
    tb_init('a.thickbox');

    DatePickerInit();

    $('a.jTip').cluetip({
        cluetipClass: 'jtip',
        width: 325,
        attribute: 'href',
        arrows: true,
        hoverIntent: false,
        sticky: true,
        mouseOutClose: true,
        closePosition: 'title',
        closeText: '<img src="/SATCMS/images/cluetip/cross.png" style="position: relative; top: 2px;" alt="close" />',
        fx: { open: 'fadeIn' },
        onShow: function(ct, c) {
            $('.ajaxSponsorSearch').ajaxContent({
                target: '#SearchResults',
                success: function(obj, target, msg) {
                    SelectThisTab('tablinkContacts_Search');
                }
            });
        }
    });
    
    $('#dash_ProdOverviewForm').ajaxForm({
        success:  function(responseText, statusText)  {
            $('#dash_ProdOverviewResults').html(responseText);
            //Produce "Production by Month" flash chart
            var so = new SWFObject("/SATCMS/charts/amline/amline.swf", "amline", "800", "400", "8", "#FFFFFF");
            so.addVariable("path", "/SATCMS/charts/amline/");
			so.addVariable("wmode", "transparent");
            so.addVariable("settings_file", encodeURIComponent("/SATCMS/charts/amline/amline_settings.xml"));
            so.addVariable("data_file", encodeURIComponent("/SATCMS/includes/cht_prodoverview01.asp?FromDate=" + $("#dash_ProdOverviewBegDate").html() + "&ToDate=" + $("#dash_ProdOverviewEndDate").html() + "&DashPSearchIND=Y"));
            so.write("dash_ProdOverviewFlash");
        }
    });
	

}

function onLoad_Company(){
    $("#CompanyParentName").autocomplete("/SATCMS/includes/ajax.asp?Object=Company&Action=AutoComplete", {
        minChars:  2
    });
    $("#CompanyParentName").result(function(event, data, formatted) {
        if(data) $('#CompanyParentID').val(data[1]); else $('#CompanyParentID').val('');
    });

    $("#company_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'CompanyValidation'});
    
    $('#company_form').ajaxForm({ 
        beforeSubmit:  function(formData, jqForm, options) {
            if($('input[@name=Action]').fieldValue()[0]=='Delete') {
                if(confirm('Really delete this company?')==false) return false;
            }
            if($('#CompanyValidation').html()=='') return true; else return false;
        },
        success:  function(responseText, statusText)  { 
            if(responseText.length==36){
                GetCompanyInfo(responseText);
                tb_remove();
            }
            else if(!responseText){
                $('#tabareaContacts_Info').html('<h2>No Contact/Company Selected</h2>');
                GetSearchForm();
                SelectThisTab('tablinkContacts_Search');
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    });
}

function onLoad_Contact(){
    $("#ContactAssignedToName").autocomplete("/SATCMS/includes/ajax.asp?Object=Contact&Action=AutoComplete", {
        minChars:  2
    });
    $("#ContactAssignedToName").result(function(event, data, formatted) {
        if(data) $('#ContactAssignedToID').val(data[1]); else $('#ContactAssignedToID').val('');
    });

    $("#contact_form").validationAideEnable(null, { showInlineMessages: true, summaryElementId: 'ContactValidation' });
    
/*
    $("#contact_form").validate({

        errorLabelContainer: $("#contact_form div.error"),
        
        messages: {
            required: {
                required: ""
            },
            email: {
                required: "",
                email: "Not a valid email address, example: you@yourdomain.com"
            }
        }             
    });
    
    $("input.phone").mask("(999) 999-9999");
    $("input.zipcode").mask("99999");
*/
    
    $('#contact_form').ajaxForm({ 
        beforeSubmit:  function(formData, jqForm, options) { 
            if($('input[@name=Action]').fieldValue()[0]=='Delete') {
                if(confirm('Really delete this contact?')==false) return false;
            }
            if($('#contact_form div.error').html()=='') return true; else return false;
        },
        success:  function(responseText, statusText) {
            if(responseText.length==36){
                GetContactInfo(responseText);
                tb_remove();
            }
            else if(!responseText){
                $('#tab_Info').html('');
                SelectTab('Search');
                //this needs to be replaced with something that triggers the search form submision
                //GetSearchResults(null);
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    });
}

function onLoad_ContactAddress(){
    $("#address_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'AddressValidation'});
    
    $('#address_form').ajaxForm({ 
        beforeSubmit:  function(formData, jqForm, options) { 
            if($('input[@name=Action]').fieldValue()[0]=='Delete') {
                if(confirm('Really delete this address?')==false) return false;
            }
            if($('#AddressValidation').html()=='') return true; else return false;
        },
        success:  function(responseText, statusText) {
            if(responseText.length==36){
                GetContactInfo(responseText);
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    });
}

function onLoad_ContactCompany(){
    $("#CompanyName").autocomplete("/SATCMS/includes/ajax.asp?Object=Company&Action=AutoComplete", {
        minChars:  2
    });
    $("#CompanyName").result(function(event, data, formatted) {
        if (data) {
            $('#CompanyID').val(data[1]);
            $.getJSON(
                "/SATCMS/includes/ajax.asp?object=ContactType&action=CompanyFilter&CompanyID=" + data[1],
                function(json) {
                    $("#ContactTypeID")[0].length = 0;
                    var oOption = document.createElement("OPTION");
                    $("#ContactTypeID")[0].appendChild(oOption);
                    for (var sID in json) {
                        var oOption = document.createElement("OPTION");
                        oOption.appendChild(document.createTextNode(json[sID]));
                        oOption.value = sID;
                        oOption.text = json[sID];
                        $("#ContactTypeID")[0].appendChild(oOption);
                    }
                }
            );
        }
        else {
            $('#CompanyID').val('');
        }
    });

    $("#contactcompany_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'ContactCompanyValidation'});
    
    $('#contactcompany_form').ajaxForm({ 
        beforeSubmit:  function(formData, jqForm, options) { 
            if($('input[@name=Action]').fieldValue()[0]=='Delete') {
                if(confirm('Really delete this company?')==false) return false;
            }
            if($('#ContactCompanyValidation').html()=='') return true; else return false;
        },
        success:  function(responseText, statusText) {
            if(responseText.length==36){
                GetContactInfo(responseText);
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    });
}

function onLoad_ContactGroups() {
    $(document).ready(function() {
        $('div.GroupList> div').hide();
        $('div.GroupList> h4').click(function() {
            $(this).next('div').slideToggle("fast", function() {
                if ($(this).css("display") == "block") {
                    $.ajax({
                        url: "/SATCMS/includes/ajax.asp?object=Contact&action=Search&type=Member&GroupID=" + $(this).attr("className"),
                        success: function(data, textStatus) {
                            $('#GroupMembers').html(data);
                            tb_init('a.thickbox');
                        }
                    });
                }
                else {
                    $('#GroupMembers').html("");
                }
            })
            .siblings('div:visible').slideUp('fast');
        });
        tb_init('a.thickbox');
    });
}

function onLoad_Group() {
    $("#group_form").validationAideEnable(null, { showInlineMessages: true, summaryElementId: 'GroupValidation' });

    $('#group_form').ajaxForm({
        beforeSubmit: function(formData, jqForm, options) {
            if ($('input[@name=Action]').fieldValue()[0] == 'Delete') {
                if (confirm('Really delete this group?') == false) return false;
            }
            if ($('#GroupValidation').html() == '') return true; else return false;
        },
        success: function(responseText, statusText) {
            if (!responseText) {
                $.ajax({
                    url: "/SATCMS/includes/disp_contactgroups.asp",
                    success: function(data, textStatus) {
                        $('#tabareaContacts_Groups').html(data);
                    }
                });
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    });
}

//for multiple add from search
function onLoad_GroupAdd() {
    $("#groupadd_form").validationAideEnable(null, { showInlineMessages: true, summaryElementId: 'GroupAddValidation' });

    $('#groupadd_form').ajaxForm({
        beforeSubmit: function(formData, jqForm, options) {
            if ($('#GroupAddValidation').html() == '') return true; else return false;
        },
        success: function(responseText, statusText) {
            alert(responseText);
            tb_remove();
        }
    });
}

//for individual add
function onLoad_GroupAddContact() {
    $("#groupaddcontact_form").validationAideEnable(null, { showInlineMessages: true, summaryElementId: 'GroupAddContactValidation' });
    
    $('#groupaddcontact_form').ajaxForm({
        beforeSubmit: function(formData, jqForm, options) {
            if ($('#GroupAddContactValidation').html() == '') return true; else return false;
        },
        success: function(responseText, statusText) {
            if (responseText.length == 36) {
                GetContactGroups(responseText);
            }
            else {
                alert(responseText);
            }
            tb_remove();
        }
    });
}

function onLoad_Contract() {
    $("#ContactAssignedToName").autocomplete("/SATCMS/includes/ajax.asp?Object=Contact&Action=AutoComplete", {
        minChars:  2
    });
    $("#ContactAssignedToName").result(function(event, data, formatted) {
        if(data) $('#AssignedContactID').val(data[1]); else $('#AssignedContactID').val('');
    });
	$("#AgencyCompanyName").autocomplete("/SATCMS/includes/ajax.asp?Object=Company&Action=AutoComplete", {
        minChars:  2
    });
    $("#AgencyCompanyName").result(function(event, data, formatted) {
        if(data) $('#AgencyCompanyID').val(data[1]); else $('#AgencyCompanyID').val('');
        $('#SponsorAgencyName').val(data[0]);
        $('#SponsorAgencyName').search();
    });

    $("#InsCompanyName").autocomplete("/SATCMS/includes/ajax.asp?Object=Company&Action=AutoComplete", {
        minChars:  2
    });
    $("#InsCompanyName").result(function(event, data, formatted) {
        if(data) {
            $('#InsCompanyID').val(data[1]);
            $.ajax({
                url: "/SATCMS/includes/AJAX.asp?object=Contract&action=GetLevels&CompanyID=" + data[1],
                success: function(data, textStatus){
                    $('#span_ContractLevelID').html(data);
                }
            });
            if($('#SponsorAgencyID').val() > '') {
                $.ajax({
                    type: "POST",
                    url: "/SATCMS/includes/AJAX.asp?object=Contract&action=GetSponsorContracts",
                    data: "AgencyCompanyID="+$('#SponsorAgencyID').val()+"&InsCompanyID="+data[1],
                    success: function(data, textStatus){
                        $('#span_SponsorContractID').html(data);
                    }
                });
            }
        }
        else $('#InsCompanyID').val('');
    });

    $("#SponsorAgencyName").autocomplete("/SATCMS/includes/ajax.asp?Object=CompanyOrContact&Action=AutoComplete", {
        minChars:  2
    });
    $("#SponsorAgencyName").result(function(event, data, formatted) {
        if(data) {
            $('#SponsorAgencyID').val(data[1]);
            if($('#InsCompanyID').val() > '') {
                $.ajax({
                    type: "POST",
                    url: "/SATCMS/includes/AJAX.asp?object=Contract&action=GetSponsorContracts",
                    data: "AgencyCompanyID="+data[1]+"&InsCompanyID="+$('#InsCompanyID').val(),
                    success: function(data, textStatus){
                        $('#span_SponsorContractID').html(data);
                    }
                });
            }
        }
    });

    $("#contract_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'ContractValidation'});
    
    $('#contract_form').ajaxForm({
        beforeSubmit:  function(formData, jqForm, options) {
            if($('input[@name=Action]').fieldValue()[0]=='Delete') {
                if(confirm('Really delete this contract?')==false) return false;
            }
            if($('#ContractValidation').html()=='') return true; else return false;
        },
        success:  function(responseText, statusText) {
            if(responseText.length==36){
                GetContactContracts(responseText);
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    }); 
}

function onLoad_ContractGAH() {
    $("#AgencyCompanyName2").autocomplete("/SATCMS/includes/ajax.asp?Object=Company&Action=AutoComplete", {
        minChars:  2
    });
    $("#AgencyCompanyName2").result(function(event, data, formatted) {
        if(data) $('#AgencyCompanyID2').val(data[1]); else $('#AgencyCompanyID2').val('');
        $('#SponsorAgencyName2').val(data[0]);
        $('#SponsorAgencyName2').search();
    });

    $("#InsCompanyName2").autocomplete("/SATCMS/includes/ajax.asp?Object=Company&Action=AutoComplete", {
        minChars:  2
    });
    $("#InsCompanyName2").result(function(event, data, formatted) {
        if(data) {
            $('#InsCompanyID2').val(data[1]);
            $.ajax({
                url: "/SATCMS/includes/AJAX.asp?object=Contract&action=GetLevels&CompanyID=" + data[1],
                success: function(data, textStatus){
                    $('#span_ContractLevelID2').html(data);
                }
            });
            if($('#SponsorAgencyID2').val() > '') {
                $.ajax({
                    type: "POST",
                    url: "/SATCMS/includes/AJAX.asp?object=Contract&action=GetSponsorContracts",
                    data: "AgencyCompanyID="+$('#SponsorAgencyID2').val()+"&InsCompanyID="+data[1],
                    success: function(data, textStatus){
                        $('#span_SponsorContractID2').html(data);
                    }
                });
            }
        }
        else $('#InsCompanyID2').val('');
    });

    $("#SponsorAgencyName2").autocomplete("/SATCMS/includes/ajax.asp?Object=CompanyOrContact&Action=AutoComplete", {
        minChars:  2
    });
    $("#SponsorAgencyName2").result(function(event, data, formatted) {
        if(data) {
            $('#SponsorAgencyID2').val(data[1]);
            if($('#InsCompanyID2').val() > '') {
                $.ajax({
                    type: "POST",
                    url: "/SATCMS/includes/AJAX.asp?object=Contract&action=GetSponsorContracts",
                    data: "AgencyCompanyID="+data[1]+"&InsCompanyID="+$('#InsCompanyID2').val(),
                    success: function(data, textStatus){
                        $('#span_SponsorContractID2').html(data);
                    }
                });
            }
        }
    });

    //$("#contract_form2").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'ContractValidation'});
    
    $('#contract_form2').ajaxForm({
        success:  function(responseText, statusText) {
            if(responseText.length>0){
                $('#span_UpdatedContracts').html(responseText);
            }
        }
    }); 
}

function onLoad_BulkMail(){
    $("#EmailForm").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'EmailFormValidation'});

    $('#EmailForm').ajaxForm({
        beforeSubmit: function(formData, jqForm, options) {
            // this copies content from FCKeditor
            var content = FCKeditorAPI.GetInstance('MsgBody').GetXHTML();
            // this copies the content to the hidden field
            for (var i = 0; i < formData.length; i++) {
                if (formData[i].name == 'MsgBody') {
                    formData[i].value = content;
                    break;
                }
            }
            if ($('#EmailFormValidation').html() == '') {
                $('#EmailRoutine').html("<h3 style='text-align:center;padding:10px;'><img src='/SATCMS/images/loadingAnimation.gif' alt='Processing...' /></h3>");
                $("#EmailProgress").removeClass("done").html("");
                return true;
            }
            else {
                return false;
            }
        },
        success: function(responseText, statusText) {
            $('#EmailProgress').html(responseText + " e-mails are in the queue to be sent. Please wait...");
            var timerid = setInterval("checkMailProgress()", 2000);
            sendEmails(timerid, 0, null);
        }
    });
}

function checkMailProgress() {
    $.ajax({
        url: "/SATCMS/includes/AJAX.asp?object=Contact&action=MailProgress",
        success: function(data, textStatus) {
            if ($("#EmailProgress").hasClass("done") == false) {
                if (data != "0,0") {
                    var aVal = data.split(",")
                    if (aVal[0] == aVal[1]) {
                        $('#EmailProgress').html("All " + aVal[1] + " e-mails were sent successfully!");
                    }
                    else {
                        $("#EmailProgress").html(aVal[0] + " of " + aVal[1] + " e-mails have been sent. Please wait...");
                    }
                }
            }
        }
    });
}

function sendEmails(timerid, retryCount, responseText) {
    var maxFailures = 10;
    retryCount++;
    if (retryCount <= maxFailures) {
        $.ajax({
            url: "/SATCMS/includes/emailsend.asp",
            error: function(xhr, textStatus, errorThrown) {
                sendEmails(timerid, retryCount, xhr.responseText);
            },
            success: function(data, textStatus) {
                clearInterval(timerid);
                $("#EmailProgress").addClass("done").html(data);
            }
        });
    }
    else {
        clearInterval(timerid);
        $("#EmailProgress").addClass("done").html("The email process has failed " + maxFailures.toString() + " times.  The last error was:<br/>" + responseText);
    }
}

function onLoad_Note(){
    $("#note_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'NoteValidation'});
    
    $('#note_form').ajaxForm({ 
        beforeSubmit:  function(formData, jqForm, options) {
            if($('input[@name=Action]').fieldValue()[0]=='Delete') {
                if(confirm('Really delete this note?')==false) return false;
            }
            if($('#NoteValidation').html()=='') return true; else return false;
        },
        success:  function(responseText, statusText) {
            if(responseText.length==36){
                GetContactNotes(responseText);
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    }); 
}

function onLoad_Production(){
    $("#ProdAgentNbr").autocomplete("/SATCMS/includes/ajax.asp?Object=Agent&Action=AutoComplete", {
        minChars: 2,
        width: 300,
        formatItem: function(data) {
            var item = data[0] + ' - ' + data[6] + '<div style="margin-left: 1.0em;">'
            if (data[1] == '[Corporate]') {
                item += '[Corporate Contract]'
            }
            else {
                item += data[1] + ', ' + data[2]
                if (data[10] == '1') item += ' (corporate)'
            }
            item += '</div>';
            return item;
        }
    });
    $("#ProdAgentNbr").result(function(event, data, formatted) {
        if (data) {
            if (data[1] == '[Corporate]') {
                $('#AgentName').html(data[2]);
                $("#SelectExec").change(function() {
                    if ($(this).val()) {
                        var dataExec = $(this).val().split("~");
                        $('#AgentName').html(dataExec[1] + ', ' + dataExec[2]);
                        $('#AgentLast').val(dataExec[1]);
                        $('#AgentFirst').val(dataExec[2]);
                        $('#ContactID').val(dataExec[0]);
                        $('#ContactAssignedToName').html(dataExec[4]);
                        $('#ContactAssignedToID').val(dataExec[3]);
                    }
                    else {
                        $('#AgentLast').val('');
                        $('#AgentFirst').val('');
                        $('#ContactID').val('');
                        $('#ContactAssignedToName').html('');
                        $('#ContactAssignedToID').val('');
                    }
                })
                .change();
            }
            else {
                $('#AgentName').html(data[1] + ', ' + data[2]);
                $('#AgentLast').val(data[1]);
                $('#AgentFirst').val(data[2]);
                $('#ContactID').val(data[3]);
                $('#ContactAssignedToName').html(data[8]);
                $('#ContactAssignedToID').val(data[9]);
            }
            $('#AgencyCompanyName').html(data[4]);
            $('#AgencyCompanyID').val(data[5]);
            $('#InsCompanyName').html(data[6]);
            $('#InsCompanyID').val(data[7]);
            $('#ContractID').val(data[11]);
        }
        else {
            $('#AgentName').html('');
            $('#AgentLast').val('');
            $('#AgentFirst').val('');
            $('#ContactID').val('');
            $('#AgencyCompanyName').html('');
            $('#AgencyCompanyID').val('');
            $('#InsCompanyName').html('');
            $('#InsCompanyID').val('');
            $('#ContactAssignedToName').html('');
            $('#ContactAssignedToID').val('');
            $('#ContractID').val('');
        }
    });
    
    //if($('#AgentNbr').val() > '') $('#AgentNbr').search();
    
    DatePickerInit(); 
    
    $("#production_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'ProductionValidation'});
    
    $('#production_form').ajaxForm({ 
        beforeSubmit:  function(formData, jqForm, options) {
            if($('input[@name=Action]').fieldValue()[0]=='Delete') {
                if(confirm('Really delete this production?')==false) return false;
            }
            if($('#ProductionValidation').html()=='') return true; else return false;
        },
        success:  function(responseText, statusText)  { 
            if (responseText > ''){
                alert(responseText);
            }
            else {
                alert('Production Saved');
                $('#AgentName').html('');
                $('#AgencyCompanyName').html('');
                $('#InsCompanyName').html('');
                $('#ContactAssignedToName').html('');
            }
        },
        clearForm:true
    }); 
}

function onLoad_Profile(){
    $("#profile_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'ProfileValidation'});
    
    $('#profile_form').ajaxForm({ 
        beforeSubmit:  function(formData, jqForm, options) { 
            if($('#ProfileValidation').html()=='') return true; else return false;
        } ,
        success:  function(responseText, statusText) {
            if(!responseText){
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    }); 
}

function onLoad_ContactSearch(){
    $(document).ready(function() {
        $("#SearchAssignedTo").autocomplete("/SATCMS/includes/ajax.asp?Object=Contact&Action=AutoComplete", {
            minChars: 2
        });
        $("#SearchAssignedTo").result(function(event, data, formatted) {
            if (data) $('#Asgn').val(data[1]); else $('#Asgn').val('');
        });

        $("#search_form").validationAideEnable(null, { showInlineMessages: true, summaryElementId: 'ContactSearchValidation' });

        InitShowHide();

        $('#search_form').ajaxForm({
            beforeSubmit: function(formData, jqForm, options) {
                if ($('#ContactSearchValidation').html() == '') {
                    $('#SearchResults').html("<h3 style='text-align:center;padding:10px;'><img src='/SATCMS/images/loadingAnimation.gif' alt='Searching...' /></h3>");
                    return true;
                }
                else {
                    return false;
                }
            },
            success: function(responseText, statusText) {
                $('#SearchResults').html(responseText);
                tb_init('a.thickbox');
            }
        });
		
		$('#search_form_Comp').ajaxForm({
            beforeSubmit: function(formData, jqForm, options) {
                if ($('#ContactSearchValidation').html() == '') {
                    $('#SearchResults').html("<h3 style='text-align:center;padding:10px;'><img src='/SATCMS/images/loadingAnimation.gif' alt='Searching...' /></h3>");
                    return true;
                }
                else {
                    return false;
                }
            },
            success: function(responseText, statusText) {
                $('#SearchResults').html(responseText);
                tb_init('a.thickbox');
            }
        });
    });
}

function onLoad_Task(fromDash){
    $("#TaskTargetName").autocomplete("/SATCMS/includes/ajax.asp?Object=Contact&Action=AutoComplete", {
        minChars:  2
    });
    $("#TaskTargetName").result(function(event, data, formatted) {
        if(data) $('#TaskTargetID').val(data[1]); else $('#TaskTargetID').val('');
    });

    $("#TaskSourceName").autocomplete("/SATCMS/includes/ajax.asp?Object=Contact&Action=AutoComplete", {
        minChars:  2
    });
    $("#TaskSourceName").result(function(event, data, formatted) {
        if(data) $('#TaskSourceID').val(data[1]); else $('#TaskSourceID').val('');
    });

    $("#TaskReferenceName").autocomplete("/SATCMS/includes/ajax.asp?Object=Contact&Action=AutoComplete", {
        minChars:  2
    });
    $("#TaskReferenceName").result(function(event, data, formatted) {
        if(data) $('#TaskReferenceID').val(data[1]); else $('#TaskReferenceID').val('');
    });

    $('#TaskDueDate').datepicker();  

    $("#task_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'TaskValidation'});
    
    $('#task_form').ajaxForm({ 
        beforeSubmit:  function(formData, jqForm, options) {
            if($('input[@name=Action]').fieldValue()[0]=='Delete') {
                if(confirm('Really delete this task?')==false) return false;
            }
            if($('#TaskValidation').html()=='') return true; else return false;
        },
        success:  function(responseText, statusText) {
            if(responseText.length==36 || !responseText){
                if(fromDash=='') GetContactTasks(responseText);
                $.ajax({
                    url: "/SATCMS/includes/disp_dash.asp",
                    success: function(data, textStatus){
                        $('#tabarea_Dash').html(data);
                    }
                });
                tb_remove();
            }
            else {
                alert(responseText);
            }
        }
    }); 
}

function onLoad_ReportsContracts(){
    $(document).ready(function() {
        $('.ajaxReportsContracts').ajaxContent({
            target: '#tabareaReports_Contracts'
        });
        $("div.ParentContract").click(function(){
            $(this).next().toggle();
            if($(this).next().is(':visible')) {
                $(this).find("img").attr("src","/SATCMS/images/collapse.gif");
            }
            else {
                $(this).find("img").attr("src","/SATCMS/images/expand.gif");
            }
        });
    });
}

function onLoad_AdminProduction(){
    $(document).ready(function() {
        
        $('.DatePick').datepicker({    
            buttonImage: '/SATCMS/images/calendar.gif',  
            buttonImageOnly: true,  
            showOn: 'button'  
        });
        
        /*
        $("#production_search_form").validationAideEnable(null, {showInlineMessages:true,summaryElementId:'ProductionSearchValidation'});
        
        $('#ToDate').datepicker({    
            buttonImage: '/SATCMS/images/calendar.gif',  
            buttonImageOnly: true,  
            showOn: 'button'  
        });
        */
        /*
        $('#production_search_form').ajaxForm({
            beforeSubmit:  function(formData, jqForm, options) {
                if($('#ProductionSearchValidation').html()=='') {
                    $('#ProductionSearchResults').html("<h3 style='text-align:center;padding:10px;'><img src='/SATCMS/images/loadingAnimation.gif' alt='Searching...' /></h3>");
                    return true;
                }
                else {
                    return false;
                }
            },
            success:  function successCallback(responseText, statusText) {
                $('#ProductionSearchResults').html(responseText);
                tb_init('a.thickbox');
            } 
        });
        */
    });
}

function onLoad_AdminArticle(){
    $(document).ready(function() {
        $('.ajaxArticleEdit').ajaxContent({
            target: '#tabareaAdmin_Article'
        });
        $('#article_form').ajaxForm({ 
            beforeSubmit:  function(formData, jqForm, options) {
                // this copies content from FCKeditor
                var content = FCKeditorAPI.GetInstance('Article').GetXHTML();
                // this copies the content to the hidden field
                for (var i=0; i < formData.length; i++) {
                    if (formData[i].name == 'Article') {
                        formData[i].value = content;
                        break;
                    }
                }
            },
            success:  function(responseText, statusText) {
                alert(responseText);
            }
        });
    });
}

function onLoad_AdminUsers(){
    $(document).ready(function() {
        $("#LoginAsName").autocomplete("/SATCMS/includes/ajax.asp?Object=Contact&Action=AutoCompleteLimit", {
            minChars:  2
        });
        $("#LoginAsName").result(function(event, data, formatted) {
            if(data) $('#LoginAs').val(data[1]); else $('#LoginAs').val('');
        });
        $(".flipv").flipv();
    });
}

function onLoad_ContactSearchResults(valType, count){
    $("#Pagination"+valType).pagination(count, {
        items_per_page: 100,
        num_edge_entries: 2,
        num_display_entries: 6,
        callback: function(page, jq){
            var firstRec = (page*100)+1;
            var lastRec = (page*100)+100;
            if(lastRec>count)lastRec = count;
            $('#ResultNumbers'+valType).text("Results "+firstRec+" - "+lastRec);
            page++;
            $.ajax({
                url: "/SATCMS/includes/ajax.asp?object=Contact&action=Search&type=" + valType + "&page=" + page,
                success: function(data, textStatus){
                    $('#Result'+valType).html(data);
                }
            });
            return false;
        }
    });
    $('#groupmember_form').ajaxForm({
        success: function(responseText, statusText) {
            if (responseText.length == 36) {
                $("h4#"+responseText).click().click();
            }
            else {
                alert(responseText);
            }
        }
    });

}

function DatePickerInit() {
    $('.DatePick').datepicker({
        buttonImage: '/SATCMS/images/calendar.gif',
        buttonText: 'Date Picker',
        buttonImageOnly: true,
        showOn: 'button'
    });
}

function ValidationDefaults() {
    jQuery.validator.rules.emailsetup.email = "true";
    jQuery.validator.rules.emailsetup.remote = "../check-email.asp";
    jQuery.validator.messages.required = "";
    jQuery.validator.messages.password2.equalTo = "Passwords do not match.";
    jQuery.validator.messages.password2.remote = jQuery.format("{0} is already taken.");

/*
    $("#"+formID).validate({
        errorLabelContainer: $("#"+formID+" div.error"),
        
        rules: {
            emailsetup: {
                email: true,
                remote: "../check-email.asp"
            }
        },
        
        messages: {
            email: {
                required: " ",
                email: "Not a valid email address, example: you@yourdomain.com",
                remote: jQuery.format("{0} is already taken.")    
            }
        },
        debug:true
    });
*/    
    $("input.phone").mask("(999) 999-9999");
    $("input.zipcode").mask("99999");
    
}