﻿var _pageLoaded = false;
function doPageLoad(evt) {
    if (_pageLoaded)
        return;
    if (document.location.toString().indexOf('#Contact') > -1) {
        toggleContactForm(evt);
    }
    var res = null;
    hideEmptySponsors();
    if (typeof (doLoad) == 'function') {
        res = doLoad(evt);
    }
    _pageLoaded = true;
    return res;
}

function hideEmptySponsors() {
    var divSponsors = document.getElementById('divSponsors');
    if (divSponsors) {
        var divs = divSponsors.getElementsByTagName('div');
        for (var i = 0; i < divs.length; i++) {
            if (divs[i].id && divs[i].id.indexOf('ads.button.') == 0) {
                divs[i].style.display = (!divs[i].childNodes
                            || divs[i].childNodes.length == 0) ?
                        'none' : 'block';

            }
        }
    }
}

function validateContactForm(
                    inpFormName,
                    inpFormMail,
                    inpFormCity,
                    inpFormSubject,
                    txtFormBody,
                    inpFormPhone,
                    errorDiv) {
    if (!inpFormName.value) {
        errorDiv.innerHTML = 'נא למלא את השדה: שם';
        return false;
    }
    if (!inpFormMail.value) {
        errorDiv.innerHTML = 'נא למלא את השדה: מייל';
        return false;
    }
    if (!inpFormSubject.value) {
        errorDiv.innerHTML = 'נא למלא את השדה: נושא';
        return false;
    }
    return true;
}

function sendContactForm(div, evt) {
    var formBox = div.parentNode.parentNode;
    var divFooterThanks = document.getElementById('divFooterThanks');
    var divFooterFormBox = document.getElementById('divFooterFormBox');
    var divContactFormError = document.getElementById('divContactFormError');

    formBox.inputs = formBox.getElementsByTagName('input');
    formBox.texts = formBox.getElementsByTagName('textarea');

    var inpFormName = formBox.inputs[0];
    var inpFormPhone = formBox.inputs[1];
    var inpFormMail = formBox.inputs[2];
    var inpFormCity = formBox.inputs[3];
    var inpFormSubject = formBox.inputs[4];
    var txtFormBody = formBox.texts[0];

    if (validateContactForm(
                    inpFormName,
                    inpFormMail,
                    inpFormCity,
                    inpFormSubject,
                    inpFormPhone,
                    txtFormBody,
                    divContactFormError)) {

        var transport = XmlHttpFactory._get();
        var async = false;
        var path = div.getAttribute('submitTo');
        transport.open('POST', path, async);
        transport.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        transport.onreadystatechange = transport.onload = function(evt) {
            if (transport.readyState < 4)
                return;
            if (transport.responseXML) {
                var root = transport.responseXML.documentElement;
                if (root) {
                    var statusNode = root.selectSingleNode('status');
                    if ('OK' == statusNode.text) {
                        divFooterFormBox.style.display = 'none';
                        divFooterThanks.style.display = 'block';
                        divContactFormError.style.display = 'none';
                    }
                    else {
                        divFooterThanks.style.display = 'none';
                        divFooterFormBox.style.display = 'block';
                        divContactFormError.innerHTML = 'קרתה שגיאה במהלך שליחת ההודעה, אנא נסו שנית מאוחר יותר';
                        divContactFormError.style.display = 'block';
                    }
                }
            }
            XmlHttpFactory._release(transport);
            XmlHttpFactory._pool.push(transport);
        };
        transport.send(
                    'type=contact&from=' + escape(inpFormName.value)
                    + '&phone=' + escape(inpFormPhone.value)
                    + '&mail=' + escape(inpFormMail.value)
                    + '&city=' + escape(inpFormCity.value)
                    + '&subject=' + escape(inpFormSubject.value)
                    + '&body=' + escape(txtFormBody.value)
                    );

    } else {
        divContactFormError.style.display = 'block';
    }

    if (evt) {
        evt.cancelBubble = true;
        evt.returnValue = false;
    }
    return;
}

function toggleContactForm(evt, positionElm) {
    var divContactPopup = document.getElementById('divContactPopup');

    if (positionElm) {
        if (!divContactPopup.setupPos) {
            //divContactPopup.style.position = 'absolute';
            divContactPopup.setupPos = getAbsolutePosition(divContactPopup);
            if (!divContactPopup.setupParent)
                divContactPopup.setupParent = divContactPopup.parentNode;
            if (!divContactPopup.setupSibling)
                divContactPopup.setupSibling = divContactPopup.nextSibling;
        }
        var pos = getAbsolutePosition(positionElm);
        divContactPopup.style.top = (pos.y + pos.height + 10) + 'px';
        divContactPopup.style.left = (pos.x - 200) + 'px';

        divContactPopup.parentNode.removeChild(divContactPopup);
        document.body.appendChild(divContactPopup);
    } else {
        if (divContactPopup.setupParent) {
            divContactPopup.parentNode.removeChild(divContactPopup);
            divContactPopup.setupParent.insertBefore(divContactPopup, divContactPopup.setupSibling);
        }
        if (divContactPopup.setupPos) {
            //divContactPopup.style.position = 'absolute';
            divContactPopup.style.top = (divContactPopup.setupPos.y - 700) + 'px';
            divContactPopup.style.left = (divContactPopup.setupPos.x - 50) + 'px';
        }
    }

    divContactPopup.style.display = ('none' == divContactPopup.style.display ? 'block' : 'none');
    if (evt) {
        evt.cancelBubble = true;
        evt.returnValue = false;
    }

    return;
}

function doSearch(evt, a) {
    var inpQueryText = document.getElementById('inpQueryText');
    document.location = a.getAttribute('href') + escape(inpQueryText.value);
    if (evt) {
        evt.cancelBubble = true;
        evt.returnValue = false;
    }
    return;
}

function checkEnter(evt, inp) {
    if (!evt)
        return;
    if (13 == evt.keyCode) {
        var a = inp.parentNode.getElementsByTagName('a')[0];
        return doSearch(evt, a);
    }
    return;
}

