﻿var testresults;
function checkemail(str){


var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
if (filter.test(str))
testresults=true;
else{
testresults=false;
}

var evilchars = new Array()
evilchars[0] = "ö";
evilchars[1] = "ü";
evilchars[2] = "ó";
evilchars[3] = "ő";
evilchars[4] = "ú";
evilchars[5] = "é";
evilchars[6] = "á";
evilchars[7] = "ű";
evilchars[8] = "í";

evilchars[9] = "Ö";
evilchars[10] = "Ü";
evilchars[11] = "Ó";
evilchars[12] = "Ő";
evilchars[13] = "Ú";
evilchars[14] = "É";
evilchars[15] = "Á";
evilchars[16] = "Ű";
evilchars[17] = "Í";


for (i=0;i<evilchars.length;i++)
{
	if (str.indexOf(evilchars[i])!=-1)
	{
		testresults=false;
	}
}

return (testresults)
}

function showthankyoures() {
	Effect.Appear('msgboxres', {duration: 1.0});
}


function showthankyou(msg) {
	$('msgboxtext').innerHTML=msg;
	$('msgbox').className='msgboxres';
	Effect.Appear('msgbox', {duration: 1.0});
}

function searchaccoms() {
	document.forms['searchaccomfrm'].submit();
}

function dovacation(errmsg) {
	var reqs = document.getElementsByClassName('req');
	for(i=0;i<reqs.length;i++) {
		if(reqs[i].value=='') {
			$('msgboxtext').innerHTML=errmsg;
		//	$('msgbox').className='msgcenterpos';
			Effect.Appear('msgbox', {duration: 1.0});
			reqs[i].focus();
			return;	
		}
	}
	if(!checkemail($('email').value)) {
		$('email').focus();
		$('msgboxrestext').innerHTML=errmsg;
		Effect.Appear('msgboxres', {duration: 1.0});
		return;
	}
	document.forms['reservationfrm'].submit();
}

function reportError () {
	alert('Ajax error!');
}

function dosearch() {
	document.forms['accomsearch'].submit();
}



Event.observe(window, 'load', initEventHandlers);

function initEventHandlers() {
	initRouteSelect();
	initCountrySelect();
	initCitySelect();
}

function initRouteSelect() {
	if($('countrydiv')) {
		Event.observe('route', 'change', function() {
			
			var url = 'general/aspworks/get_countries.asp';
			var pars = 'route='+$F('route');
			var myAjax = new Ajax.Updater( 
				{success: 'countrydiv'}, 
				url, 
				{ 
					method: 'post', 
					parameters: pars, 
					onFailure: reportError 
				}
			);
			
		});
	}
}

function initCountrySelect() {
	if($('citydiv')) {
		Event.observe('country', 'change', function() {
			
			var url = 'general/aspworks/get_cities.asp';
			var pars = 'country='+$F('country');
			var myAjax = new Ajax.Updater( 
				{success: 'citydiv'}, 
				url, 
				{ 
					method: 'post', 
					parameters: pars, 
					onFailure: reportError 
				}
			);
			
		});
	}
}


function initCitySelect() {
	if($('accomtypediv')) {
		Event.observe('city', 'change', function() {
			
			var url = 'general/aspworks/get_accomtype.asp';
			var pars = 'city='+$F('city');
			var myAjax = new Ajax.Updater( 
				{success: 'accomtypediv'}, 
				url, 
				{ 
					method: 'post', 
					parameters: pars, 
					onFailure: reportError 
				}
			);
			
		});
	}
}


function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
	IN:
		NUM - the number to format
		decimalNum - the number of decimal places to format the number to
		bolLeadingZero - true / false - display a leading zero for
										numbers between -1 and 1
		bolParens - true / false - use parenthesis around negative numbers
		bolCommas - put commas as number separators.
 
	RETVAL:
		The formatted number!
 **********************************************************************/
{ 
        if (isNaN(parseInt(num))) return "NaN";

	var tmpNum = num;
	var iSign = num < 0 ? -1 : 1;		// Get sign of number
	
	// Adjust number so only the specified number of numbers after
	// the decimal point are shown.
	tmpNum *= Math.pow(10,decimalNum);
	tmpNum = Math.round(Math.abs(tmpNum))
	tmpNum /= Math.pow(10,decimalNum);
	tmpNum *= iSign;					// Readjust for sign
	
	
	// Create a string object to do our formatting on
	var tmpNumStr = new String(tmpNum);

	// See if we need to strip out the leading zero or not.
	if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
		if (num > 0)
			tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
		else
			tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
		
	// See if we need to put in the commas
	if (bolCommas && (num >= 1000 || num <= -1000)) {
		var iStart = tmpNumStr.indexOf(".");
		if (iStart < 0)
			iStart = tmpNumStr.length;

		iStart -= 3;
		while (iStart >= 1) {
			tmpNumStr = tmpNumStr.substring(0,iStart) + " " + tmpNumStr.substring(iStart,tmpNumStr.length)
			iStart -= 3;
		}		
	}

	// See if we need to use parenthesis
	if (bolParens && num < 0)
		tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";

	return tmpNumStr;		// Return our formatted string!
}