function makeRequest(url, param)
{
    var http_request = false;
    if (window.XMLHttpRequest)
    {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
        {
            http_request.overrideMimeType('text/xml');

        }
    }
    else if (window.ActiveXObject)
    {
        try
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
        }
    }
    else
    {
        alert('failed!!');
        return false;
    }
    if (!http_request)
    {
        alert('failed!!');
        return false;
    }

    if (param)
    {
        http_request.onreadystatechange = function() {
            processResponse(http_request, param);
        };
    }

    http_request.open('GET', url, true);
    http_request.send(null);
}

function processResponse(http_request, param)
{
    if (http_request.readyState == 4)
    {
        if (http_request.status == 200)
        {
            if (param == 'add_favorite')
            {
                if (http_request.responseText == 'OK')
                {
                    alert(ui_messages[2]);
                }
            }
            if (param == 'delete_favorite')
            {
                document.location.reload();
            }
        }
        else
        {
    //alert('failed.');
    }
    }
}


function CheckInput(id, type)
{
    if (type == 'int')
    {
        var regxp = new RegExp("^[0-9]*$");
        var str = document.getElementById(id).value;
        if (!regxp.test(str))
        {
            document.getElementById(id).value = str.replace(/[^0-9]+/, '');
        }
    }
    if (type == 'int_comma')
    {
        var regxp = new RegExp("^[\,0-9]*$");
        var str = document.getElementById(id).value;
        if (!regxp.test(str))
        {
            document.getElementById(id).value = str.replace(/[^\,0-9]+/, '');
        }
    }

    //0-9,A-Z and '-'.
    if (type == 'zipcode')
    {
        var regxp = new RegExp("^[-0-9A-Za-z]*$");
        var str = document.getElementById(id).value;
        if (!regxp.test(str))
        {
            document.getElementById(id).value = str.replace(/[^-0-9A-Za-z]+/, '');
        }
    }
    
    if (type == 'alphanum')
    {
        var regxp = new RegExp("^[0-9 A-Za-z]*$");
        var str = document.getElementById(id).value;
        if (!regxp.test(str))
        {
            document.getElementById(id).value = str.replace(/[^0-9 A-Za-z]+/, '');
        }
    }
}

function SetInnerHtml(block_id, text)
{
    document.getElementById(block_id).innerHTML = text;
}

function SetValue(id, value)
{
    document.getElementById(id).value = value;
}

function GetElement(id)
{
    return document.getElementById(id);
}

function $(id)
{
    return document.getElementById(id);
}

function ShowBlock(id, display)
{
    $(id).style.display = display;
}

function IsSet(variable)
{
    return (typeof(variable) != 'undefined')?true:false;
}

function check_feedback_form()
{
    if ($('field1').value == '' || $('field2').value == '' || $('field3').value == '' || $('field4').value == '')
    {
        alert(ui_messages[0]);
        return false;
    }
    
    var re = /^[A-Za-z0-9_\.\-]{1,20}@(([A-Za-z0-9-]+\.)+(com|net|org|mil|edu|gov|arpa|info|biz|inc|name|[A-Za-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$/;
    if (!$('field2').value.match(re))
    {
        alert(ui_messages[1]);
        return false;
    }
    $('form_feedback').submit();
    return true;
}

function check_guestbook_form()
{
    if ($('field1').value == '' || $('field2').value == '' || $('field3').value == '' || $('field4').value == '')
    {
        alert(ui_messages[0]);
        return false;
    }
    
    var re = /^[A-Za-z0-9_\.\-]{1,20}@(([A-Za-z0-9-]+\.)+(com|net|org|mil|edu|gov|arpa|info|biz|inc|name|[A-Za-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$/;
    if (!$('field2').value.match(re))
    {
        alert(ui_messages[1]);
        return false;
    }
    $('form_guestbook').submit();
    return true;
}

function add_favorite(aModelId)
{
    makeRequest("/ajax.php?act=add_favorite&id=" + aModelId, 'add_favorite');
}

function delete_favorite(aModelId)
{
    makeRequest("/ajax.php?act=delete_favorite&id=" + aModelId, 'delete_favorite');
}

function togglePaperWidthVisibility()
{
    if ($('field3c').checked)
    {
        ShowBlock('paper-width-block', 'block');
    }
    else
    {
        ShowBlock('paper-width-block', 'none');
    }
}

jQuery(document).ready(function ()
{
    jQuery('.lightbox').each(function ()
    {
        jQuery(this).lightBox({fixedNavigation: false});
    });
});