function openAirports(lang, field, root)
{
	window.open(root + 'airport.php?lang='+lang+'&form=main&fieldName='+ field +'&fieldID='+field,'airportlist','height=480,width=600,scrollbars=1,resizable=1');return false;
	
	return false;
}

function specialsReservationSubmit()
{
	isOk = true;
	
	document.getElementById('travelerErrorMessage').style.display = 'none';
	document.getElementById('contactPersonErrorMessage').style.display = 'none';
	document.getElementById('contactEmailErrorMessage').style.display = 'none';
	
	if ((document.getElementById('travelerName1').value == '') || 
		 (document.getElementById('travelerSurname1').value == ''))
	{
		document.getElementById('travelerErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (document.getElementById('contactPerson').value == '')
	{
		document.getElementById('contactPersonErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isValidEmail(document.getElementById('contactEmail').value, true))
	{
		document.getElementById('contactEmailErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isOk)
	{
		alert('Nevyplnili ste formulár správne. Prosím opravte chyby a skúste formulár znova odoslať !');
	}
	
	return isOk;
}

function tourReservationSubmit()
{
	isOk = true;
	
	document.getElementById('travelerErrorMessage').style.display = 'none';
	document.getElementById('contactPersonErrorMessage').style.display = 'none';
	document.getElementById('contactEmailErrorMessage').style.display = 'none';
	document.getElementById('contactPhoneErrorMessage').style.display = 'none';
	
	if ((document.getElementById('travelerName1').value == '') || 
		 (document.getElementById('travelerSurname1').value == ''))
	{
		document.getElementById('travelerErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (document.getElementById('contactPerson').value == '')
	{
		document.getElementById('contactPersonErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isValidEmail(document.getElementById('contactEmail').value, true))
	{
		document.getElementById('contactEmailErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (document.getElementById('contactPhone').value == '')
	{
		document.getElementById('contactPhoneErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isOk)
	{
		alert('Nevyplnili ste formulár správne. Prosím opravte chyby a skúste formulár znova odoslať !');
	}
	
	return isOk;
}

function showSpecialsError()
{
	alert('Nevyplnili ste formulár správne. Prosím opravte chyby a skúste formulár znova odoslať !');
}

function isValidEmail(email, required) {
  validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
  strEmail = email;

   // search email text for regular exp matches
    if (strEmail.search(validRegExp) == -1) 
   {
      return false;
    } 
    return true; 
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function tripSelectClick() {
	if (document.getElementById('flightBack').checked)
	{
		document.getElementById('dayTo').disabled = false;
		document.getElementById('monthTo').disabled = false;
		document.getElementById('toleranceTo').disabled = false;
	}
	
	if (document.getElementById('flightOne').checked)
	{
		document.getElementById('dayTo').disabled = true;
		document.getElementById('monthTo').disabled = true;
		document.getElementById('toleranceTo').disabled = true;
	}
}

function reservationValidateSubmit(form)
{
	reservationValidateShortSubmit(form);
}

function reservationValidateShortSubmit(form)
{
	isOk = true;
	
	document.getElementById('fromErrorMessage').style.display = 'none';
	document.getElementById('toErrorMessage').style.display = 'none';
	
	if (document.getElementById('reservFrom').value == '')
	{
		document.getElementById('fromErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (document.getElementById('reservTo').value == '')
	{
		document.getElementById('toErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isOk)
	{
		alert('Nevyplnili ste formulár správne. Prosím opravte chyby a skúste formulár znova odoslať !');
	} else {
		if (document.getElementById('resReserveOnline').checked)
			submitToPopup(form);
	}
	
	return isOk;
}

function reservationValidateLongSubmit(form)
{
	isOk = true;
	
	document.getElementById('fromErrorMessage').style.display = 'none';
	document.getElementById('toErrorMessage').style.display = 'none';
	document.getElementById('travelerErrorMessage').style.display = 'none';
	document.getElementById('contactPersonErrorMessage').style.display = 'none';
	document.getElementById('contactEmailErrorMessage').style.display = 'none';
	
	if (document.getElementById('resReserveMail').checked)
	{
		if ((document.getElementById('travelerName1').value == '') || 
			 (document.getElementById('travelerSurname1').value == ''))
		{
			document.getElementById('travelerErrorMessage').style.display = 'block';
			isOk = false;
		}
		
		if (document.getElementById('contactPerson').value == '')
		{
			document.getElementById('contactPersonErrorMessage').style.display = 'block';
			isOk = false;
		}
		
		if (! isValidEmail(document.getElementById('contactEmail').value, true))
		{
			document.getElementById('contactEmailErrorMessage').style.display = 'block';
			isOk = false;
		}
	}
	
	if (document.getElementById('reservFrom').value == '')
	{
		document.getElementById('fromErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (document.getElementById('reservTo').value == '')
	{
		document.getElementById('toErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isOk)
	{
		alert('Nevyplnili ste formulár správne. Prosím opravte chyby a skúste formulár znova odoslať !');
	} else {
		if (document.getElementById('resReserveOnline').checked)
			submitToPopup(form);
	}
	
	return isOk;
}

function submitToPopup(form)
{
  form.target = 'newWin';
  open ('', 'newWin', "width=850, height=700, status=yes, scrollbars=yes, resizable=yes, directories=no, toolbar=no, location=no");
}

function showImage(position, link)
{
	var block = document.getElementById('galleryDetailItem');
	var image = document.getElementById('galleryDetailImage');
	
	closeImage();
	block.style.top = parseInt(position)*100+'px';
	image.src = link;
	
	block.style.display = 'block';
	
}

function closeImage()
{
	var block = document.getElementById('galleryDetailItem');
	var image = document.getElementById('galleryDetailImage');
	
	image.src = '';
	block.style.display = 'none';
}

function reservationValidateHotelSubmit()
{
	isOk = true;
	
	document.getElementById('destinationErrorMessage').style.display = 'none';
	document.getElementById('personErrorMessage').style.display = 'none';
	document.getElementById('termErrorMessage').style.display = 'none';
	document.getElementById('contactPersonErrorMessage').style.display = 'none';
	document.getElementById('contactEmailErrorMessage').style.display = 'none';
	
	
	if (document.getElementById('contactPerson').value == '')
	{
		document.getElementById('contactPersonErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isValidEmail(document.getElementById('contactEmail').value, true))
	{
		document.getElementById('contactEmailErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (document.getElementById('hotelDestination').value == '')
	{
		document.getElementById('destinationErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (parseInt(document.getElementById('hotelPersons').value) == 0)
	{
		document.getElementById('personErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (document.getElementById('hotelNights').value == '')
	{
		document.getElementById('termErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isOk)
	{
		alert('Nevyplnili ste formulár správne. Prosím opravte chyby a skúste formulár znova odoslať !');
	}
	
	return isOk;
}

function reservationValidateCarsSubmit()
{
	isOk = true;
	
	document.getElementById('fromErrorMessage').style.display = 'none';
	document.getElementById('contactPersonErrorMessage').style.display = 'none';
	document.getElementById('contactEmailErrorMessage').style.display = 'none';
	
	if ((document.getElementById('fromDate').value == '') || 
		(document.getElementById('fromTime').value == '') || 
		(document.getElementById('fromPlace').value == ''))
	{
		document.getElementById('fromErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (document.getElementById('contactPerson').value == '')
	{
		document.getElementById('contactPersonErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	if (! isValidEmail(document.getElementById('contactEmail').value, true))
	{
		document.getElementById('contactEmailErrorMessage').style.display = 'block';
		isOk = false;
	}
	
	
	if (! isOk)
	{
		alert('Nevyplnili ste formulár správne. Prosím opravte chyby a skúste formulár znova odoslať !');
	}
	
	return isOk;
}

function ValidateMailingForm()
{
	if (! isValidEmail(document.getElementById('reclamEmail').value, true))
	{
		alert('Zadaná emailová adresa nie je správna.');
		return false;
	}
	
	return true;
}

function ValidatePasswordForm()
{
	isOk = true;
	
	message = '';
	
	if (document.getElementById('reclamOldPass').value == '')
	{
		message += "- je nutné zadať staré heslo.\n"
		isOk = false;
	}
	
	if ((document.getElementById('reclamNewPass').value == '') || (document.getElementById('reclamRePass').value == ''))
	{
		message += "- je nutné zadať nové heslo do oboch políčok.\n"
		isOk = false;
	} else {
		if (document.getElementById('reclamNewPass').value != document.getElementById('reclamRePass').value)
		{
			message += "- nové heslo sa nezhoduje s overením.\n"
			isOk = false;
		}
	}
	
	
	
	if (! isOk)
	{
		alert("Vo formulári sú chyby: \n\n"+message+"\nProsím opravte chyby a opakujte znovu.");
	}
	
	return isOk;
}

var infoOpen = '';

function openInfo(block)
{
	if (infoOpen != '')
		document.getElementById('info'+infoOpen).style.display = 'none';

	if (infoOpen != block)
	{
		infoOpen = block;
		document.getElementById('info'+block).style.display = 'block';
	} else {
		infoOpen = '';
	}
	
	return false;
}

function checkPartnerLogin()
{   	
    isOk = true;
	
	document.getElementById('errorLoginBlock').style.display = 'none';
	
	document.getElementById('errorLogin').className = '';
	document.getElementById('errorLoginBan').className = '';
	
	if ((document.getElementById('logUser').value == '') || 
		 (document.getElementById('logPasswd').value == ''))
	{
		document.getElementById('errorLogin').className = 'showError';
		isOk = false;
	}
	
	if (! isOk)
	{
		document.getElementById('errorLoginBlock').style.display = 'block';
	}
	
	return isOk;
}

function checkPartnerRegister(type)
{
	isOk = true;
	
    document.getElementById('errorRegBlock').style.display = 'none';
	                    	
	document.getElementById('errorRegEmpty').className = '';
	document.getElementById('errorRegEmptyUser').className = '';
	document.getElementById('errorRegEqualUser').className = '';
	document.getElementById('errorRegShortPasswd').className = '';
	document.getElementById('errorRegWrongEmail').className = '';
	document.getElementById('errorRegWrongCheckString').className = '';    	
	
	document.getElementById('rName').style.border = 'none';
	document.getElementById('rSurname').style.border = 'none';
	document.getElementById('rEmail').style.border = 'none';
	document.getElementById('rUser').style.border = 'none';
	document.getElementById('rPass').style.border = 'none';
	document.getElementById('checkString').style.border = 'none';

	switch(type)
	{
        case 1:
        case 2:
        	document.getElementById('rOrganization').style.border = 'none';
        	
            if ( (document.getElementById('rOrganization').value == '') )
        	{
        	    document.getElementById('errorRegEmpty').className = 'showError';
        	    document.getElementById('rOrganization').style.border = '1px #ff0101 solid';
        		isOk = false;
        	}        
        break;
        
        case 3:
        	document.getElementById('rDomain').style.border = 'none';
        	document.getElementById('rDomainlink').style.border = 'none';        
        
        	if ( (document.getElementById('rDomain').value == '') ||
                 (document.getElementById('rDomainlink').value == '') )
        	{
        	    document.getElementById('errorRegEmpty').className = 'showError';
        	    document.getElementById('rDomain').style.border = '1px #ff0101 solid';
        	    document.getElementById('rDomainlink').style.border = '1px #ff0101 solid';
        		isOk = false;
        	}                   
        break;                
    }
	    
    if (document.getElementById('rName').value == '')
    {
        isOk = false;
        document.getElementById('errorRegEmpty').className = 'showError';
        document.getElementById('rName').style.border = '1px #ff0101 solid';
    }
    
    if (document.getElementById('rSurname').value == '')
    {
        isOk = false;
        document.getElementById('errorRegEmpty').className = 'showError';
        document.getElementById('rSurname').style.border = '1px #ff0101 solid';
    }
    
    if (document.getElementById('rEmail').value == '')
    {
        isOk = false;
        document.getElementById('errorRegEmpty').className = 'showError';
        document.getElementById('rEmail').style.border = '1px #ff0101 solid';
    }
    
    if ( ! isValidEmail( document.getElementById('rEmail').value ) ) 
    {
        isOk = false;
        document.getElementById('errorRegWrongEmail').className = 'showError';
        document.getElementById('rEmail').style.border = '1px #ff0101 solid';    
    }    
    
    if (document.getElementById('rUser').value == '')
    {
        isOk = false;
        document.getElementById('errorRegEmpty').className = 'showError';
        document.getElementById('errorRegEmptyUser').className = 'showError';
        document.getElementById('rUser').style.border = '1px #ff0101 solid';
    }
    
    if (document.getElementById('rPass').value == '')
    {
        isOk = false;
        document.getElementById('errorRegEmpty').className = 'showError';
        document.getElementById('rPass').style.border = '1px #ff0101 solid';
    }  
    
    if (document.getElementById('rPass').value.length < 5)
    {
        isOk = false;
        document.getElementById('errorRegShortPasswd').className = 'showError';
        document.getElementById('rPass').style.border = '1px #ff0101 solid';
    }    
    
    if (document.getElementById('checkString').value == '')
    {
        isOk = false;
        document.getElementById('errorRegEmpty').className = 'showError';
        document.getElementById('checkString').style.border = '1px #ff0101 solid';
    }                      
	
	if (! isOk)
	{
		document.getElementById('errorRegBlock').style.display = 'block';
	}
	
	return isOk;
}

function checkPartnerProfile(type)
{
	isOk = true;
	
	document.getElementById('errorProfileBlock').style.display = 'none';
	
	document.getElementById('errorProfileEmpty').className = '';                      	
	document.getElementById('errorProfileWrongEmail').className = '';
    
	document.getElementById('pName').style.border = 'none';
    document.getElementById('pSurname').style.border = 'none';
    document.getElementById('pEmail').style.border = 'none';
    	
	switch(type)
	{
        case 1:
        case 2:
            document.getElementById('pOrg').style.border = 'none';
            
        	if ( (document.getElementById('pOrg').value == '') )
        	{
        	    document.getElementById('errorProfileEmpty').className = 'showError';
        	    document.getElementById('pOrg').style.border = '1px #ff0101 solid';
        		isOk = false;
        	}        
        break;
        
        case 3:
        	document.getElementById('pDomain').style.border = 'none';
        	document.getElementById('pUrl').style.border = 'none';
                        
        	if ( (document.getElementById('pDomain').value == '') ||
                 (document.getElementById('pUrl').value == '') )
        	{
        	    document.getElementById('errorProfileEmpty').className = 'showError';
        	    document.getElementById('pDomain').style.border = '1px #ff0101 solid';
        	    document.getElementById('pUrl').style.border = '1px #ff0101 solid';
        		isOk = false;
        	}                   
        break;                
    }
	    
    if (document.getElementById('pName').value == '')
    {
        isOk = false;
        document.getElementById('errorProfileEmpty').className = 'showError';
        document.getElementById('pName').style.border = '1px #ff0101 solid';
    }
    
    if (document.getElementById('pSurname').value == '')
    {
        isOk = false;
        document.getElementById('errorProfileEmpty').className = 'showError';
        document.getElementById('pSurname').style.border = '1px #ff0101 solid';
    }
    
    if (document.getElementById('pEmail').value == '')
    {
        isOk = false;
        document.getElementById('errorProfileEmpty').className = 'showError';
        document.getElementById('pEmail').style.border = '1px #ff0101 solid';
    }
    
    if ( ! isValidEmail( document.getElementById('pEmail').value ) ) 
    {
        isOk = false;
        document.getElementById('errorProfileWrongEmail').className = 'showError';
        document.getElementById('pEmail').style.border = '1px #ff0101 solid';    
    }                            
	
	if (! isOk)
	{
		document.getElementById('errorProfileBlock').style.display = 'block';
	}
	
	return isOk;
}

function checkPartnerPasswdChange()
{   	
    isOk = true;
	
	document.getElementById('errorProfileBlock').style.display = 'none';
	
	document.getElementById('errorProfileWrongOldPasswd').className = '';
	document.getElementById('errorProfileWrongNewPasswd').className = '';
	document.getElementById('errorProfileShortPasswd').className = '';
	
	document.getElementById('oldpassword').style.border = 'none';
    document.getElementById('password').style.border = 'none';
    document.getElementById('repassword').style.border = 'none';
	
	if ( (document.getElementById('oldpassword').value == '') )
	{
        isOk = false;
        document.getElementById('errorProfileWrongOldPasswd').className = 'showError';
        document.getElementById('oldpassword').style.border = '1px #ff0101 solid';
	}
	
	if ( (document.getElementById('password').value.length < 5)  ||
         (document.getElementById('repassword').value.length < 5)  )
	{
        isOk = false;
        document.getElementById('errorProfileShortPasswd').className = 'showError';
        document.getElementById('password').style.border = '1px #ff0101 solid';
        document.getElementById('repassword').style.border = '1px #ff0101 solid';
	}	
	
	if ( document.getElementById('password').value != document.getElementById('repassword').value )
	{
        isOk = false;
        document.getElementById('errorProfileWrongNewPasswd').className = 'showError';
        document.getElementById('password').style.border = '1px #ff0101 solid';
        document.getElementById('repassword').style.border = '1px #ff0101 solid';
	}   	
	
	if (! isOk)
	{
		document.getElementById('errorProfileBlock').style.display = 'block';
	}
	
	return isOk;
}

function requestSumCheck(mini, maxi)
{
    isOk = true;
    
	document.getElementById('errorSumBlock').style.display = 'none';
	
	document.getElementById('errorSumEmpty').className = '';
	document.getElementById('errorSumLow').className = '';
	document.getElementById('errorSumHigh').className = '';
	document.getElementById('errorSumInt').className = '';
	
	document.getElementById('reqSetSum').style.border = 'none';

	if ( (document.getElementById('reqSetSum').value == '') )
	{
        isOk = false;
        document.getElementById('errorSumEmpty').className = 'showError';
        document.getElementById('reqSetSum').style.border = '1px #ff0101 solid';
	} 

	if ( (document.getElementById('reqSetSum').value != '') &&
         (document.getElementById('reqSetSum').value < mini ) )
	{
        isOk = false;
        document.getElementById('errorSumLow').className = 'showError';
        document.getElementById('reqSetSum').style.border = '1px #ff0101 solid';
	}    
      
	if ( (document.getElementById('reqSetSum').value > maxi ) )
	{
        isOk = false;
        document.getElementById('errorSumHigh').className = 'showError';
        document.getElementById('reqSetSum').style.border = '1px #ff0101 solid';
	}  
    
    var strValidChars = "0123456789";
    var strChar;       
    
    for (i = 0; i < document.getElementById('reqSetSum').value.length; i++)
    {
        strChar = document.getElementById('reqSetSum').value.charAt(i);

        if (strValidChars.indexOf(strChar) == -1)
        {
            isOk = false;
            document.getElementById('errorSumInt').className = 'showError';
            document.getElementById('reqSetSum').style.border = '1px #ff0101 solid';         
            break;   
        }
    }        
    
	if (! isOk)
	{
		document.getElementById('errorSumBlock').style.display = 'block';
	}
	
	return isOk;             
}

function switchHidden(val)
{
	switch (val)
	{
		case 'RT':
		case 'OW':
			if (wayType == 'OJ')
			{
				document.getElementById('from1desc').style.display = 'none';
				document.getElementById('to1desc').style.display = 'none';
				/*document.getElementById('from2row').style.display = 'none';
				document.getElementById('to2row').style.display = 'none';*/
				document.getElementById('from2table').style.display = 'none';
				document.getElementById('formBody').style.height = '420px';
			}
			wayType = val;
		break;
		case 'OJ':
			if ((wayType == 'RT') || (wayType == 'OW'))
			{
				document.getElementById('from1desc').style.display = 'inline';
				document.getElementById('from1desc').className = '';
				document.getElementById('to1desc').style.display = 'inline';
				document.getElementById('to1desc').className = '';
				/*document.getElementById('from2row').style.display = 'table-row';
				document.getElementById('to2row').style.display = 'table-row';*/
				document.getElementById('from2table').style.display = 'block';
				document.getElementById('from2table').className = '';
				document.getElementById('formBody').style.height = '480px';
			}
			wayType = val;
		break;
	}
	
}

function pricerChange(sel)
{
	if (sel.options[sel.selectedIndex].value == 'AVB')
	{
		document.getElementById('time1').style.display = 'block';
		document.getElementById('time2').style.display = 'block';
	} else {
		document.getElementById('time1').style.display = 'none';
		document.getElementById('time2').style.display = 'none';
	}
}

