//(c)Kheifets & Schwabauer GbR 21.05.2007
//--------------------------------------------------------------------------------------
function check_name(s){
  shablon=/^[A-Z]{1}[a-z]{2,}$/;
  tmp=s.split("-");
  m=tmp.length;
   for(i=0;i<m;i++){
      if(tmp[i].match(shablon)==null) return false;
        }
        return true;
 }
//--------------------------------------------------------------------------------------
function check_lat(s){
  shablon=/^[a-zA-Z]/;
  m=s.length;
  if(m < 1) return false;
  else if(s.match(shablon)==null) return false;
  else return true;
 }

 function check_lat_num(s){
  shablon=/^[a-zA-Z0-9]/;
  m=s.length;
  if(m < 1) return false;
  else if(s.match(shablon)==null) return false;
  else return true;
 }

function check_phone(s){
  shablon=/^[+0-9]+[0-9]/;
  m=s.length;
  if(m < 1) return false;
  else if(s.match(shablon)==null) return false;
  else return true;
 }

function check_input(i,t){
	var f = document.booking;
	var v = "";
    if(f.elements[i].type == "text" || f.elements[i].type == "textarea" )
    {
    	v = f.elements[i].value;
        v = trim (v);
        f.elements[i].value = v;
    }
    else
    {
    	ind = f.elements[i].selectedIndex;
        if(ind==0) v==""; else v = "ok";
    }

	switch(t){
   	case 0:
    erg = check_lat(v);
    break;

   	case 1:
    erg = check_lat_num(v);
    break;

   	case 2:
    erg = check_phone(v);
    break;

 	case 3:
    erg = datum_check(v,10);
    break;

    case 4:
    erg = check_email(v);
    break;
 	}

if(!erg) show_error(i);  else   show_no_error(i);

return erg;
}
//--------------------------------------------------------------------------------------
 function days(datum){
        tmp=datum.split(".");
           day=parseInt(tmp[0]);
           month=parseInt(tmp[1]);
           year=parseInt(tmp[2]);

    if(month < 3)
    {
        month = month + 12;
        year = year - 1;
    }

    jd = day + Math.floor((153 * month - 457) / 5) + 365 * year
          + Math.floor(year / 4) - Math.floor(year / 100)
          + Math.floor(year / 400) + 1721118.5;
    return  Math.round (jd);
        }

//--------------------------------------------------------------------------------------
        function getDaysInMonth(month,year) {
        var days;
        if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) days=31;
        else if (month==4 || month==6 || month==9 || month==11) days=30;
        else if (month==2) {
        if (isLeapYear(year)) { days=29; }
        else { days=28; }
        }
        return (days);
        }
//--------------------------------------------------------------------------------------
        function isLeapYear (Year) {
        if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
        return (true);
        } else { return (false); }
        }
//--------------------------------------------------------------------------------------
        function datum_check(datum,n){
                DH=new Date();
                YH=DH.getFullYear();
                if(n==8) shablon=/\d{1,2}.\d{1,2}.\d{2}/i;
                else shablon=/\d{1,2}.\d{1,2}.\d{4}/i;
                tmp=datum.split(".");
                /*
                day= parseInt(tmp[0]);
                month=parseInt(tmp[1]);
                year=parseInt(tmp[2]);
                */
                day= tmp[0];
                month=tmp[1];
                year=tmp[2];
                max_d=getDaysInMonth(month,year);
                if(datum.length!=n) return false;
                else if(datum.match(shablon)==null) return false;
        		else if(day>max_d || day<1) return false;
                else if(month>12 || month<1) return false;
                else if(n==10 && (year<1900 || year>YH+10)) return false;
                else if(n==8 && (year<0 || year>99)) return false;
                else  return true;
        }
//--------------------------------------------------------------------------------------
 function check_email(email){
  ok = true;
  shablon=/^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,3}$/;
  if (email == "")
    {
    ok=false;
    }
  else if(email.match(shablon)==null)
    {
        ok=false;
    }
  return ok;
 }
//--------------------------------------------------------------------------------------
function radio_txt_disabled(id_r,id_txt_1,id_txt_2,id_txt_3, i_ok)
{
   if(window.document.getElementsByName(id_r)[i_ok].checked) r = false; else  r = true;
		if(i_ok == 2 && id_txt_3!="")
			window.document.getElementById(id_txt_3).disabled= r;
		else{
			window.document.getElementById(id_txt_1).disabled = r;
			if(id_txt_2!="") window.document.getElementById(id_txt_2).disabled= r;
			if(id_txt_3!="") window.document.getElementById(id_txt_3).disabled= true;
			}

}
//--------------------------------------------------------------------------------------
function feld_check(ind){
	F = document.form1;
	frei_felde = new Array(6,10,14,15,17,20,23,24,26,27,28);
	res = true;
	if(F.elements[i].type == "text" || F.elements[i].type == "textarea" ){
	for(k=0; k <= frei_felde.length; k++)
	{
		if(frei_felde[k] == ind){res = false; break}
	}
	}else res = false;

	return res;
}
//--------------------------------------------------------------------------------------
function check_submit()
{
	OK = true;
	var buf="";
	F = document.form1;
	im = F.elements.length;
	/*
	for(i=0; i<im; i++)
	{
	buf += i +"~"+ F.elements[i].name +"~"+ F.elements[i].type +"~"+ F.elements[i].value+"~"+feld_check(i)+"\n";
	}

	alert(buf);
	*/

	for(i=0; i<im; i++)
	{
		if(feld_check(i) &&  F.elements[i].value=="" || F.elements[i].value==" "){
		OK = false;
		show_error(i);
		}
	}
	//---------------------------------------
	if(!datum_check(F.elements[4].value,10))
	{
		OK = false;
		show_error(4);
	}
	if(!datum_check(F.elements[25].value,10))
	{
		OK = false;
		show_error(25);
	}
	if(!check_email(F.elements[11].value))
	{
		OK = false;
		show_error(11);
	}
	if(F.r2[1].checked)
	{
	i=14;
		if(F.elements[i].value=="" || F.elements[i].value==" " || F.elements[i].value=="Name of insurance Company"){
		OK = false;
		show_error(i);
		}
	i=15;
		if(F.elements[i].value=="" || F.elements[i].value==" " || F.elements[i].value=="Insurance policy number"){
		OK = false;
		show_error(i);
		}
      show_no_error(17);
	}
    if(F.r2[2].checked)
	{
		i=17;
		if(F.elements[i].value=="" || F.elements[i].value==" " || F.elements[i].value=="Your payment"){
		OK = false;
		show_error(i);
		show_no_error(14);
		show_no_error(15);
		}
	}

	if( OK ) F.submit(); else window.document.getElementById("error").style.visibility = "visible";
}
//--------------------------------------------------------------------------------------
function show_error(i){
	F = document.booking;
	F.elements[i].style.backgroundColor = "#FFBFBF";
	F.elements[i].style.borderStyle = "solid";
	F.elements[i].style.borderWidth = "1px";
	F.elements[i].style.borderColor = "#7F9DB9";
}
//--------------------------------------------------------------------------------------
function show_no_error(i){
	F = document.booking;
	F.elements[i].style.backgroundColor = "#FFFFFF";
	F.elements[i].style.borderStyle = "solid";
	F.elements[i].style.borderWidth = "1px";
	F.elements[i].style.borderColor = "#7F9DB9";
}
//--------------------------------------------------------------------------------------
function show_error_byid(id){
	window.document.getElementById(id).style.backgroundColor = "#FFBFBF";
}
//--------------------------------------------------------------------------------------
function show_no_error_byid(id){
	window.document.getElementById(id).style.backgroundColor = "#F4E8DC";
}
//--------------------------------------------------------------------------------------
function trim (zeichenkette) {
  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
}
//--------------------------------------------------------------------------------------
function kontakt_return(bestellung){
var f = document.kontakt;
v = f.action;
tmp = v.split("?");
f.action = "kontakt.php" + "?" + tmp[1];
f.submit();
}
//--------------------------------------------------------------------------------------
function kontakt2_submit(bestellung)
{        
var f = document.kontakt;
v = f.action;
tmp = v.split("?");
f.action = "senden_af.php" + "?" + tmp[1];
if(bestellung == 0) f.submit();
else if(f.confirm.checked) f.submit();	
else view_alert(350,msg_confirm);
}
//--------------------------------------------------------------------------------------
function kontakt_submit(bestellung)
{        
		var f = document.kontakt;
        OK = true;
        error_color="#FEC2BC";
        text = f.text.value;
        email = f.email.value;
		name = f.name.value;
		vorname = f.vorname.value;		
		str = f.str.value;
		stadt = f.stadt.value;		
		land = f.land.value;
		
		if(bestellung==1){
			reise_von = f.reise_von.value;	
			reise_bis = f.reise_bis.value;	
			if(name=="")
        	{
                OK = false
                f.name.style.backgroundColor = error_color;
        	}
			if(vorname=="")
        	{
                OK = false
                f.vorname.style.backgroundColor = error_color;
        	}
			if(str=="")
        	{
                OK = false
                f.str.style.backgroundColor = error_color;
        	}
			if(stadt=="")
        	{
                OK = false
                f.stadt.style.backgroundColor = error_color;
        	}
			if(land=="")
        	{
                OK = false
                f.land.style.backgroundColor = error_color;
        	}
			if(reise_von=="")
        	{
                OK = false
                f.reise_von.style.backgroundColor = error_color;
        	}
			if(reise_bis=="")
        	{
                OK = false
                f.reise_bis.style.backgroundColor = error_color;
        	}			
		}
		
        if(text=="" && bestellung!=1)
        {
                OK = false
                f.text.style.backgroundColor = error_color;
        }
        if(!check_email(email))
        {
            OK = false
                f.email.style.backgroundColor = error_color;
        }        			
		if(OK)document.kontakt.submit();
}

// Bestellung_programm ------------------------------------------------------------
function change_room()
{
	f = document.bestellung;
	i = f.room_type.selectedIndex;	
	if(i==0)
	{ 
		f.k_rooms.selectedIndex=0;		
		f.k_persons.disabled = false;
		f.k_rooms.disabled = true;
	}
	if(i==1) 
	{
		f.k_rooms.selectedIndex=1;
		f.k_persons.selectedIndex=1;
		f.k_persons.disabled = true;
		f.k_rooms.disabled = false;
	}
	else if(i==2) 
	{
		f.k_rooms.selectedIndex=1;		
		f.k_persons.selectedIndex=2;	
		f.k_persons.disabled = true;
		f.k_rooms.disabled = false;
	}	
}
//----------------------------------------------
function change_number_room(){
	f = document.bestellung;
	i = f.room_type.selectedIndex;
	k = f.k_rooms.selectedIndex;
	if(i==1) f.k_persons.selectedIndex = k;
	if(i==2) f.k_persons.selectedIndex = k*2;
}

function person_number_room(){

}

function prog_preise(){
	f = document.bestellung;	
	col = f.col.value;
	i = f.dauert.selectedIndex;	
	D = f.dauert.options[i].text;
	tmp = D.split(" ");
	check_out_plus = parseInt(tmp[0]) - 1;	
	j = f.room_type.selectedIndex + 1;
	id ='preis_prog_'+i + '_' + j;	
	preis_1 = window.document.getElementById(id).value;
	preis = parseFloat(preis_1) * f.k_persons.selectedIndex;
	
	if(col>4)
	{
		id ='preis_prog_'+i + '_4';
		preis_child_1 = window.document.getElementById(id).value;
		preis_childs = parseFloat(preis_child_1) * f.k_childs.selectedIndex;
	}
	 else preis_childs = 0;
	preis += preis_childs;
	if(preis==0) 
	{
		preis = "";
		f.senden_prog.disabled = true;
		f.senden_prog.style.cursor="auto"; 
	} 
	else
	{
	 	preis += ".00";
	 	f.senden_prog.disabled = false;
		f.senden_prog.style.cursor="pointer"; 
	 }
	window.document.getElementById("view_preis_prog").innerHTML = preis;
	f.programm_preise.value = preis;
}
//---------------------------------------------------------------------------
function sex_name_vorname_copy(){
	f = document.kontakt;
	f.HF_p1[0].checked=f.HF[0].checked;
	f.HF_p1[1].checked=f.HF[1].checked;
	f.name_p1.value=f.name.value;
	f.vorname_p1.value=f.vorname.value;
}
//---------------------------------------------------------------------------}
