var validate_submit_button_id = null;
var IE = document.all?true:false;
var MouseX = 0;
var MouseY = 0;
var tempX = 0;
var tempY = 0;

    function getMouseXY(e) {
        if (!IE) document.captureEvents(Event.MOUSEMOVE);
        if (IE) { // grab the x-y pos.s if browser is IE
          tempX = event.clientX + document.body.scrollLeft;
          tempY = event.clientY + document.body.scrollTop;
        }
      else {  // grab the x-y pos.s if browser is NS
        tempX = e.pageX;
        tempY = e.pageY;
      }  
        if (tempX < 0){tempX = 0;}
        if (tempY < 0){tempY = 0;}  
       MouseX = tempX;
       MouseY = tempY;
            $('overlay_id').style.left = tempX+20+"px";
            $('overlay_id').style.top =  tempY+20+"px";
    return true;
    }

function overlay(status)
{
    if (status) {
        $('overlay_id').style.display='block';
        document.onmousemove = getMouseXY;
    }
    else {
        document.onmousemove = null;
        $('overlay_id').style.display='none';
    }
    
}

function restore_submit_button()
{
    $(validate_submit_button_id).disabled=false;
}

function submit_button(id, form)
{
    validate_submit_button_id = id;
    $(validate_submit_button_id).disabled=true;
    if (navigator.appName == "Microsoft Internet Explorer" || "Opera") {
         $(form).onsubmit();
         return false;
    } else return true;
}

/*
function validate_shutdown()
{
    if ( top.error_fields.length )   
    {
        
        Dialog.alert(top.error_fields.join("<br>"), 
               {windowParameters: {className: "alphacube", width:300}, okLabel: "Close", 
                ok:function(win) {debug("validate alert panel"); return true;}, cancel:function(win) {debug("validate cancel panel"); return true;}});
        //alert(top.error_fields.join("\n"));
        top.error_fields = new Array();
        restore_submit_button();
    }
}
*/

function check_element_for_validation(element)
{
    var alt = element.getAttribute('alt')
	if((alt != null) && (alt != undefined) && (alt != '') || (alt == "validated"))
	   top.all_elements.push(element.id);
}

function clear_form(form)
{
    if (confirm("Do you really want to clear form?")) {
        var elements = new Array();
        
    	if(form.tagName.toString().toLowerCase() == 'form') {
    		var elements = form.getElementsByTagName('*');
    	} else {
    		elements[0] = form;
    		while((form.tagName.toString().toLowerCase() != 'form') && (form.parentNode != null)) {
    			form = form.parentNode;
    		}
    		if(form.tagName.toString().toLowerCase() != 'form') {
    			elements = new Array();
    		}
    	}
    	
    	for(var eCounter = 0; eCounter < elements.length; eCounter++)
    	{
        		check_element_for_validation(elements[eCounter]);
    	}
    
        for (i=0; i <= top.all_elements.length-1; i++)
        {
            id = top.all_elements[i]+"_validation_error";
            try {
                $(id).remove();
                $(top.all_elements[i]).style.backgroundColor = "#FFF";
            } catch(e) {
                
            }
        }
        top.all_elements = new Array();
        form.reset();
    }
}

function show_message(field, text, message_type)
{
    var validation_class = "validation-advice";
        if (message_type) validation_class = "validation-good";
    for (i=0; i <= top.all_elements.length-1; i++)
    {
        id = top.all_elements[i]+"_validation_error";
        try {
            $(id).remove();
        } catch(e) {
        }
    }

     id = field+"_validation_error";
     try {
        $(id).remove();
     } catch(e) {
     }
       var error_string = "<div class='"+validation_class+"' id='"+id+"' style=\"display:none\">"+text+"</div>";
     try {
        $(id).innerHTML = error_string;
     } catch(e) {
        new Insertion.After(field, error_string);
        new Effect.Appear(id, {duration : 1 });
     }
     restore_submit_button();
}

function validate_shutdown()
{
    var validation_class = "validation-advice";
    if ( top.error_fields.length )
    {
        for (i=0; i <= top.all_elements.length-1; i++)
        {
            id = top.all_elements[i]+"_validation_error";
                try {
                    $(id).remove();
                } catch(e) {
                }
        }

        for(i=0; i <= top.error_fields.length-1; i++)
        {
            id = top.error_ids[i]+"_validation_error";
            if (top.error_good.indexOf(top.error_ids[i]) > -1) validation_class = "validation-good";
            var error_string = "<div class='"+validation_class+"' id='"+id+"' style=\"display:none\">"+top.error_fields[i]+"</div>";
            try {
                $(id).innerHTML = error_string;
            } catch(e) {
                    new Insertion.After(top.error_ids[i], error_string);
                    new Effect.Appear(id, {duration : 1 });
            }
        }
        top.error_fields = new Array();
        top.error_ids = new Array();
        top.all_elements = new Array();
        top.error_good = new Array();
         
        restore_submit_button();
    }
}