//-------------------------------------------------------------------------------------------------------------------------------------------
// Remove blanks from begin and end of string str

function trim( str )
{
    result = "";
	
	begin = str.length; 
	end = begin;
	
    if (str.length != 0)
	{
	    i = 0;
		while ( i < str.length )
		{
		    if (str.charAt(i) != ' ')
			{
			    begin = i;
				break;
			}
			
			++i;
		}
		
	    i = str.length - 1;
		while ( i >= 0 )
		{
		    if (str.charAt(i) != ' ')
			{
			    end = i + 1;
				break;
			}
			
			--i;
		}
		
		result = str.substring(begin, end);
	}

	return result;
}

//-------------------------------------------------------------------------------------------------------------------------------------------

function SetMessage( msg )
{
    message = document.getElementById("messageField");
	
	if ( message )
	{
	    message.innerHTML = msg;
	}
}

//-------------------------------------------------------------------------------------------------------------------------------------------
// Sepatates string by separator

function explode( separator, str )
{
    var result = new Array();
	var len = str.length;
	var s = "";

    for (var i = 0; i < len; ++i)
	{
		if ((str.charAt(i) == separator))
		{
		    // Add string to array
			result.push(s);
			s = "";
		}
		else
		{
		    // Add symbol to string
			s += str.charAt(i);
			
			if (i == len - 1)
			{
			    result.push(s);
				s = "";
			}
		}
	}
	
	return result;
}

//-------------------------------------------------------------------------------------------------------------------------------------------

function CheckMailSubPath( separator, subPath )
{
    if (subPath != "")
    {    
        var values = explode(separator, subPath);
 
		if (values.length == 2)
        {
            if ((values[0] != "") && (values[1]) != "")
            {
                return true;
            } 
        }
    }
	
    return false;
}

//-------------------------------------------------------------------------------------------------------------------------------------------
// Checking user's mail

function CheckMail( mail )
{    
    if (CheckMailSubPath("@", mail))
    {
	    tmp = explode ("@", mail);

        host = tmp[1];

		return (CheckMailSubPath(".", host));
    }
	
	return false;
}

//-------------------------------------------------------------------------------------------------------------------------------------------
// Validating of form's fields : name, mail and code

var Uname = "";		// User's name
var Umail = "";		// User's mail
var Ucode = "";		// User's code
var myform;         // User's form

//-------------------------------------------------------------------------------------------------------------------------------------------

function pageCallback(response)
{
	var code = response;

    if (Ucode == code)
    {
        // Send form to server
        SendFormToServer(myform);
    }
    else
    {
        alert("Invalid code. Please try again.");
    }
}

//-------------------------------------------------------------------------------------------------------------------------------------------

function SendMyForm()
{
    if ( myform )
    {
        myform.userName.value = trim(myform.userName.value);
        myform.userMail.value = trim(myform.userMail.value);
        myform.userCode.value = trim(myform.userCode.value);
			
        myform.submit();	// Successfully validating
    }
}

//-------------------------------------------------------------------------------------------------------------------------------------------

function ValidateFeedbackForm( t_form )
{
    errorMsg = "";

    user_name = trim(t_form.userName.value);
	user_mail = trim(t_form.userMail.value);
	user_code = trim(t_form.userCode.value);
	
	empty = false;
	
    if ( (user_name == "") )
    {
        errorMsg += "Please enter you name.\n";
		empty = true;
	}

    if ( (user_mail == "") )
    {
        errorMsg += "Please enter you email address.\n";
		empty = true;
	}

    if ( (user_code == "") )
    {
        errorMsg += "Please enter characters.\n";
		empty = true;
	}

	if ( !empty )
	{
	    // Check user mail at correct
		
		if (!CheckMail(user_mail))
		{
		    errorMsg += "Email is invalid. Please verify your email address.";
			alert(errorMsg);
		}
		else
        {
     	    // Check user code at correct		
            ca = document.getElementById("codeAddress");
		
            if (ca)
            {
                Ucode = user_code;
                myform = t_form;
                
                // Get code from server and send form to server
                var ajax = new GLM.AJAX();
                ajax.callPage(ca.value, pageCallback);
            }
		}
	}
	else
	{
	    alert(errorMsg);
	}
}

//-------------------------------------------------------------------------------------------------------------------------------------------

function SetMessage( msg )
{
    /*message = document.getElementById("messageField");
	
	if ( message )
	{
	    message.innerHTML = msg;
	}*/ alert(msg);
}

//-------------------------------------------------------------------------------------------------------------------------------------------

function answerCallback(response)
{
    //alert("answer = " + response);
   
    SetMessage(response);   
}

//-------------------------------------------------------------------------------------------------------------------------------------------

function SendFormToServer(t_form)
{
    // Get address of send script
    sAddress = document.getElementById("sendAddress");
		
    if (sAddress)
    {
        var parameters = "userName=" + trim(t_form.userName.value) +
                         "&userMail=" + trim(t_form.userMail.value) +
                         "&userCode=" + trim(t_form.userCode.value) +
                         "&userSubject=" + trim(t_form.userSubject.value) +
                         "&userMessage=" + trim(t_form.userMessage.value);

        // Send form data to server
        var ajax = new GLM.AJAX();
        ajax.callPage(sAddress.value, answerCallback, "POST", parameters);
    }    
}

//-------------------------------------------------------------------------------------------------------------------------------------------