#!/usr/bin/perl
###########################################################################
eval {
	($0=~ m,(.*)/[^/]+,)   && unshift (@INC, "$1"); 
	($0=~ m,(.*)\\[^\\]+,) && unshift (@INC, "$1");
	require "config.pl";
	push(@INC, $script_path);
	require "database.pl";
	require "display.pl";
	require "html.pl";
	require "library.pl";
	require "mojoscripts.pl";
	require "parse_template.pl";
	require "templates.pl";
	require "english.lng";
	use CGI qw(:standard);
	use CGI::Carp qw(fatalsToBrowser);
   &main;
};
if ($@) { 
	print "content-type:text/html\n\n";
	print "Error Including configuration file, Reason: $@";
	exit;
}
&main;
###########################################################################
sub main{
	$|++;							
	&ParseForm;
	&LoadDefaultValues;

	if($FORM{step} eq "final"){	&AskQuestion;		}
	&PrintTemplate($TEMPLATE{ask});
}
###########################################################################
sub AskQuestion{
	my($message);
	$message .= qq|<li>Missing name<\li>| unless $FORM{s_name};
	$message .= qq|<li>Missing email<\li>| unless $FORM{s_email};
	$message .= qq|<li>Invalid email address entered<\li>| unless &CheckEmail($FORM{s_email});
	$message .= qq|<li>Missing question<\li>| unless $FORM{question};
	
	&PrintError($mj{error}, $message) if $message;
	
	$FORM{ID} = &GetNextID;
	$FORM{s_IP} = $ENV{REMOTE_ADDR};
	$FORM{s_time} = time;
	$FORM{rate} = $FORM{view} = $FORM{vote} = 0;
	$FORM{question} = &ConvertFromForm($FORM{question});
	unless(-d $waiting_path){	mkdir($waiting_path, 0777);	}
	&SaveQuestionDatabase("$waiting_path/$FORM{ID}.$CONFIG{unanswered_ext}", \%FORM);
	if($CONFIG{auto_response}){
		&SendMail($myemail, $myemail, $FORM{s_email}, $SUBJECT{user}, &ParseEmailTemplate($EMAIL{user}, \%FORM));
	}
	if($CONFIG{notify_email}){
		&SendMail($FORM{s_name}, $FORM{s_email}, $myemail, $SUBJECT{admin}, &ParseEmailTemplate($EMAIL{admin}, \%FORM));
	}
	if($CONFIG{redirect}){		print "Location:$CONFIG{redirect}\n\n";	}
	elsif($TEMPLATE{thankyou}){	&PrintTemplate($TEMPLATE{thankyou});	}
	else{ &PrintTemplate(&ThankyouTemplate());	}
}
###########################################################################