// $Id: forms.js,v 1.1 2005/09/12 13:54:53 tkepski Exp $ */
// Janmedia Interactive 

FAILED_INPUT_BACKGROUND_COLOR = "#FFE6E6";

function checkInput(input,message)
{
    if (input.value.length==0) 
    {
        focusFailedInput(input,message);
        return false;
    }
    return true;
}

function checkSelect(input,message)
{
    if (input.selectedIndex==0) 
    {
        focusFailedInput(input,message);
        return false;
    }
    return true;
}

function focusFailedInput(input, message)
{
    input.oldOnBlur = input.onblur;
    input.oldBackgroundColor = input.style.backgroundColor;
    input.style.backgroundColor = FAILED_INPUT_BACKGROUND_COLOR;
 
    if (message)
    {
		element = getPageElement('errorField');
		if(element)
			element.innerHTML = message;
		else
			alert(message);
	}

    input.onblur = onAfterBlurFailedInput; 
    input.focus();
}

function markFailedInput(input)
{
    input.style.border = "1px solid red";
}

function checkEmail(input,message)
{
    if (!_checkEmail(input.value)) 
    {
        focusFailedInput(input,message);
        return false;
    }
    return true;
}

function _checkEmail(email)
{
	if (email == "") return false;
	template=/^[0-9a-z]+[0-9a-z.\-_]*\@[0-9a-z]+[0-9a-z.\-_]*\.[0-9a-z]{2,}$/i;
	if (template.test(email) == false) return false;
		return true;
}

function onAfterBlurFailedInput()
{
    if (this.oldOnBlur)
    {
        this.onblur = this.oldOnBlur; 
    }
    if (this.oldBackgroundColor!=null)
    {
        this.style.backgroundColor = this.oldBackgroundColor;
    }
}

function searchValidation(form, message)
{
	return checkInput( form['search-clause'], message );
}

function newsletterValidation(form, message)
{
	return checkEmail( form.email, message );
}

function getPageElement(id)
{
    if(document.layers) //"NN4";
    {
		return document.layers[id];
    }
    if(document.all) //"IE"
    {
		return document.all[id];
    }
    if(!document.all && document.getElementById) //"NN6";
    {
		return document.getElementById(id);
    }

    return false;
}
