var ajaxObj = new XMLHTTP("ajax.php");
var objCurrentControl;

function bec_toogle(strId, strKey, enmMode) {
    var objParent = $(strId);
    var objHidden = $(strId + "_" + strKey);
    var objCheck = objHidden.parentNode;
    
    if (objParent && objHidden && objCheck) {
        if (objHidden.value != "0") {
            objHidden.value = "0";
            objCheck.className = "checkbox checkbox_off";
        } else {
            if (enmMode == "BECHECKBOX_MODE_UNIQUE") {
                var objChilds = objParent.getElementsByTagName("div");
                var objTmp;

                for (var i = 0; i < objChilds.length; i++) {
                    objTmp = getChild(objChilds[i], 1);

                    if (objTmp.value != "0") {
                        bec_toogle(strId, objTmp.id.substring(objTmp.id.indexOf("_") + 1));
                    }
                }
            }

            objHidden.value = "1";
            objCheck.className = "checkbox checkbox_on";
        }
    }
    
}

function be_currentControl(objControl) {
    objCurrentControl = objControl;
}

/* keyboard */
function be_keyborard(strChar, event) {
    if (objCurrentControl) {
        if (strChar != "") {
            objCurrentControl.value = "" + objCurrentControl.value + strChar;
        } else if (objCurrentControl.value.length > 0) {
            objCurrentControl.value = objCurrentControl.value.substring(0, objCurrentControl.value.length - 1);
        }

        objCurrentControl.focus();
    }
    
    return cancelEvent(event);
}

/* calendar */
function selectDay(strDay, objControl, event) {
    var objTable = $("calendar");
    var arrChilds = objTable.getElementsByTagName("a");
    var objDate = $("date");

    for (var i = 0; i < arrChilds.length; i++) {
        arrChilds[i].className = "";
    }
    
    if (objDate) {
        objControl.className = "selected";
        objDate.value = strDay;
    }
    
    return cancelEvent(event);
}

/* products */
function setCoords(lat, lng) {
    var objAddressLatitude = document.getElementById("addressLatitude");
    var objAddressLongitude = document.getElementById("addressLongitude");

    if (objAddressLatitude && objAddressLongitude) {
        objAddressLatitude.value = lat;
        objAddressLongitude.value = lng;
    }
}

function searchAddress(strAddress, strCode) {
    notFound = function() { showCoords(41.6205435317236, 0.6188178062438965, strCode, "Adreça no trovada: s'ha d'establir manualment", "", 16, function(lat, lng) { setCoords(lat, lng); } ); };

    strAddress = replaceAll(strAddress, " ", "_");
	strAddress = strAddress + ",Lleida,Spain";

    initMap('map');
    showAddress(strAddress, strCode, '', '', notFound, 16, function(lat, lng) { setCoords(lat, lng); }, function(lat, lng) { setCoords(lat, lng); });
}

/* ajax */
function addFavorite(strCode, objSource) {
    ajaxObj.abort_timeout = 30000;
    ajaxObj.format = "JSON";
    ajaxObj.call("action=ajax/addFavorite&code=" + strCode, function(result) {
        if (result !== false) {
            $("fcount").innerHTML = result;
        }
    });

    objDelete = getChild(objSource.parentNode, 1);

    objSource.style.display = "none";
    objDelete.style.display = "block";
}

function deleteFavorite(strCode, objSource) {
    addFavorite(strCode, objSource);

    objAdd = getChild(objSource.parentNode, 0);

    objSource.style.display = "none";
    objAdd.style.display = "block";
}

/* tooltip */
function showHelpTooltip(id, element) {
    if (element) {
        Position.clone(element, id, {offsetTop: -1 * (Element.getHeight(id) / 5), offsetLeft: 10});
        $(id).style.width="300px";
        $(id).style.height="auto";
    }

    Effect.Appear(id, {delay: 0, duration: .1});
}

function hideHelpTooltip(id) {
    Effect.Fade(id, {delay: .4, duration: .4 });
}

/* tpv*/
function tpvOnLoad() {
    attachObjEvent(window, "load", function() { 
        //vent=window.open('','tpv','width=725,height=600,scrollbars=no,resizable=yes,status=yes,menubar=no,location=no');
        document.forms[0].submit();
    } );
}
