
var mtt_fields = new Array();
var error_img  = "/resources/images/form_error.gif";
var valid_img  = "/resources/images/form_default.gif";

function checkMTTForm( message )
{
    var error_msg  = "";
    for( i=0;i<mtt_fields.length;i++)
    {
        var invalid_field = false;
        /* COMMON TEXT INPUTS */
     
        if( mtt_fields[i]['type'] == "standard_text" )
        {
        	
            //alert( mtt_fields[i]['id'] + ' - ' + mtt_fields[i]['name'] + ': ' + mtt_fields[i]['type']);
            cur_value = document.getElementById( 'id_' + mtt_fields[i]['id'] ).value;
            if( cur_value.length == 0 )
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                $('img_' + mtt_fields[i]['id']).src = error_img;

                $('id_'+mtt_fields[i]['id']).style.border = '1px solid red';
                $('id_'+mtt_fields[i]['id']).style.background = '#FFEFEF';
                invalid_field = true;
            }
        }


		if( mtt_fields[i]['type'] == "password" )
        {
        	var regexp = /^[a-zA-Z0-9]*$/i;
            //alert( mtt_fields[i]['id'] + ' - ' + mtt_fields[i]['name'] + ': ' + mtt_fields[i]['type']);
            cur_value = document.getElementById( 'id_' + mtt_fields[i]['id'] ).value;
            if( cur_value.length == 0 || !regexp.test(cur_value))
            {   
            	error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                $('img_' + mtt_fields[i]['id']).src = error_img;

                $('id_'+mtt_fields[i]['id']).style.border = '1px solid red';
                $('id_'+mtt_fields[i]['id']).style.background = '#FFEFEF';
                invalid_field = true;
            }
        }
        
        /* HYPERLINK */
        if( mtt_fields[i]['type'] == "hyperlink" ) 
        {

            cur_value = document.getElementById( 'id_' + mtt_fields[i]['id'] ).value;
            
            if( cur_value.length == 0 && mtt_fields[i]['mandatory'] == 'yes')
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                $('id_'+mtt_fields[i]['id']).style.border = '1px solid red';
                $('id_'+mtt_fields[i]['id']).style.background = '#FFEFEF';
                invalid_field = true;
            }            
			var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/            
            if (cur_value.length != 0 && cur_value.search(regexp) == -1)
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg_hyperlink_invalid'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }
        }

        /* MAILTO */
        if( mtt_fields[i]['type'] == "mailto" ) 
        {

            cur_value = document.getElementById( 'id_' + mtt_fields[i]['id'] ).value;
            if( cur_value.length == 0 && mtt_fields[i]['mandatory'] == 'yes')
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }

            //var regexp = /^[a-z][\w\-\.]*\w\@([\w\-]+\.)+[a-z]{2,7}$/i;
            //var regexp = /^[a-z][\w\-\.]*\w\@([\w\-]+(\.[a-z]{2,7})?)+$/i;
            var regexp = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;
            if (cur_value.length != 0 && cur_value.search(regexp) == -1)
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg_email_invalid'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;

            }
        }

        /* TEXT INTEGER INTERVAL */
        if( mtt_fields[i]['type'] == "integerinterval" )
        {
            cur_value_from = document.getElementById('id_' + mtt_fields[i]['id'] + '_from').value;
            cur_value_till = document.getElementById('id_' + mtt_fields[i]['id'] + '_till').value;

            if( cur_value_from.length == 0 || cur_value_till.length == 0 )
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }

            cur_value_from = Number(cur_value_from);
            cur_value_till = Number(cur_value_till);

            if( cur_value_from > cur_value_till )
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg_from_is_higher'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }
        }


        /* TEXT INTEGER INTERVAL */
        if( mtt_fields[i]['type'] == "dateinterval" )
        {
            cur_value_from = document.getElementById('id_' + mtt_fields[i]['id'] + '_from').value;
            cur_value_till = document.getElementById('id_' + mtt_fields[i]['id'] + '_till').value;
            if( cur_value_from.length == 0 || cur_value_till.length == 0 )
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }
        }

        /* TEXT FLOAT */
        if( mtt_fields[i]['type'] == "float" )
        {
            cur_value_integer = document.getElementById('id_' + mtt_fields[i]['id'] + '_integer').value;
            cur_value_decimal = document.getElementById('id_' + mtt_fields[i]['id'] + '_decimal').value;
            if(cur_value_decimal.length == 0){
                document.getElementById('id_' + mtt_fields[i]['id'] + '_decimal').value = 0;
                cur_value_decimal = 0;
            }
            if( cur_value_integer.length == 0 || cur_value_decimal.length == 0 )
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }
        }



        /* MULTIPLE DROPDOWN */
        if( mtt_fields[i]['type'] == "multiple_dropdown" )
        {
            var options = new Array();
            options = eval( 'document.mtt_form.id_' + mtt_fields[i]['id'] + '.options' );

            if( options.selectedIndex == -1 )
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }
        }

        /* Checkbox */
        if( mtt_fields[i]['type'] == "checkbox" )
        {
            boxes = document.getElementsByName( mtt_fields[i]['id'] + '[]' );

            var one_is_checked = false;
            for( k=0; k < boxes.length; k++ )
            {
                if( boxes[k]. checked )
                    one_is_checked = true;
            }

            if( !one_is_checked )
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }
        }

         /* search range in Integer*/
        if( mtt_fields[i]['type'] == "search_range" )
        {
            var missing_range_value = false;

            if( !$('id_' + mtt_fields[i]['id'] + '_from').value );
                if( !$('id_' + mtt_fields[i]['id'] + '_till').value )
                    missing_range_value = true;

            if( !$('id_' + mtt_fields[i]['id'] + '_till').value );
                if( !$('id_' + mtt_fields[i]['id'] + '_from').value )
                    missing_range_value = true;

            if( missing_range_value )
            {
                error_msg += '\n\n - ' + mtt_fields[i]['name'] + '\n' + mtt_fields[i]['msg'];
                document.getElementById('img_' + mtt_fields[i]['id']).src = error_img;
                invalid_field = true;
            }
        }


        if( !invalid_field )
        {
            document.getElementById('img_' + mtt_fields[i]['id']).src = valid_img;
        }
    }

    if( error_msg.length > 1 )
    {
        error_msg = message + error_msg;
        alert( error_msg );
        return false;
    }

    return true;
}


function checkErrorStatus( element )
{
    return;
    if( element.value.length > 0 )
    {
        element.className = 'listing_text_input';
    }

    if( element.value == "" )
    {

    }
}
