var error = new Array();

function addPhotoRating(mark, id)
{
	_markId = id;

	new Ajax.Updater('myPictures1', '/ajax_requests/add_photo_rating/' + id + '/' + mark + '/');
	return false;
}

function deleteTip(id)
{
    alert('deleteTip');
}

function editTip(id)
{
    if ($('edit_form_' + id).style.display == 'none')
    {
        new Ajax.Updater('edit_form_' + id, '/ajax_requests/' + id + '/edit_tip_form.html');
        $('edit_form_' + id).style.display = 'block';
    }
    else
    {
        $('edit_form_' + id).style.display = 'none';
    }
}

function showUploadForm()
{
    new Effect.SlideUp('myPictures1', { duration: 1 });
    window.setTimeout('Effect.SlideDown(\'myPictures2\', {duration: 1})', 1000);
}

function hideUploadForm()
{
    new Effect.SlideUp('myPictures2', { duration: 1 });
    window.setTimeout('Effect.SlideDown(\'myPictures1\', {duration: 1})', 1000);
}

function setError(error_message)
{
    if (error_message != '')
    {
        error[error.length] = error_message;
    }

//    alert(error);
}

function getErrorStatus()
{
    if (error.length > 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}

function editMyTip(id)
{
    new Ajax.Updater('tipsContainer', '/ajax_requests/edit_tip.html', {asynchronous:true, parameters:Form.serialize($('tipForm_' + id))});

//    if (checkEditTipForm())
//    {
//
//    }
}

function checkEditTipForm()
{
    if ($('tip_city_id').value == '')
    {
        $('tip_city_id').style.borderColor = '#cc0000';
        setError('U dient een stad/regio in te vullen.');
    }

    if ($('title').value == '')
    {
        $('title').style.borderColor = '#cc0000';
        setError('U dient een onderwerp in te vullen.');
    }

    if ($('comment').value == '')
    {
        $('comment').style.borderColor = '#cc0000';
        setError('Er is geen tip ingevuld.');
    }

    if (getErrorStatus())
    {
        showErrorEditTipMessage();

        return false;
    }
    else
    {
        return true;
    }
}

function showErrorEditTipMessage()
{
    $('tipErrorMessage').innerHTML = '';

    for (i=0;i<error.length;i++)
    {
        $('tipErrorMessage').innerHTML = $('tipErrorMessage').innerHTML + error[i] + '<br />';
    }

    error = new Array();

    return true;

//    new Effect.SlideDown('tipErrorWrapper', { duration: 0.5 });
}

function deleteMyTip(id)
{
    if (confirm('Weet u zeker dat u deze tip wilt verwijderen?'))
    {
        new Ajax.Updater('tipsContainer', '/ajax_requests/' + id + '/delete_tip.html');
    }
}

/***********************************************************************************************************************************************/
/*********************************************************************************************************************** VALIDATE PHOTO ********/
var slideSwitch = 0;
var _form = '';

function checkPhotoUpload(form)
{
    _form = form;
    if ($('file').value == '')
    {
        setError('Er is geen bestand geselecteerd welke u wilt uploaden.');
    }

    if ($('photo_type').value == '')
    {
        setError('Er is geen categorie opgegeven.');
    }

    if ($('photo_city_id').value == '')
    {
        setError('Er is geen stad of regio geselecteerd..');
    }

    if ($('img-description').value == 'Plaats hier je tekst. Let er bij de titel én het fotobijschrift op dat je een duidelijke (en leuke) omschrijving plaatst van wat er op de foto gebeurt, ofwel wat, waar, waarom en hoe. Daardoor kan je foto door de medereisreporters gemakkelijker gevonden worden.')
    {
        setError('Er is geen correct bijschrift opgegeven.');
    }

    var words = false;

    if ($('img-description') && $('img-description').value != '')
    {
        words = $('img-description').value.split(" ");
    }

    if (words.length > 200)
    {
        $('img-description').style.borderColor = '#cc0000';
        setError('Het maximaal aantal woorden voor de omschrijving bij een foto is 200.');
    }

    if (words.length < 25 || words == false)
    {
        $('img-description').style.borderColor = '#cc0000';

        setError('Het minimaal aantal woorden voor de omschrijving bij een foto is 25.');
    }

    if (getErrorStatus())
    {
        showErrorMessage();
        error = new Array();

        return false;
    }
    else
    {
        new Ajax.Request('/ajax_requests/check_photo.html', {method: 'post', postBody: Form.serialize(form),  onComplete: processPhoto});
    }

    return false;
}

function showErrorMessage()
{
    for (i=0;i<error.length;i++)
    {
        $('photoErrorMessage').innerHTML = error[i] + '<br />';
    }

    new Effect.SlideDown('photoErrorWrapper', { duration: 0.5 });
}

function processPhoto(xml)
{
    var xmlDoc = xml.responseXML.documentElement;
    var result = xmlDoc.getElementsByTagName("result");
    var status = getElementTextNS("", "description", result[0], 0);

    if (status == 'false')
    {
        $('photoErrorMessage').innerHTML = '';

        var items = xmlDoc.getElementsByTagName("item");
        for (var i = 0; i < items.length; i++)
        {
            $('photoErrorMessage').innerHTML = $('photoErrorMessage').innerHTML + getElementTextNS("", "message", items[i], 0) + '<br />';

            formField = $(getElementTextNS("", "fieldname", items[i], 0));

            formFields[i] = formField;

            if (formField != null)
            {
                formField.style.borderColor = '#cc0000';
            }
            else
            {
                alert(getElementTextNS("", "fieldname", items[i], 0) + ' bestaat niet');
            }
            formField = null;
        }

        new Effect.SlideDown('photoErrorWrapper', { duration: 0.5 });

        return false;
    }
    else
    {
        $('photoErrorMessage').innerHTML = 'Ok';
        new Effect.SlideUp('photoErrorWrapper', { duration: 0.5 });

        tb_show(null, null, '');
        _form.submit();
    }
}