var minDays = 2;

function checkInputs(doc, errmsg, errcolor, validcolor, errbg, validbg)
{
	
	var inputs = $$('.required');
	
	//defaults
	var focused = false;
	
	if(errmsg == undefined) errmsg = '&nbsp;'; // set emtpy error message
	if(errcolor == undefined) errcolor = '#ff9933'; // set error color
	if(errbg == undefined) errbg = '#fff2e5'; // set error background
	if(validcolor == undefined) validcolor = '#b4babc'; // set valid color
	if(validbg == undefined) validbg = '#ffffff'; // set valid background color
	
	var iserror = 0;
	var gerror = 0;
	
	/* Special condition for cart.checkout */
	if ($(doc).name == 'cart_checkout') {
		if ($('terms_checkbox').checked == false) {
			Effect.Pulsate($('cart_checkout_accept_terms'),{duration:1, pulses: 2});
			gerror += 1;
		}
	}
	
	
	if($(doc).name == 'reservation'){
		if (checkForm() == false) gerror++;
	}
	
	if ($(doc).id == 'user_new') {
			iserror = 0;
			
			$('password').setStyle({ backgroundColor: validbg, borderColor: validcolor });
			$('password2').setStyle({ backgroundColor: validbg, borderColor: validcolor });
			$('email').setStyle({ backgroundColor: validbg, borderColor: validcolor });
			$('email2').setStyle({ backgroundColor: validbg, borderColor: validcolor });
			
			$('nickname').setStyle({ backgroundColor: validbg, borderColor: validcolor });
			
			if ($('nickname').value == "")  {
				$('nickname').setStyle({ backgroundColor:errbg });
				Effect.Pulsate($('nickname'),{duration:1, pulses: 2});
				iserror = 1; 
				gerror += 1;
			}
			if ($('password').value != $('password2').value)  {
				//$('password').setStyle({ backgroundColor:errbg });
				$('password2').setStyle({ backgroundColor:errbg });
				//Effect.Pulsate($('password'),{duration:1, pulses: 2});
				Effect.Pulsate($('password2'),{duration:1, pulses: 2});
				iserror = 1; 
				gerror += 1;
			}
			if ($('password').value == "")  {
				$('password').setStyle({ backgroundColor:errbg });
				$('password2').setStyle({ backgroundColor:errbg });
				Effect.Pulsate($('password'),{duration:1, pulses: 2});
				Effect.Pulsate($('password2'),{duration:1, pulses: 2});
				iserror = 1; 
				gerror += 1;
			}
			if ($('email').value != $('email2').value)  {
				//$('password').setStyle({ backgroundColor:errbg });
				$('email2').setStyle({ backgroundColor:errbg });
				//Effect.Pulsate($('password'),{duration:1, pulses: 2});
				Effect.Pulsate($('email2'),{duration:1, pulses: 2});
				iserror = 1; 
				gerror += 1;
			}
			if ($('email').value == '' || $('email').value.length < 6 || ($('email').value.indexOf("@") < 1)  || ($('email').value.indexOf(".") < 1) ) {
					 $('email').setStyle({ backgroundColor:errbg });
					Effect.Pulsate($('email'),{duration:1, pulses: 2});
					$('email2').setStyle({ backgroundColor:errbg });
					Effect.Pulsate($('email2'),{duration:1, pulses: 2});
					iserror = 1; 
					gerror += 1;
			}
			
		}
		
		if ($(doc).id == 'user_edit') {
			
			$('password').setStyle({ backgroundColor: validbg, borderColor: validcolor });
			$('password2').setStyle({ backgroundColor: validbg, borderColor: validcolor });

			
			if($('password').value != ""){
				if ($('password').value != $('password2').value)  {
					//$('password').setStyle({ backgroundColor:errbg });
					$('password2').setStyle({ backgroundColor:errbg });
					//Effect.Pulsate($('password'),{duration:1, pulses: 2});
					Effect.Pulsate($('password2'),{duration:1, pulses: 2});
					iserror = 1; 
					gerror += 1;
				}
			}
			
		}
			
	
	for (var index = 0; index < inputs.length; ++index) {
		
		var item = inputs[index];
		var inputValue = item.value;
		var titleValue = item.getAttribute('title');
		iserror = 0;
		
		// extra code for sepcial fields
		if(titleValue == 'agb') {
			//alert(item.checked);
		}
		// reset colors
		item.setStyle({ backgroundColor: validbg, borderColor: validcolor });
		
		
		
		
		
		if(titleValue == 'email') {
			
			if (inputValue == '' || inputValue.length < 6 || (inputValue.indexOf("@") < 1)  || (inputValue.indexOf(".") < 1) ) {
				iserror = 1; 
				gerror += 1; 
			}
		}
		else if(titleValue == 'zip') {
			if (inputValue == '' || inputValue.length < 4 || inputValue.length > 4 ) {
				iserror = 1; 
				gerror += 1; 
			}
		}
		else if(titleValue == 'agb') {
			
					
			if (item.checked == false) {
				
				Effect.Pulsate($('agb_error'),{duration:1, pulses: 2});
				$('agb_error').setStyle({ color:errcolor });
				iserror = 1; 
				gerror += 1; 
			}
		}
		else if(titleValue == 'included') {
			
				
			if (item.checked == false) {
				
				Effect.Pulsate($('included_error'),{duration:1, pulses: 2});
				$('included_error').setStyle({ color:errcolor });
				iserror = 1; 
				gerror += 1; 
			}
		}
		else if(titleValue == 'downpayment') {
			
				
			if (item.checked == false) {
				
				Effect.Pulsate($('downpayment_error'),{duration:1, pulses: 2});
				$('downpayment_error').setStyle({ color:errcolor });
				iserror = 1; 
				gerror += 1; 
			}
		}
		else if(titleValue == 'final_confirmation') {
			
			if (item.checked == false) {
				
				Effect.Pulsate($('error_final_confirmation'),{duration:1, pulses: 2});
				$('error_final_confirmation').setStyle({ color:errcolor });
				iserror = 1; 
				gerror += 1; 
			}
		}
		else if(titleValue == 'startdate') {
			if (inputValue == '') {
				iserror = 1; 
				gerror += 1; 
			}
		}
		else if(titleValue == 'enddate') {
			if (inputValue == '') {
				iserror = 1; 
				gerror += 1; 
			}
		}	
		else if(titleValue == 'days'){			
			if(inputValue < minDays || inputValue ==''){
				iserror = 1; 
				gerror += 1;
				
			}
			
		}
		
		else if(titleValue == 'terms_conditions') {
			if(!item.checked) {
				iserror = 1; 
				gerror += 1; 
			}
		}
		else if(titleValue != '' && inputValue == '') {			
			iserror = 1; 
			gerror += 1; 
		}
		
		if(iserror==1){
			item.setStyle({ backgroundColor:errbg });
			Effect.Pulsate(item,{duration:1, pulses: 2});
			
			if(!focused) item.focus();
			focused = true;
		}
	}
	
	if(gerror > 0){
		if($('errormsg')) {
			$('errormsg').innerHTML = errmsg;
		}
	}
	
	if (gerror == 0)
		$(doc).submit();	
}


function submitForm(doc){
	$(doc).submit();
}
