var gotop = false;

function req_releases(page, mode, key, rel, srchkey, relid)
{
	if(inproc)
    {
        setTimeout("req_releases('"+page+"','"+mode+"','"+key+"','"+rel+"','"+srchkey+"','"+relid+"')",1000);
	}
	else
    {
		inproc = true;
        var qs = 'page='+page+'&mode='+mode+'&key='+key+'&rel='+rel;
        qs += '&srchkey='+encodeURIComponent(srchkey)+'&relid='+relid;
		AJAXRequest.doAJAXGet('/source/releases.php', qs, 'process_releases', 'txt', false);
	}
}

function process_releases()
{
    AJAXRELEASES=AJAXRequest.AJAXOBJ;
	if(AJAXRELEASES.readyState == 4)
    {
		releases_show_result(AJAXRELEASES.status);
	}
}

function releases_show_result(status)
{
    if (status == 200)
    {
        displayMSG('content', 'innerBase', AJAXRELEASES.responseText, 'block');
		if(gotop)
        {
		    top.location.href='/releases/#top';
        }
	}
    else
    {
        if(status == 404)
        {
            displayMSG('content', 'errorMSG', '<p><span class="errorText">Could not compelete. Page not found!</span></p>', 'block');
			resultObj.innerHTML = '';
		}
        else
        {
            displayMSG('content', 'errorMSG', '<p><span class="errorText">Could not compelete. XML problem occured!</span></p>', 'block');
		}
	}
	inproc = false;
	gotop = false;
}

function do_search(mode, key, rel)
{
	req_releases(1, mode, key, rel, document.forms['artistSearchFrom'].searchkey.value);
}

function setTopVar()
{
	gotop = true;
}

function do_addReview(w, h, c, tw, svn, id)
{
	var f = document.forms['addReviewForm'];

	var ar_name = f.addrev_name.value;
	var ar_email = f.addrev_email.value;
	var ar_url = f.addrev_url.value;
	var ar_review = f.addrev_review.value;
	var ar_captcha = f.addrev_captcha.value;

	var ar_name_msg = document.getElementById('arname_txt');
	var ar_email_msg = document.getElementById('aremail_txt');
	var ar_url_msg = document.getElementById('arurl_txt');
	var ar_review_msg = document.getElementById('arreview_txt');

	if(! /^.+$/.test(ar_name))
    {
        displayMSG('addrev_output', 'errorMSGInline', 'Name should not be empty!', 'block');
	    return false;
	}

    if(! /^((?:(?:(?:[a-zA-Z0-9][\.\-\+_]?)*)[a-zA-Z0-9])+)\@((?:(?:(?:[a-zA-Z0-9][\.\-_]?){0,62})[a-zA-Z0-9])+)\.([a-zA-Z0-9]{2,6})$/.test(ar_email)){
		displayMSG('addrev_output', 'errorMSGInline', 'Email this is invalid!', 'block');
		return false;
	}

	if(ar_url.length > 0)
	{
		if(! urlRegEx.test(ar_url))
        {
			displayMSG('addrev_output', 'errorMSGInline', 'URL this is invalid!', 'block');
			return false;
		}
	}

	if(ar_review.length == 0)
	{
        displayMSG('addrev_output', 'errorMSGInline', 'Review this cannot be empty!', 'block');
		return false;
	}

    if(ar_captcha.length == 0)
    {
        displayMSG('addrev_output', 'errorMSGInline', 'You must enter the code!', 'block');
		return false;
	}

    captcha_data[0] = w;
    captcha_data[1] = h;
    captcha_data[2] = c;
    captcha_data[3] = tw;
    captcha_data[4] = svn;
    captcha_data[5] = id;
    displayMSG('addrev_output', 'MSGInline', '<p>Processing.  Please wait...</p>', 'block');
	return true;
}

function review_response(msg)
{
    req_captcha(captcha_data[0],captcha_data[1],captcha_data[2],captcha_data[3],captcha_data[4],captcha_data[5]);
    if(msg.indexOf('#')==0)
    {
        displayMSG('addrev_output', 'MSGInline', msg.substr(1, msg.length), 'block');
        reset_review_form();
    }
    else
    {
        displayMSG('addrev_output', 'errorMSGInline', msg, 'block');
    }
}

function reset_review_form()
{
    var f = document.forms['addReviewForm'];

	f.addrev_name.value = '';
	f.addrev_email.value = '';
	f.addrev_url.value = '';
	f.addrev_review.value = '';
    f.addrev_captcha.value = '';

    review_timer(8);
}

function review_timer(s)
{
    s--;
    if(s==0)
    {
        displayMSG('addrev_output', 'MSGInline', '', 'none');
        return;
    }
    setTimeout("review_timer("+s+")",1000);
}