jQuery(document).ready(function(){

    /******************************************************************************
     *
     * Set vars
     *
     ******************************************************************************/	
	    
    var childFirstname = jQuery('#tx_tcbrmemberform_pi3_childfirstname');
    var childLastname = jQuery('#tx_tcbrmemberform_pi3_childlastname');
    var parentFirstname = jQuery('#tx_tcbrmemberform_pi3_parentfirstname');
    var parentLastname = jQuery('#tx_tcbrmemberform_pi3_parentlastname');
    var parentEmail = jQuery('#tx_tcbrmemberform_pi3_parentemail');
    var repeatEmail = jQuery('#tx_tcbrmemberform_pi3_repeatemail');
    var adress1 = jQuery('#tx_tcbrmemberform_pi3_adress_1');
    var postnr = jQuery('#tx_tcbrmemberform_pi3_postnr');
    var city = jQuery('#tx_tcbrmemberform_pi3_city');
    var gender = jQuery('#tx_tcbrmemberform_pi3_gender');
    var birthday = jQuery('#tx_tcbrmemberform_pi3_birthday');    
    var submitButton = jQuery('#tx_tcbrmemberform_pi3_submit');
    var memberForm = jQuery('#memberForm');
    
    /******************************************************************************
     *
     * date picker
     *
     ******************************************************************************/	    
    
    jQuery('#datepicker').datepicker(datepickerConf);
    jQuery('td.ui-datepicker-current-day').removeClass('ui-datepicker-current-day');
    
    /******************************************************************************
     *
     * Form
     *
     ******************************************************************************/   
	//emailChecker(); // check email.
	
    jQuery(submitButton).click(function(){
		var error=false;
		var errorBithday=false;
		var errorEmail=false;
		
		var email = jQuery(parentEmail).val();urlConf['email'] = email;	
		var myDate=new Date();urlConf['unique'] = myDate.getTime();
		$.getJSON(makeURL(urlConf), function(data){
			var cParentEmail = (data == 1) ? true : false;
			if(!cParentEmail){errorEmail = true;}
			if(jQuery(parentEmail).val() != jQuery(repeatEmail).val()){errorEmail = true;}
			if(errorEmail){jQuery(parentEmail).addClass('emailError');}else{jQuery(parentEmail).removeClass('emailError');}
			if(errorEmail){jQuery(repeatEmail).addClass('emailError');}else{jQuery(repeatEmail).removeClass('emailError');}
			if(jQuery(childFirstname).val()==''){jQuery(childFirstname).addClass('formError');error=true;}	
			if(jQuery(childLastname).val()==''){jQuery(childLastname).addClass('formError');error=true;}		
			if(jQuery(parentFirstname).val()==''){jQuery(parentFirstname).addClass('formError');error=true;}		
			if(jQuery(parentLastname).val()==''){jQuery(parentLastname).addClass('formError');error=true;}		
			if(jQuery(adress1).val()==''){jQuery(adress1).addClass('formError');error=true;}		
			if(jQuery(postnr).val()==''){jQuery(postnr).addClass('formError');error = true;} 		
			if(jQuery(city).val()==''){jQuery(city).addClass('formError');error = true;}
			if(jQuery(gender).val()==''){jQuery(gender).addClass('formError');error = true;}
			if(jQuery(birthday).val()==''){errorBithday=true;error = true;}
			if(jQuery(parentEmail).hasClass('emailError')){jQuery(parentEmail).addClass('formError');error = true;}
			if(jQuery(repeatEmail).hasClass('emailError')){jQuery(repeatEmail).addClass('formError');error = true;}
	    	
			if(!error && confirm(extConf['confirmLabel'])){
	    		memberForm.submit();
	    	} else {
	    		var i = 1;
	    		var msg = i+'. '+extConf['missingDataLabel'];
	    		//if(errorBithday==true){i++;msg +=  "\n"+i+'. '+extConf['missingDateLabel'];}
	    		if(errorEmail==true){i++;msg += "\n"+i+'. '+extConf['errorEmailLabel'];}
	    		alert(msg);
	    	}
    	});
    });
    
 	/******************************************************************************
     *
     * Misc functions
     *
     ******************************************************************************/
    
    /**
	 *
	 * @param array
	 * @author Rasmus J�rgensen <rj@typoconsult.dk>
	 * @return string URL
	 */
	function makeURL(urlVars){
		var urlStr = '';
		if(typeof urlVars != "undefined"){ // Make the url to request including some params that the server will like
			for(key in urlVars){
				urlStr = urlStr + key + "=" + urlVars[key] + "&";
			}
		}
		// Remove trailing &
		urlStr = urlStr.substr(0,urlStr.length-1);
		urlStr = "http://" + top.location.host + top.location.pathname + "?" + encodeURI(urlStr);
		return urlStr;
	}
	
	/**
	 *
	 */
	function emailChecker(){
		jQuery(parentEmail).blur(function(){
	    	var email = jQuery(parentEmail).val();urlConf['email'] = email;	
			$.getJSON(makeURL(urlConf), function(data){
				var cParentEmail = (data == 1) ? true : false;
				var error = false; 
				if(!cParentEmail){error = true;}
				if(jQuery(parentEmail).val() != jQuery(repeatEmail).val()){error = true;}
				if(error){jQuery(parentEmail).addClass('emailError');	
				} else {jQuery(parentEmail).removeClass('emailError');}
			});
	    });    
	    jQuery(repeatEmail).blur(function(){
	    	var email = jQuery(repeatEmail).val();urlConf['email'] = email;
			$.getJSON(makeURL(urlConf), function(data){
				var cRepeatEmail = (data == 1) ? true : false;
				var error = false; 
				if(!cRepeatEmail){error = true;}
				if(jQuery(repeatEmail).val() != jQuery(repeatEmail).val()){error = true;}
				if(error){jQuery(parentEmail).addClass('emailError');
				} else {jQuery(parentEmail).removeClass('emailError');}
			});
	    });
	}	

});