/**
 *  Bilder für Registrierung (PW-Sicherheit, Icons, etc.)
 *  @author ALEX
 */
var img_folder = DIR_PROJECT_ROOT_WEB + 'modules/reg/img/';

/** Überprüft ob die Eingabe gültig ist.
 *  Das PHP Script gibt 1 zurück, wenn die Eingabe gültig ist
 *  @author Alex
 */
function ajax_reg_action_default_checkFormInput(htmlElement)
{
    var param_list = '{'+
                        '"module"           :   "reg",'+
                        '"file"             :   "ajax_reg_action_default.php",'+
                        '"debug"            :   "false",'+
                        '"value"            :   {'+
                            '"input"        :   "' + $("#"+htmlElement.id)[0].value + '",'+
                            '"name"         :   "' + $("#"+htmlElement.id)[0].name + '"';
        
        if($("#"+htmlElement.id)[0].name == "password2")
        {
            param_list += ',"input2"        :   "' + $("#reg_password")[0].value + '"';
        } 
        param_list += '}}'; 
                     
    $.post(DIR_PROJECT_ROOT_WEB+'ajax.php', { param: param_list },
        function(data){
            if(data == "1")
            {
                $("#"+htmlElement.name+"_status")[0].src = img_folder+'form_success.gif';
            }
            else
            {
            	$("#"+htmlElement.name+"_status")[0].src = img_folder+'form_warning.gif'; 
            }
        } );
}

/** Sobald ein Geschlecht angeklickt wird, wird das als gültig abgehackt
 *  @author Alex
 */
function set_gender()
{
    $("#gender_status")[0].src = img_folder+'form_success.gif';
}



/** Wenn man die Nutzungsbedinungen aktzeptiert hat, wird es als gültig erkannt.
 *  Wenn man das Häckchen wieder weg macht, wird es als ungültig erkannt.
 *  @author Alex
 */
function set_terms()
{
    if($("#reg_terms")[0].checked == true)
    {
        $("#terms_status")[0].src = img_folder+'form_success.gif'; 
    }
    else
    {
        $("#terms_status")[0].src = img_folder+'form_warning.gif';
    }
}


/** Wenn der Submit button geklickt wird, dann werden alle Daten zur Validierung geschickt
 *  @author Alex
 */
function ajax_reg_action_default_validate_Form(group)
{
    //Parameterliste: JSON String > Pflicht: "module" und "file" | "debug" : "true" liefert Firebug String Auswertung 
    var param_list = '{'+
                        '"module"               :   "reg",'+
                        '"file"                 :   "ajax_reg_action_default.php",'+
                        '"debug"                :   "false",'+
                        '"value"                :   {'+
                            '"name"             :   "validate",'+
                            '"gender"           :   "' + check_radio("reg_gender") + '",'+
                            '"country" 	        :   "' + $("#reg_country")[0].value + '",'+
                            '"StartDateYear"    :   "' + $("#reg_birthdate_year")[0].value + '",'+
                            '"StartDateMonth"   :   "' + $("#reg_birthdate_month")[0].value + '",'+
                            '"StartDateDay"     :   "' + $("#reg_birthdate_day")[0].value + '",'+                          
                            '"username"         :   "' + $("#reg_username")[0].value + '",'+
                            '"validate_username":   "' + $("#reg_username2")[0].value + '",'+
                            '"password"         :   "' + $("#reg_password")[0].value + '",'+
                            '"password2"        :   "' + $("#reg_password2")[0].value + '",'+
                            '"email"            :   "' + $("#reg_email")[0].value + '",'+
                            '"group"            :   "' + $("#reg_group")[0].value + '",'+
                            '"found_loggel_text":   "' + $('#found_loggel_text')[0].value + '",'+
                            '"terms"            :   "' + check_radio("reg_terms") + '"'+
                        '}}';

    
    //Der AJAX-Controller wird aufgerufen und per POST wird ihm die Parameterliste übergeben
    //Nachdem der Webserver alles verarbeitet hat, und der Client eine Antwort bekommt, wird die 
    //anonyme Funktion aufgerufen, die die Daten verarbeitet                            '}}';
    $.post(DIR_PROJECT_ROOT_WEB+'ajax.php', { param: param_list },
        function(data)
        {
        	
            //Falls ein Fehler aufgetreten ist
            if(data.substr(0,1) == "0")
            {
                //rückgabe vom server wird ausgwertet und der string aufgeteilt in json string und html 
                var output = data.split("@@");
                //der json string wird in ein objekt umgewandelt
                var errors = eval('(' + output[0].substr(1, output[0].length) + ')');
                for(var error in errors)
                {
                    var error_status = errors[error];
                    //error_id ist der error key. er entspricht fast immer der id vom bild
                    var error_id = error_status.substr(error_status.lastIndexOf("_")+1, error_status.length);
                    //wenn eins von den zwei als fehler erkannt wird, dann setzte das bild für die passwortfelder auf ungültig
                    if(error_id == 'diff' || error_id == 'length')
                    {
                        $("#password_status")[0].src = img_folder+'form_warning.gif'; 
                        $("#password2_status")[0].src = img_folder+'form_warning.gif'; 
                    }
                    //anonsten is es immer <error_id>_status
                    else
                    {
                        $("#"+error_id+"_status")[0].src = img_folder+'form_warning.gif';
                    }
                }
                $("#reg_error_box_js")[0].innerHTML = output[1].substr(1,output[1].length);
                //nach oben scrollen
                window.scrollTo(0, 0);
                //die box mit den fehlern ausfahren
                $("#reg_error_box_js").css("display", "none");
                setTimeout(function (){ $("#reg_error_box_js").slideDown("slow"); }, REG_DELAY_ERROR_BOX);  
                create_warning('warning', 'warn_regidtration', 220);      
            }
            else
            {
                $('.sys_content_header').remove();
                $("#reg")[0].innerHTML = data; 
            }
      });         
}


/** Überprüft, ob der Usernamen den der User eingegeben hat noch frei ist
 *  @author Alex
 */
function ajax_reg_action_default_check_username_exist()
{
	 var param_list = '{'+
                        '"module"           :   "reg",'+
                        '"file"             :   "ajax_reg_action_default.php",'+
                        '"debug"            :   "false",'+
                        '"value"            :   {'+
                            '"input"        :   "' + $("#reg_username")[0].value + '",'+
                            '"name"         :   "check_username"' +
                       '}}'; 
   	value = $("#reg_username")[0].value;
   	
   	if(value.length > 3)
   	{                                  
	    $.post(DIR_PROJECT_ROOT_WEB+'ajax.php', { param: param_list },
	        function(data){
	            if(data == "1") 
	            {
	            	//create_warning('correct', 'warn_reg_username_not_exist', 200, 60);
				    $("#username_status")[0].src = img_folder+'form_success.gif';
				    $("#reg_username_not_exist").css('display', 'inline');
				    $("#reg_username_exist").css('display', 'none');
				    $("#reg_username_invalid").css('display', 'none');
				    $("#reg_username_to_short").css('display', 'none');
				    
	            }
	            else if(data == "username_exists")
	            {
	            	//create_warning('warning', 'warn_reg_username_exist', 200, 60);
				    $("#username_status")[0].src = img_folder+'form_warning.gif';
				    $("#reg_username_exist").css('display', 'inline');
				    $("#reg_username_not_exist").css('display', 'none');
				    $("#reg_username_invalid").css('display', 'none');
				    $("#reg_username_to_short").css('display', 'none');
				   
	            }
	            else if(data == "username_invalid")
	            {
	            	//create_warning('warning', 'warn_reg_username_invalid', 200, 60);
				    $("#username_status")[0].src = img_folder+'form_warning.gif';
				    $("#reg_username_invalid").css('display', 'inline');
				    $("#reg_username_not_exist").css('display', 'none');
				    $("#reg_username_exist").css('display', 'none');
				    $("#reg_username_to_short").css('display', 'none');
	            }
	        } );
   }
   else if(value.length == 0)
   {
   		$("#username_status")[0].src = img_folder+'form_mandatory.gif';	
   		$("#reg_username_invalid").css('display', 'none');
	    $("#reg_username_not_exist").css('display', 'none');
	    $("#reg_username_exist").css('display', 'none');
	    $("#reg_username_to_short").css('display', 'none');
   }
   else
   {
   		$("#username_status")[0].src = img_folder+'form_warning.gif';
   		$("#reg_username_invalid").css('display', 'none');
		$("#reg_username_not_exist").css('display', 'none');
		$("#reg_username_exist").css('display', 'none');
		$("#reg_username_to_short").css('display', 'inline');	
   }
}


function validate_birthdate()
{
	if($("#reg_birthdate_year")[0].value == '' || $("#reg_birthdate_month")[0].value == ''|| $("#reg_birthdate_day")[0].value == '')
	{
		$("#birthdate_status")[0].src = img_folder+'form_warning.gif';
	}
	else
	{
		$("#birthdate_status")[0].src = img_folder+'form_success.gif';
	}
}

function validate_country()
{
	if($("#reg_country")[0].value == 'NOTHING')
	{
		$("#country_status")[0].src = img_folder+'form_warning.gif';
	}
	else
	{
		$("#country_status")[0].src = img_folder+'form_success.gif';
	}
}

