// -------------------------------------------------------
// Business Ads
//
// $Id: advertise.js,v 1.1 2008/05/25 10:16:40 steve Exp $
//
// -------------------------------------------------------

function init_advertise() {

    if (document.getElementById('BusinessAdEmail')) {
        var elem = document.getElementById('BusinessAdEmail')
        addMouseOverAndOut(elem)
        EventManager.add(elem, EventManager.CLICK, showBusinessAdMailForm)
    }
    if (document.getElementById('BusinessAdCategorySelect')) {
        var elem = document.getElementById('BusinessAdCategorySelect')
        addBusinessAdCategories()
    }
}

function showBusinessAdMailForm() {

    var div  = document.getElementById('BusinessAdEmailDiv')
    Element.Create('span', '', 'centerSpan bold', 'Please enter your details below, and we will contact you.', div) ;
    Element.Create('br', '', '', '', div) ;
    Element.Create('br', '', '', '', div) ;
    var t    = Element.Create('table', '', '', '', div)
    var tb   = Element.Create('tbody', '', '', '', t)

    var tr1  = Element.Create('tr', '', '', '', tb)
    var td11 = Element.Create('td', '', '', 'Business Name: ', tr1)
    var td12 = Element.Create('td', '', '', '', tr1)
    TextInput.Create('BusAdName', '', td12)

    var tr2  = Element.Create('tr', '', '', '', tb)
    var td21 = Element.Create('td', '', '', 'Postcode: ', tr2)
    var td22 = Element.Create('td', '', '', '', tr2)
    TextInput.Create('BusAdPostcode', '', td22)

    var tr3  = Element.Create('tr', '', '', '', tb)
    var td31 = Element.Create('td', '', '', 'Contact Name: ', tr3)
    var td32 = Element.Create('td', '', '', '', tr3)
    TextInput.Create('BusAdContactName', '', td32)

    var tr4  = Element.Create('tr', '', '', '', tb)
    var td41 = Element.Create('td', '', '', 'Contact No: *', tr4)
    var td42 = Element.Create('td', '', '', '', tr4)
    TextInput.Create('BusAdContactNo', '', td42)

    var tr5  = Element.Create('tr', '', '', '', tb)
    var td51 = Element.Create('td', '', '', 'Email: *', tr5)
    var td52 = Element.Create('td', '', '', '', tr5)
    TextInput.Create('BusAdEmail', '', td52)

    var tr6  = Element.Create('tr', '', '', '', tb)
    var td61 = Element.Create('td', '', '', 'Message: ', tr6)
    var td62 = Element.Create('td', '', '', '', tr6)
    TextArea.Create('BusAdContactMessage', 5, 40, td62)

    var tr7  = Element.Create('tr', '', '', '', tb)
    var td71 = Element.Create('td', '', '', '', tr7)
    var td72 = Element.Create('td', '', '', '', tr7)
    var but  = Button.Create('Send', 'SubmitBusinessEmail', td72)
    EventManager.add(but, EventManager.CLICK, submitBusinessEmail)

    div.className = 'BusinessAdEmailDiv_Visible'
}

function submitBusinessEmail() {

    var busAdName           = document.getElementById('BusAdName').value
    var busAdPostcode       = document.getElementById('BusAdPostcode').value
    var busAdContactName    = document.getElementById('BusAdContactName').value
    var busAdContactNo      = document.getElementById('BusAdContactNo').value
    var busAdEmail          = document.getElementById('BusAdEmail').value
    var busAdContactMessage = document.getElementById('BusAdContactMessage').value

    if (!busAdContactNo && !busAdEmail) {
        alert('Please enter a phone number of email so we can contact you.')
        return ;
    }
    PARAMS = 'Action=submitBusinessEmail&Name=' + busAdName +
                                       '&Postcode=' + busAdPostcode +
                                       '&ContactName=' + busAdContactName +
                                       '&ContactNo=' + busAdContactNo +
                                       '&Email=' + busAdEmail +
                                       '&Message=' + busAdContactMessage
    jQuery.post(SITEURL, PARAMS, _submitBusinessEmail)
}

function _submitBusinessEmail(data) {

    var div  = document.getElementById('BusinessAdEmailDiv')
    div.innerHTML = ''
    div.className = 'invisible'
    alert('Thank you for your interest. We will be in touch shortly.')
}

function addBusinessAdCategories() {

    PARAMS = 'Action=getWantedCategories'
    jQuery.post(SITEURL, PARAMS, _addBusinessAdCategories)
}

function _addBusinessAdCategories(data) {

    data = jsonData(data)
    var elem = document.getElementById('BusinessAdCategorySelect')
    addToDropDownWithId(elem, '-- Please Select --', 0)
    categories = data.Categories
    for (i = 0; i < categories.length - 1; i++) {
        var id       = categories[i].Id
        var category = categories[i].Category
        addToDropDownWithId(elem, category, id)
    }
    EventManager.add(elem, EventManager.CHANGE, checkBusinessAdCategory)
}

function checkBusinessAdCategory() {

    var postcode = document.getElementById('BusinessAdPostcode').value
    if (!postcode) {
        alert('Please enter a postcode')
        return
    }
    var ind = document.getElementById('BusinessAdCategorySelect').selectedIndex
    var cat = document.getElementById('BusinessAdCategorySelect').options[ind].value

    PARAMS = 'Action=checkBusinessAdAvailability' +
                          '&Postcode=' + postcode +
                          '&Category=' + cat
    jQuery.post(SITEURL, PARAMS, _businessAdAvailability)
}

function _businessAdAvailability(data) {

    data = jsonData(data)
    elem = document.getElementById('BusinessAdAvailability')
    if (data.Match) {
        elem.innerHTML = 'We\'re afraid that Postcode and Category are already ' +
                         'taken. Is there another category you could use?' ;
    } else {
        elem.innerHTML = 'Congratulations! That Postcode and Category are available!' ;
        PARAMS = 'Action=getCounties' ;
        jQuery.post(SITEURL, PARAMS, _addBusinessAdCounties)
        var elem1  = document.getElementById('BusinessAdTownLabel')
        var elem2  = document.getElementById('BusinessAdTown')
        var elem3  = document.getElementById('BusinessAdCountyLabel')
        var elem4  = document.getElementById('BusinessAdCountySelect')
        var elem5  = document.getElementById('BusinessAdNameLabel')
        var elem6  = document.getElementById('BusinessAdName')
        var elem7  = document.getElementById('BusinessAdLinkLabel')
        var elem8  = document.getElementById('BusinessAdLink')
        var elem9  = document.getElementById('BusinessAdImgLabel')
        var elem10 = document.getElementById('BusinessAdImg')
        var elem11 = document.getElementById('BusinessAdSubmit')
        elem1.className  = 'visible'
        elem2.className  = 'visible'
        elem3.className  = 'visible'
        elem4.className  = 'visible'
        elem5.className  = 'visible'
        elem6.className  = 'visible'
        elem7.className  = 'visible'
        elem8.className  = 'visible'
        elem9.className  = 'visible'
        elem10.className = 'visible'
        elem11.className = 'visible'

        EventManager.add(elem11, EventManager.CLICK, submitBusinessAd)
    }
}

function submitBusinessAd() {

    PARAMS = 'Action=submitAd'
    jQuery.post(SITEURL, PARAMS, _submitBusinessAd)
}

function _submitBusinessAd(data) {

    var elem = document.getElementById('BusinessAdPayPal')
    elem.className  = 'visible'

}

function _addBusinessAdCounties(data) {

    data = jsonData(data)
    var sel  = document.getElementById('BusinessAdCountySelect')
    addToDropDown(sel, ' --- Select ---')
    counties = data.Counties
    for (i = 0; i < counties.length; i++) {
        var id   = counties[i].Id
        var name = counties[i].Name
        addToDropDownWithId(sel, name, id)
    }
}

