//Imagimage School Login
if(!Imgimg){var Imgimg = new Object();}

if(typeof($j) != "undefined" && Imgimg){
	
	$j(window).load(function(){	
		Imgimg.childLogin = new Imgimg.ChildLogin();
		Imgimg.childLogin.init();
	})	
		
}else{
	alert('Error: Jquery or Imgimg is not defined correctly');	
}


/**************************************************************
CHILDLOGIN // CLASS
**************************************************************/
Imgimg.ChildLogin = function(){ 
	
	var childrenOption, loginForm, fieldContainer, currentLength, hiddenCodeNb;
	
	/*---------------------------------------------------------------------------------------------------
	init //
	---------------------------------------------------------------------------------------------------*/
	this.init = function(){
		//alert("init");
		childrenOption = $j('#loginOrder').find('.numberKidsDropdownlist'); 
		childrenOption.change(updateList);
		enableOptions(childrenOption);
		loginForm = $j('#loginOrder').find('.authForm');
		fieldContainer = loginForm.find('#fieldContainer');
		currentLength = childrenOption.find("option:selected").text();
		hiddenCodeNb = loginForm.find('.nbCodeValuesTextbox');
	}
	
	/*---------------------------------------------------------------------------------------------------
	update //
	---------------------------------------------------------------------------------------------------*/
	updateList = function(){
		//alert('updateList');
		var codeFields = fieldContainer.find('.codeField');
		var optionValue = $j(childrenOption).find("option:selected").text();
		var currentFields = $j(codeFields).length;
		hiddenCodeNb.attr({value: optionValue});
		if(optionValue < currentFields) deleteInputs(optionValue, currentFields, codeFields);
		if(optionValue > currentFields) createInputs(optionValue, currentFields, codeFields);
	}
	
	
	/*---------------------------------------------------------------------------------------------------
	createInputs //
	---------------------------------------------------------------------------------------------------*/
	createInputs = function(optionValue, currentFields, codeFields){
		var fieldsToCreate = optionValue - currentFields;
		var fieldRef = $j(codeFields)[0];
		for(var y=0; y<fieldsToCreate; y++){
			var fieldNum = currentFields + (y + 1);
			var newField = $j(fieldRef).clone();
			var labelHtml = $j(newField).find('.labelText').html();
			$j(newField).find('.codeInput').attr({name: "codeValue"+fieldNum+"Textbox", fieldNum: fieldNum, value: ""});
			$j(newField).find('.labelText').html(labelHtml.substring(0, (labelHtml.length - 1))+fieldNum);
			$j(fieldContainer).append(newField);
			$j(newField).css({opacity: 0});
			$j(newField).animate({opacity: 1}, (250*y+1));
		}
	}
	
	/*---------------------------------------------------------------------------------------------------
	enableOptions //
	---------------------------------------------------------------------------------------------------*/
	function enableOptions(dropdown){
		dropdown.find('option').each(function(){
			$j(this).attr('disabled', false);
		});
		dropdown.attr('disabled', false);
	}
	
	/*---------------------------------------------------------------------------------------------------
	deleteInputs //
	---------------------------------------------------------------------------------------------------*/
	deleteInputs = function(optionValue, currentFields, codeFields){
		for(var x=0; x<currentFields; x++){
			var fieldClass = $j(codeFields)[x];
			var field = $j(fieldClass).find(".codeInput");
			var fieldNum = $j(field).attr("fieldNum");
			if(fieldNum > optionValue){
				$j(fieldClass).hide(function(){
					$j(this).remove();
				});
			}
		}
	}
}
	