// JavaScript Document
// JavaScript Document
function showHideMenuContent(container_id){
	var allMenus = new Array('reiseverlauf','leistungen','hotel','termine','bilder','karte','weiteres','book_step_1','book_step_2','book_step_3','book_step_4','book_step_5','popup_handler');
	for(i=0; i<allMenus.length; i++){
		_id_container = allMenus[i]+'_container';
		_id_link = allMenus[i]+'_link';
		
		if(container_id == allMenus[i]){
			if(document.getElementById(_id_container)){
				document.getElementById(_id_container).style.display='block';
			}
			if(document.getElementById(_id_link)){
				document.getElementById(_id_link).className='selected';
			}
			
			
		}
		else{
			if(document.getElementById(_id_container)){
				document.getElementById(_id_container).style.display='none';				
			}
			if(document.getElementById(_id_link)){
				document.getElementById(_id_link).className='';
			}
				
		}
	}

		
}

function showHideRightMenuContent(container_id){
//this is used because action is fired before the div structure is created.

_id_buchen_button = container_id+'_right_buttons';
if(document.getElementById(_id_buchen_button)){
	showHideRightSectionButton(container_id);
}
else{

jQuery(document).ready(function() {		
	showHideRightSectionButton(container_id);
});

}

}

function showHideRightSectionButton(container_id){

var allMenus = new Array('reiseverlauf','leistungen','hotel','termine','bilder','karte','weiteres','book_step_1','book_step_2','book_step_3','book_step_4','book_step_5');
	for(i=0; i<allMenus.length; i++){
	_id_buchen_button = allMenus[i]+'_right_buttons';
		if(container_id == allMenus[i]){
			
			if(document.getElementById(_id_buchen_button)){
				document.getElementById(_id_buchen_button).style.display='block';
			}
			
		}
		else{
			
			if(document.getElementById(_id_buchen_button)){
				document.getElementById(_id_buchen_button).style.display='none';
			}
			
		}	

	}

}

function selectHotelsubmitBuchen(hotel_id,form_name){
	document.getElementById('hotel_id_'+hotel_id).checked = true;
	submitBuchen(form_name);
}

/**************************** STEP 2 validation ******************************************/
function validateform_step2(){
	//most are validated through server side.. i do little with javascript here.
	err=false
	show_err=false
	show_err2=false
	tot_person= parseInt(gEV('step2_damen'))+parseInt(gEV('step2_herren'))
	for(i=0;i<10;i++){
		if(!gE('step2_insurance_'+i)){break;} // no more insurances to check
		if(!gE('step2_insurance_'+i).checked){continue;} //checkbox unchecked so nothing to vlaidate
		
		//user selected more person for insurance
		if(parseInt(gEV('insurance_person_numbers_'+i)) > tot_person){
			jQuery('#insurance_person_numbers_'+i).addClass('errorfield');
			err=true;
			show_err=true
		}else{
			//reset user might have corrected the value
			jQuery('#insurance_person_numbers_'+i).removeClass('errorfield')
			err=false; 
		}
		
		//check if persons are filled, no need to check if user selected wrong number of persons
		if(err==false && tot_person>1){
			
			for(j=0;j<gEV('insurance_person_numbers_'+i);j++){
				//vorname
				if(gEV('step2_insurance_person_vorname_'+i+'_'+j)==''){
					gE('step2_insurance_person_vorname_'+i+'_'+j).className='input_error'
					show_err2=true
				}else{
					gE('step2_insurance_person_vorname_'+i+'_'+j).className='textfield'
				}
				//nachname
				if(gEV('step2_insurance_person_nachname_'+i+'_'+j)==''){
					gE('step2_insurance_person_nachname_'+i+'_'+j).className='input_error'
					show_err2=true
				}else{
					gE('step2_insurance_person_nachname_'+i+'_'+j).className='textfield'
				}
			}
			
		}
	}
	
	//Sorry but not optimizing the codes :( everything again for extra person
		for(i=0;i<10;i++){
		if(!gE('step2_extras_'+i)){break;} // no more extras to check
		if(!gE('step2_extras_'+i).checked){continue;} //checkbox unchecked so nothing to vlaidate
		
		//user selected more person for insurance
		if(parseInt(gEV('extra_person_numbers_'+i)) > tot_person){
			jQuery('#extra_person_numbers_'+i).addClass('errorfield');
			err=true;
			show_err=true
		}else{
			//reset user might have corrected the value
			jQuery('#extra_person_numbers_'+i).removeClass('errorfield')
			err=false; 
		}
		
		//check if persons are filled, no need to check if user selected wrong number of persons
		if(err==false && tot_person>1){
			
			for(j=0;j<gEV('extra_person_numbers_'+i);j++){
				//vorname
				if(gEV('step2_extras_person_vorname_'+i+'_'+j)==''){
					gE('step2_extras_person_vorname_'+i+'_'+j).className='input_error'
					show_err2=true
				}else{
					gE('step2_extras_person_vorname_'+i+'_'+j).className='textfield'
				}
				//nachname
				if(gEV('step2_extras_person_nachname_'+i+'_'+j)==''){
					gE('step2_extras_person_nachname_'+i+'_'+j).className='input_error'
					show_err2=true
				}else{
					gE('step2_extras_person_nachname_'+i+'_'+j).className='textfield'
				}
			}
			
		}
	}	
	if(show_err){
		alert('Die Anzahl der Personen ist nicht richtig');
		return false
	}
	if(show_err2){
		alert('*Pflichtfelder fehlt !!!')
		return false
		
	}
	return true;
										   
}
function gE(o){
	//shortened for getElementById()
	return document.getElementById(o);
}
function gEV(o){
	//shortened for getElementById().value
	return gE(o).value;
}

function submitBuchen(form_name){
	document.forms[form_name].submit();
}
function submitBack(form_name){
	_current_step = document.forms[form_name].elements['book_step'].value;
	
	document.forms[form_name].elements['book_step'].value = _current_step-2;
	
	document.forms[form_name].elements['book_step_back'].value = 1;
	document.forms[form_name].submit();
}

function openFragen(fragen_page){
	jQuery('#popup_handler_overlay').click(function(){ closeFragen(); });
	jQuery("#popup_handler_container").load(fragen_page);	
	jQuery('#popup_handler_overlay').height(jQuery('#my_body').height()+jQuery('.footer-shadow').height());
	jQuery('#popup_handler_overlay').show();
	jQuery('#popup_handler_container').show();
}
function closePopupLightBox(){
	jQuery('#popup_handler_overlay').hide();
	jQuery('#popup_handler_container').hide();
}
function closeFragen(){	
	closePopupLightBox();
}
function closeSendFriend(){
	closePopupLightBox();
}

function openSendFriend(sendfriend_page){
	jQuery('#popup_handler_overlay').click(function(){ closeSendFriend(); });
	jQuery("#popup_handler_container").load(sendfriend_page);	
	jQuery('#popup_handler_overlay').height(jQuery('#my_body').height()+jQuery('.footer-shadow').height());
	jQuery('#popup_handler_overlay').show();
	jQuery('#popup_handler_container').show();
}

function validateFragen(fld)
{
	 retval=true;
	 setfocus=false;
	 
	 if(fld && fld.value=="") 
	 	return false
	
		arr_txt_flds=new Array('Anrede','Name','E-Mail','Nachricht')
		
		for(i=0;i<arr_txt_flds.length;i++){
			if(document.getElementById(arr_txt_flds[i]).value == "" && (fld==null || fld==arr_txt_flds[i])){
				document.getElementById(arr_txt_flds[i]).className="input_error";				
				if(!setfocus) {
					setfocus=arr_txt_flds[i]
				}
				retval=false;
				if(fld) return false
        		}
        		else if(fld==null || fld==arr_txt_flds[i]){
            			document.getElementById(arr_txt_flds[i]).className="textfield";
        		}
		}
     
	 	
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('E-Mail').value)){
            document.getElementById('E-Mail').className="textfield";
        }
        else if(fld==null || fld=='E-Mail') {
            document.getElementById('E-Mail').className="input_error";
            if(!setfocus) document.getElementById('E-Mail').focus();
            retval=false;
        }
	
	if(setfocus) {document.getElementById(setfocus).focus()};
	if(fld==null && retval==false){
		alert('*Pflichtfelder fehlt !!!')
	}
	return  retval;
}

function sendFragen(fragen_page){
		jQuery.ajax({
			type: "POST",
			url: fragen_page,
			data: jQuery("#popup_frage_form").serialize(),
			success: function(msg){	
				document.getElementById('fragen_page_response').innerHTML=msg;
				if(msg.indexOf("errortext",0)<0){hideFragenForm();}
			}
		});
		
		
}

function validateSendFriend(fld){
	retval=true;
	 setfocus=false;
	 
	 if(fld && fld.value=="") 
	 	return false
	
		arr_txt_flds=new Array('Empfangers_E_Mail','Empfangers_Name','Ihre_E_Mail','Ihre_Name','Nachricht')
		
		for(i=0;i<arr_txt_flds.length;i++){
			if(document.getElementById(arr_txt_flds[i]).value == "" && (fld==null || fld==arr_txt_flds[i])){
				document.getElementById(arr_txt_flds[i]).className="input_error bigtextfield";				
				if(!setfocus) {
					setfocus=arr_txt_flds[i]
				}
				retval=false;
				if(fld) return false
        		}
        		else if(fld==null || fld==arr_txt_flds[i]){
            			document.getElementById(arr_txt_flds[i]).className="bigtextfield";
        		}
		}
     
	 	
        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('Empfangers_E_Mail').value)){
            document.getElementById('Empfangers_E_Mail').className="bigtextfield";
        }
        else if(fld==null || fld=='Empfangers_E_Mail') {
            document.getElementById('Empfangers_E_Mail').className="input_error bigtextfield";
            if(!setfocus) document.getElementById('Empfangers_E_Mail').focus();
            retval=false;
        }
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('Ihre_E_Mail').value)){
            document.getElementById('Ihre_E_Mail').className="bigtextfield";
        }
        else if(fld==null || fld=='Ihre_E_Mail') {
            document.getElementById('Ihre_E_Mail').className="input_error bigtextfield";
            if(!setfocus) document.getElementById('Ihre_E_Mail').focus();
            retval=false;
        }
	
	if(setfocus) {document.getElementById(setfocus).focus()};
	if(fld==null && retval==false){
		alert('*Pflichtfelder fehlt !!!')
	}
	return  retval;
}

function sendSendFriend(sendfriend_page){
	if(!validateSendFriend()) 
	{return false;}
	
	jQuery.ajax({
			type: "POST",
			url: sendfriend_page,
			data: jQuery("#send_friend_form").serialize(),
			success: function(msg){	
				document.getElementById('sendfriend_page_response').innerHTML=msg;
				if(msg.indexOf("errortext",0)<0){hideSendFriendForm();}
			}
		});
}

function hideFragenForm(){
	document.getElementById('popup_send_close_button').innerHTML='<a class="link_book" href="javascript:void(0)" onclick="closePopupLightBox()">Schließen</a>';	
	jQuery('#popup_frage_form').hide();
}

function hideSendFriendForm(){
	document.getElementById('popup_send_close_button').innerHTML='<a class="link_book" href="javascript:void(0)" onclick="closePopupLightBox()">Schließen</a>';		
	jQuery('#send_friend_form').hide();
}

function printCurrentPage(){
	jQuery('link[@rel*=style][title]').each(function(i)
      {
         this.disabled = true;
         if (this.getAttribute('title') == 'print') this.disabled = false;
      });
	window.print();


	if(confirm('schließen drucken Vorschau-Seite?')){
		jQuery('link[@rel*=style][title]').each(function(i)
      		{         		
         		if (this.getAttribute('title') == 'print') this.disabled = true;
      		});
	}    
	


}

/****************** Dynamic step 2 **************************************/

/** fires when person is changed **/
function personChanged(){
	//recheck insurance/extra persons;
	for (z=0;z<10;z++){
		if(document.getElementById('step2_insurance_'+z)){
			if(document.getElementById('step2_insurance_'+z).checked)
			showHideInsurancePerson(z)
		}
		if(document.getElementById('step2_extras_'+z)){
			if(document.getElementById('step2_extras_'+z).checked)
			showHideExtrasPerson(z)
		}
	}
	
}
/** fires when user changes the person number **/
function checkInsurancePerson(j){
	document.getElementById('step2_insurance_'+j).checked = true
	showHideInsurancePerson(j)
}
function checkExtraPerson(j){
	document.getElementById('step2_extras_'+j).checked = true
	showHideExtrasPerson(j)
}

/** fires when user checks the checkbox **/
function showHideExtrasPerson(extras_id){
		person_count=parseInt(gE('extra_person_numbers_'+extras_id).value);
		
		if(gE('step2_extras_'+extras_id).checked == true && person_count<1){
			gE('extra_person_numbers_'+extras_id).selectedIndex=1;
			person_count=parseInt(gE('extra_person_numbers_'+extras_id).value)
		}
		
		if(person_count < 1){return false} 
		tot_person=parseInt(gEV('step2_damen'))+parseInt(gEV('step2_herren'))
		
		if(gE('step2_extras_'+extras_id).checked == true && tot_person>1){
		if(gE('extras_person_'+extras_id)){
			jQuery('#extras_person_'+extras_id).removeClass("invisible");
			jQuery('#extras_person_'+extras_id).addClass("visible");	
		}
		for(i=3;i>=0;i--){
			if(i>person_count)
			jQuery('#tr_extras_person_'+extras_id+'_'+parseInt(i-1)).hide();
			else
			jQuery('#tr_extras_person_'+extras_id+'_'+parseInt(i-1)).show();

		}
	}
	else if(!gE('step2_extras_'+extras_id).checked){
		gE('extra_person_numbers_'+extras_id).selectedIndex=0;
		jQuery('#extras_person_'+extras_id).removeClass("visible");
		jQuery('#extras_person_'+extras_id).addClass("invisible");
	}
	else{
		jQuery('#extras_person_'+extras_id).removeClass("visible");
		jQuery('#extras_person_'+extras_id).addClass("invisible");
		
	}

}

function showHideInsurancePerson(extras_id){
		
		person_count=parseInt(gE('insurance_person_numbers_'+extras_id).value)
		
		if(gE('step2_insurance_'+extras_id).checked == true && person_count<1){ //user checked the check box but nothing in dropdown
			gE('insurance_person_numbers_'+extras_id).selectedIndex=1; //select one person for him
			person_count=parseInt(gE('insurance_person_numbers_'+extras_id).value)
		}
		
		if(person_count < 1){return false}
		
		tot_person=parseInt(gEV('step2_damen'))+parseInt(gEV('step2_herren'))
		
			//uncheck no_insurance
			if(gE('step2_insurance_'+extras_id).checked){
			document.getElementById('step2_insurance_no').checked = false
			}

		if(gE('step2_insurance_'+extras_id).checked == true && tot_person>1){
			 
			if(gE('insurance_person_'+extras_id)){
				jQuery('#insurance_person_'+extras_id).removeClass("invisible");
				jQuery('#insurance_person_'+extras_id).addClass("visible");	
			}
			for(i=3;i>=0;i--){
				if(i>person_count)
				jQuery('#tr_insurance_person_'+extras_id+'_'+parseInt(i-1)).hide();
				else
				jQuery('#tr_insurance_person_'+extras_id+'_'+parseInt(i-1)).show();
	
			}
	}
	else if(!gE('step2_insurance_'+extras_id).checked){
		gE('insurance_person_numbers_'+extras_id).selectedIndex=0;
		jQuery('#insurance_person_'+extras_id).removeClass("visible");
		jQuery('#insurance_person_'+extras_id).addClass("invisible");
	}
	else{
		jQuery('#insurance_person_'+extras_id).removeClass("visible");
		jQuery('#insurance_person_'+extras_id).addClass("invisible");
		
	}

}

function resetZimmerRoom(the_line_no,this_value){
	if(this_value == 0){
		if(document.getElementById('step2_zimmer_room_'+the_line_no))
			document.getElementById('step2_zimmer_room_'+the_line_no).value='';
	}
}

function No_Insurance(){
	if(!gE('step2_insurance_no').checked) return false;
	for (i=0;i<10;i++){
		if(document.getElementById('step2_insurance_'+i)){
			document.getElementById('step2_insurance_'+i).checked = false
			showHideInsurancePerson(i)
			document.getElementById('insurance_person_numbers_'+i).selectedIndex=0
		}
	}
}