/*!	ColorBox v1.3.1 - a full featured, light-weight, customizable lightbox based on jQuery 1.3 */
//	(c) 2009 Jack Moore - www.colorpowered.com - jack@colorpowered.com
//	Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
jQuery.noConflict();
jQuery(document).ready(function() {
(function (jQuery) {
   jQuery('input[type=checkbox]').prettyCheckboxes();

	jQuery.fn.formfunc = function(formType) {
		
		answerHeight=jQuery("#aocontactWrap").height();
		loadTop = (answerHeight/2)-15;
		
		jQuery("#loading").css('margin-top', loadTop-30);
		jQuery("#loading").css('text-align', 'center');
		jQuery("#loading").css('width', '100%');
		jQuery("#loading").css('position', 'absolute');
			
		var selString = '';
		var selCount = 0;
		jQuery(".fs_contact").each( function() {
			    fsID = jQuery(this).attr('id'); 
				fsLegend = jQuery("input:hidden[name="+fsID+"]").val();
				if(selCount>0){
				selString = ' , ' + selString + ' , '+' Auswahl aus '+fsLegend+': , '+getSelectedString(fsID);		
				}else{
				 selString = 'Auswahl aus '+fsLegend+': , '+getSelectedString(fsID)+ ' , ';	
				}
				selCount++;
				
		});   
		var serviceString = '';
		//serviceformular
		if(formType==3){
			service_sel = jQuery('#tx_aocontact_pi1-service_sel').val();
			service_team = jQuery("input:text[name=tx_aocontact_pi1[service_team]]").val();
			service_cartype = jQuery("input:text[name=tx_aocontact_pi1[service_cartype]]").val();
			service_plate0 = jQuery("input:text[name=tx_aocontact_pi1[service_plate0]]").val();
			service_plate1 = jQuery("input:text[name=tx_aocontact_pi1[service_plate1]]").val();
			service_plate2 = jQuery("input:text[name=tx_aocontact_pi1[service_plate2]]").val();
			service_date = jQuery("input:text[name=tx_aocontact_pi1[service_date]]").val();
			service_time = jQuery("input:text[name=tx_aocontact_pi1[service_time]]").val();
			service_ack = jQuery("input:checkbox[name=tx_aocontact_pi1[service_ack]]").val();
			if(service_ack=='on'){
				service_ack = 'JA';
			}else{
				service_ack = 'NEIN';
			}
			serviceString='Wunsch: '+service_sel+'\nServiceberater: '+service_team+'\nModell: '+service_cartype+'\nKennzeichen: '+service_plate0+'-'+service_plate1+' '+service_plate2+'\nWunschtermin Datum: '+service_date+'\nWunschtermin Uhrzeit: '+service_time+'\nBestaetigung per Mail: '+service_ack+'\n';
		}
		
		jQuery("#warning").html('');
        
		jQuery.ajax({
				type: "post",			
				url: "index.php",		
				async: true, 
				/*################ SEND ALL FORMDATA TO SERVER HERE ##################*/
				data: {
					eID: "tx_aocontact_ajax",	
					formtype: jQuery("input:hidden[name=formtype]").val(),
					pid: jQuery("input:hidden[name=pid]").val(),
					gender:jQuery("select[name=tx_aocontact_pi1[gender]]").val(),
			        title:jQuery("input:text[name=tx_aocontact_pi1[title]]").val(),
			        name:jQuery("input:text[name=tx_aocontact_pi1[name]]").val(),
			        fullname:jQuery("input:text[name=tx_aocontact_pi1[fullname]]").val(),
                    street:jQuery("input:text[name=tx_aocontact_pi1[street]]").val(),
                    postal:jQuery("input:text[name=tx_aocontact_pi1[postal]]").val(),
                    place:jQuery("input:text[name=tx_aocontact_pi1[place]]").val(),
					phone:jQuery("input:text[name=tx_aocontact_pi1[phone]]").val(),
                    email:jQuery("input:text[name=tx_aocontact_pi1[email]]").val(),
                    subject:jQuery("input:text[name=tx_aocontact_pi1[subject]]").val(),
                    message:jQuery("textarea[name=tx_aocontact_pi1[message]]").val(),
                    captcha:jQuery("input:text[name=tx_aocontact_pi1[captcha]]").val(),
					order:selString,
					service:serviceString
				},
			    
				//contentType : "application/json; charset=utf-8",
			    dataType: "json",		
				cache:      false,
				success: function(response) {
  				    if(response.length > 0) {
						 jQuery.each(response, function(i, row) {
							  var validSubmit = row.validSubmit;
							  if(validSubmit>0){
							     
								  if(row.closeURL.length>0){
								   jQuery("#closeURL").val(row.closeURL);
								  }
								  var lastHeight = jQuery("#ao_formWrap").height();
								  jQuery("#ao_formWrap").fadeOut("fast");
							      jQuery("#warning").html('<div class="mailDoneWrap"><div class="mailDone"><h2>Ihre Nachricht wurde erfolgreich versendet.</h2></div><div class="mailDonePic"></div></div>');
							      jQuery.fn.showInline("errorTrigger");
								  jQuery("#mailDonePage").css('height', lastHeight);
								  jQuery("#mailDonePage").fadeIn("slow");;
								 jQuery('html, body').animate({scrollTop:0}, 'slow');
							  }else{
								  
								 
								inputName = row.inputName;
								inputFullname = row.inputFullname;
								inputMail = row.inputMail;
								inputMsg = row.inputMsg;
								inputCap = row.inputCap;
								validCap = row.validCap;
								
								browserResult = jQuery.fn.validateForm(formType, inputName, inputFullname,inputMail,inputMsg, inputCap, validCap);
								if(browserResult<1){
								 //error from server - ok from browser -> invalid situation
								jQuery("#warning").html('<div class="warningWrap"><div class="ajax_error">Ihre Nachricht konnte aufgrund eines internen Fehlers nicht versendet werden. Bitte versuchen Sie es erneut.</div><div class="ajax_error_pic"></div></div>');
								jQuery.fn.showInline("errorTrigger");
								}
								 
							  }
							   
							   jQuery("#loading").html('');
						 });
						 
					  
                      
					}else{
						jQuery("#warning").html('<div class="warningWrap"><div class="ajax_error">Ihre Nachricht konnte nicht versendet werden. Bitte versuchen Sie es erneut. (ResponseLength<1)</div><div class="ajax_error_pic"></div></div>');
						jQuery.fn.showInline("errorTrigger");
						jQuery("#loading").html('');
					}
					jQuery("#aocontactWrap").css('opacity', '1.00');
				},//end success
	            
				
				error: function(x,e) {
				errStatusText = '';
				
				if(x.status==0){
				   errStatusText ='Server Connection Error.';
				}else if(x.status==404){
				  errStatusText ='Requested URL not found.';
				}else if(x.status==500){
				  errStatusText ='Internel Server Error.';
				}else if(e=='parsererror'){
				 errStatusText ='Error:\nParsing JSON Request failed.';
				}else if(e=='timeout'){
				 errStatusText ='Request Time out.';
				}else {
				errStatusText ='Unknow Error:\n'+x.responseText;
				}
		        		
				
				
				
				
		         jQuery("#warning").html('<div class="warningWrap"><div class="ajax_error">Ihre Nachricht konnte nicht versendet werden. Bitte versuchen Sie es erneut. '+errStatusText+'</div><div class="ajax_error_pic"></div></div>');	
		         jQuery.fn.showInline("errorTrigger");
		         jQuery("#loading").html('');
				 jQuery("#aocontactWrap").css('opacity', '1.00');
              }//end error
			  				
			});//end ajax
		
	}//end formfunc
	
	
	jQuery("#ajaxform_contact").submit(function() {
			
            jQuery("#loading").html('<img src="typo3conf/ext/ao_contact/contact_loader.gif" alt="lade..." />');
			jQuery("#aocontactWrap").css('opacity', '0.55');
			inputName = jQuery("input:text[name=tx_aocontact_pi1[name]]").val();
			inputFullname = jQuery("input:text[name=tx_aocontact_pi1[fullname]]").val();
			inputMail = jQuery("input:text[name=tx_aocontact_pi1[email]]").val();
			inputMsg = jQuery("textarea[name=tx_aocontact_pi1[message]]").val();
			inputCap = jQuery("input:text[name=tx_aocontact_pi1[captcha]]").val();
			inputCap = jQuery("input:text[name=tx_aocontact_pi1[captcha]]").val();
			formType = jQuery("input:hidden[name=formtype]").val();
			if(jQuery.fn.validateForm(formType, inputName, inputFullname,inputMail,inputMsg, inputCap, 0)<1){
			 jQuery('#contactPage').formfunc(formType);				    						  
			}else{
			 jQuery("#loading").html('');
			 jQuery("#aocontactWrap").css('opacity', '1.00');
			}
      });//end submit
	
	
	  jQuery.fn.validateForm = function (formType, inputName, inputFullname,inputMail,inputMsg, inputCap, invalidCap) {
		  	var inputValid = 0;
			var errorText = '';
			nameError = '';
			fullnameError = '';
			emailError = '';
			msgError = '';
			capError = '';
			prefixId ='aocontact';
			
			nameVal = 0;
			fullnameVal = 0;
			emailVal = 0;
			msgVal = 0;
			capVal = 0;
			cbxVal = 0;
			errCss = 'border';//background-color
			errCssVal = '1px solid #ff0000';//1px solid #ff0000
			validCssVal = jQuery("input:text[name=tx_aocontact_pi1[title]]").css('border');
			
			
			if(!getTrimLen(inputName)>0){
				nameError = '<h2>Eingabefeld Name:</h2><div class="'+prefixId+'-errcontent">Bitte tragen Sie Ihren Namen ein.</div>';
			    nameVal = 1;
				jQuery("input:text[name=tx_aocontact_pi1[name]]").css(errCss, errCssVal);
			}else{
				jQuery("input:text[name=tx_aocontact_pi1[name]]").css(errCss, validCssVal);
			
			}
			
			
			if(!getTrimLen(inputFullname)>0){
			fullnameError = '<h2>Eingabefeld Vorame:</h2><div class="'+prefixId+'-errcontent">Bitte tragen Sie Ihren Vornamen ein.</div>';
			    fullnameVal = 1;
				jQuery("input:text[name=tx_aocontact_pi1[fullname]]").css(errCss, errCssVal);
			}else{
			jQuery("input:text[name=tx_aocontact_pi1[fullname]]").css(errCss, validCssVal);
			}
			
			
			if(getTrimLen(inputMail)>0){
			  if(!echeck(inputMail)){	
			    emailVal = 1;
				emailError = '<h2>Eingabefeld eMail:</h2><div class="'+prefixId+'-errcontent">Die eingegebene E-Mailadresse ist leider nicht g&uuml;ltig. Bitte &uuml;berpr&uuml;fen Sie Ihre Eingabe.</div>';
		        jQuery("input:text[name=tx_aocontact_pi1[email]]").css(errCss, errCssVal);
			  }else{
					        jQuery("input:text[name=tx_aocontact_pi1[email]]").css(errCss, validCssVal);
			  }
			}else{
		
		   emailError = '<h2>Eingabefeld eMail:</h2><div class="'+prefixId+'-errcontent">Bitte teilen Sie uns Ihre E-Mailadresse mit, damit wir Sie kontaktieren k&ouml;nnen.</div>';
			 jQuery("input:text[name=tx_aocontact_pi1[email]]").css(errCss, errCssVal);
			    emailVal = 1;
			}
			
		    //only for formtype = 0 is valid msg needed
			
			if((!getTrimLen(inputMsg)>0) && !(formType > 0)){
			msgError = '<h2>Eingabefeld Mitteilung:</h2><div class="'+prefixId+'-errcontent">Bitte teilen Sie uns Ihr Anliegen mit.</div>';
			    msgVal = 1;
				jQuery("textarea[name=tx_aocontact_pi1[message]]").css(errCss, errCssVal);
			}else{
							jQuery("textarea[name=tx_aocontact_pi1[message]]").css(errCss, validCssVal);	
			}
			
			
			if(!getTrimLen(inputCap)>0){
			capError = '<h2>Eingabefeld Sicherheitscode:</h2><div class="'+prefixId+'-errcontent">Bitte geben Sie den angezeigten Code ein.</div>';
			    capVal = 1;
				jQuery("input:text[name=tx_aocontact_pi1[captcha]]").css(errCss, errCssVal);
			}else{
				if(invalidCap>0){
				capError = '<h2>Eingabefeld Sicherheitscode:</h2><div class="'+prefixId+'-errcontent">Der eingebene Code war leider ung&uuml;tig. Bitte geben Sie den angezeigten Code erneut ein.</div>';
			    capVal = 1;
				jQuery("input:text[name=tx_aocontact_pi1[captcha]]").css(errCss, errCssVal);
				}else{
				 jQuery("input:text[name=tx_aocontact_pi1[captcha]]").css(errCss, validCssVal);	
				}
			}
			fsError = '';
			jQuery(".fs_contact").each( function() {
				fsID = jQuery(this).attr('id'); 
				fsLegend = jQuery("input:hidden[name="+fsID+"]").val();

				fsCss = '1px solid #484C37';
				
			    var toDisplay = jQuery('input:hidden[name="'+fsID+'_validate"]').val();
				
			    if(toDisplay>0){
					 var selString = '';
					 selString = selString + getSelectedString(fsID);
					 if(!getTrimLen(selString)>0){
						
						 fsError = fsError +'<h2>Auswahlfeld &#132;'+fsLegend+'&#147;</h2><div class="'+prefixId+'-errcontent">Bitte w&auml;hlen Sie mindestens ein Element aus.</div>';
						 cbxVal = 1;
						 fsCss = errCssVal;
					 }
				}//end todisplay												 
	            jQuery(this).css('border', fsCss);
			}); 
		
			
			inputValid = nameVal + fullnameVal + emailVal + msgVal + capVal+cbxVal;
			if(inputValid>0){
				errorText = nameError+''+fullnameError+''+emailError+''+msgError+''+fsError+''+capError;
				jQuery("#warning").html('<div class="warningWrap"><div class="warningLeft">'+errorText+'</div><div class="warningRight"></div></div>');
				jQuery.fn.showInline("errorTrigger");	
			}
			return inputValid;
	  };
	  
}(jQuery));

});// end ready
				

/*#############################################################################################*/



function getSelectedString(fsID){
	 var inputVal = '';
	 var checkCount=0;
			jQuery('input:checkbox[name="'+fsID+'"]').each( function() {
				
				if(this.checked){
				  
				  if(inputVal.length>0){
					  checkCount++;
					  inputVal = inputVal+" , "+jQuery(this).attr('value');	  
				  }else{
				   inputVal = jQuery(this).attr('value');
				  }
			    }
			}); 
	return inputVal;
 }
function getTrimLen(Str){
       arg=[]
	   newLen = 0;
	   if(typeof(Str) !== 'undefined') {
       for(i=0;i<Str.length;i++){
           sub=Str.substr(i,1)
            if(sub!=" "){
                arg.push(sub)
            }
        }
		
        newStr=arg.join("");
		newLen = newStr.length;
	   }
		return newLen;
  }

function echeck(str) {
 if(typeof(str) !== 'undefined') {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		
		if (str.indexOf(at)==-1){
		
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		
		    return false
		 }
 }else{
   return false;
 }

 		 return true					
}


