function AreasBlock() {
if (getObj('AreasBlock').style.display=='none') {
	getObj('AreasBlock').style.display = 'block';
	location.href='#';
}
else {
	getObj('AreasBlock').style.display = 'none';	
}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function LoadCal() {
	$("#Fromdate").datepicker({dateFormat: 'dd-mm-yy', minDate: -0, numberOfMonths: 2, showOn: 'button', buttonImage: '/images/calendaricon.png', buttonImageOnly: true});	
	$("#Todate").datepicker({dateFormat: 'dd-mm-yy', minDate: -0, numberOfMonths: 2, showOn: 'button', buttonImage: '/images/calendaricon.png', buttonImageOnly: true});	
}

function UpdateToDate() {
	getObj('todate').value = getObj('fromdate').value;
}

var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
var currentDate = day+'-'+month+'-'+year;

var dates = {
    convert:function(d) {
        return (
            d.constructor === Date ? d :
            d.constructor === Array ? new Date(d[0],d[1],d[2]) :
            d.constructor === Number ? new Date(d) :
            d.constructor === String ? new Date(d) :
            typeof d === "object" ? new Date(d.year,d.month,d.date) :
            NaN
        );
    },
    compare:function(a,b) {
        return (
            isFinite(a=this.convert(a).valueOf()) &&
            isFinite(b=this.convert(b).valueOf()) ?
            (a>b)-(a<b) :
            NaN
        );
    },
    inRange:function(d,start,end) {
        return (
            isFinite(d=this.convert(d).valueOf()) &&
            isFinite(start=this.convert(start).valueOf()) &&
            isFinite(end=this.convert(end).valueOf()) ?
            start <= d && d <= end :
            NaN
        );
    }
}

function CompareDates(a,b) {	
	var a = a.split('-'); a = a[2]+'/'+a[1]+'/'+a[0];
	var b = b.split('-'); b = b[2]+'/'+b[1]+'/'+b[0];
	return dates.compare(a,b);
}

function Slider(Acc) {
	for (i=0;i<3;i++) {		
		if (i==Acc) {
			getObj('AccInn'+i).style.display = 'block';
			getObj('AccInnAr'+i).style.display = 'block';
		}
		else {
			getObj('AccInn'+i).style.display = 'none';
			getObj('AccInnAr'+i).style.display = 'none';
		}	
	}
}

function RoomTypesChange() {
for (i=1;i<=5;i++) {
	if (i<=getObj('RoomTypes').value) {
		getObj('RoomType_'+i).style.display='block';
	}
	else {
		getObj('RoomType_'+i).style.display='none';	
	}	
}	
}

function ChildrenChange(c) {
for (i=1;i<=3;i++) {
	if (i<=getObj('Children_'+c).value) {
		getObj('ChildAge_'+c+'_'+i).style.display='block';
	}
	else {
		getObj('ChildAge_'+c+'_'+i).style.display='none';
	}	
}	
}

function Lookup() {
	getObj('SearchListIn').innerHTML = '';
	var httpReq = new ajaxObject('/models/search.model', function Func(responseTxt,responseStat) {																	  
		if (responseTxt != '') {
			getObj('SearchList').style.display='block';
			getObj('SearchListIn').innerHTML = responseTxt;
			if (getObj('anc').value!='1') {
				getObj('anc').value = '1';
				location.href = '#Keyword';
				//getObj('Keyword').focus();
			}
		}
		else {
			getObj('SearchList').style.display='none';
			getObj('SearchListIn').innerHTML = '';
		}
	}
	);
	var data = "";	
	data += "Keyword=" + encodeURI(trimAll(getObj('Keyword').value.replace(/&/gi,'amp;')));
	data += "&Action=Lookup";
	httpReq.update(data,'GET');	
}

function FillLookup(Str) {
	getObj('Keyword').value = Str;
	getObj('SearchList').style.display = 'none';
	getObj('SearchListIn').innerHTML = '';
}

function ClearLookup() {
	getObj('SearchList').style.display='none';
	getObj('SearchListIn').innerHTML = '';
}

function Encrypt(Data) {
	var httpReq = new ajaxObject('/models/site.model', function Func(responseTxt,responseStat) {																	  
		return responseTxt;
	}
	);
	var data = "";	
	data += "Data=" + Data;
	data += "&Action=Encrypt";
	httpReq.update(data,'GET');	
}

function Decrypt(Data) {
	var httpReq = new ajaxObject('/models/site.model', function Func(responseTxt,responseStat) {																	  
		return responseTxt;
	}
	);
	var data = "";	
	data += "Data=" + Data;
	data += "&Action=Decrypt";
	httpReq.update(data,'GET');	
}

function Search() { // from index
var Str = '';	
if (CompareDates(getObj('Fromdate').value,getObj('Todate').value)!=-1 || CompareDates(currentDate,getObj('Fromdate').value)!=-1) {
	getObj('ValidRes').style.display='block';
	if (LANG=='GR') {
		getObj('ValidRes').innerHTML = 'Μη έγκυρες ημερομηνίες..';	
	}
	else if (LANG=='EN') {
		getObj('ValidRes').innerHTML = 'Not valid dates..';	
	}	
}
else {
Str = 'Keyword='+encodeURI(trimAll(getObj('Keyword').value.replace(/&/gi,'amp;')));
Str += '&Fromdate='+getObj('Fromdate').value;
Str += '&Todate='+getObj('Todate').value;
if (getObj('Nodates').checked) {
	Str += '&Nodates=1';
}
else {
	Str += '&Nodates=0';	
}

Str += '&RoomTypes='+getObj('RoomTypes').value;
for (i=1;i<=getObj('RoomTypes').value;i++) {	
	Str += '&Rooms_'+i+'='+getObj('Rooms_'+i).value;
	Str += '&Adults_'+i+'='+getObj('Adults_'+i).value;
	Str += '&Children_'+i+'='+getObj('Children_'+i).value;
	if (getObj('Children_'+i).value > 0) {
		for (j=1;j<=3;j++) {		
			if (getObj('ChildAge_'+i+'_'+j).style.display=='block') {
				Str += '&Children_'+i+'_'+j+'='+getObj('Children_'+i+'_'+j).value;
			}
		}	
	}
}
Keyword = getObj('Keyword').value;
createCookie('Fromdate',getObj('Fromdate').value,1);
createCookie('Todate',getObj('Todate').value,1);
location.href = '/Hotels?' + Str;
}
}

function GetFilter(Filter,Parenthesis) {
	var f1 = eval('document.SearchFrm.'+Filter+';'); 
	var f1Str = '';
	for (i = 0; i < f1.length; i++){
		if (f1[i].checked) {
		if (f1Str=='') {
			f1Str = f1[i].value;
		}
		else {
			f1Str += ',' + f1[i].value;
		}
		}
	}
	if (Parenthesis) {
	if (f1Str != '') {
		f1Str = '(' + f1Str + ')';	
	}
	}
	return f1Str;
}

function GetSearchResults() {
	var httpReq = new ajaxObject('/models/search.model', function Func(responseTxt,responseStat) {																	  
		getObj('ResultsInfo').innerHTML = responseTxt;
	}
	);
	var data = "";	
	data += "Keyword="+encodeURI(trimAll(getObj('Keyword').value.replace(/&/gi,'amp;')));
	data += "&Fromdate="+getObj('Fromdate').value;
	data += "&Todate="+getObj('Todate').value;
	if (getObj('Nodates').checked) {
		data += '&Nodates=1';
	}
	else {
		data += '&Nodates=0';	
	}	
	data += "&filterval1=" + GetFilter('filter1',true);
	data += "&filterval2=" + GetFilter('filter2',true);
	//data += "&filterval3=" + GetFilter('filter3',false);
	//data += "&filterval4=" + GetFilter('filter4',false);
	data += "&Action=GetSearchResults";
	httpReq.update(data,'GET');
}

function GetSearchPages(Page) {
	var httpReq = new ajaxObject('/models/search.model', function Func(responseTxt,responseStat) {																	  
		getObj('PagesInfoIn').innerHTML = responseTxt;
	}
	);
	var data = "";	
	data += "Page="+Page;
	data += "&Keyword="+encodeURI(trimAll(getObj('Keyword').value.replace(/&/gi,'amp;')));
	data += "&Fromdate="+getObj('Fromdate').value;
	data += "&Todate="+getObj('Todate').value;
	if (getObj('Nodates').checked) {
		data += '&Nodates=1';
	}
	else {
		data += '&Nodates=0';	
	}	
	data += "&filterval1=" + GetFilter('filter1',true);
	data += "&filterval2=" + GetFilter('filter2',true);
	//data += "&filterval3=" + GetFilter('filter3',false);
	//data += "&filterval4=" + GetFilter('filter4',false);
	data += "&Action=GetSearchPages";
	httpReq.update(data,'GET');
}

function OrderBy() {
	if (getObj('Order').value!='') {
		GetHotels(1,getObj('Order').value,150);	
	}	
}

function GetHotels(PAGE,ORDER,SIZE) { //from list	
if (CompareDates(getObj('Fromdate').value,getObj('Todate').value)!=-1) {
	getObj('ValidRes').style.display='block';
	if (LANG=='GR') {
		getObj('ValidRes').innerHTML = 'Μη έγκυρες ημερομηνίες..';	
	}
	else if (LANG=='EN') {
		getObj('ValidRes').innerHTML = 'Not valid dates..';	
	}	
}
else {
	getObj('BookProgr').style.display = 'block';
	getObj('ListContent').innerHTML = '<img src="/images/ajaxloaderlist.gif" width="128" height="15" style="padding-top:200px; padding-left:270px; padding-bottom:200px;" />';
	GetSearchResults();
	GetSearchPages(PAGE);
	var httpReq = new ajaxObject('/models/search.model', function Func(responseTxt,responseStat) {																	  
		if (responseTxt != '') {
			getObj('ListContent').innerHTML = responseTxt;
			$(document).ready(function(){
  				$('div.bookbutblack').corner('8px');     
			});
		}
		else {
			if (LANG=='GR') {
				getObj('ListContent').innerHTML = "<div class='nores'>Δεν βρέθηκαν αποτελέσματα..</span>";
			}
			else if (LANG=='EN') {
				getObj('ListContent').innerHTML = "<div class='nores'>No results found..</span>";
			}			
		}
		getObj('BookProgr').style.display = 'none';
	}
	);
	var data = "";	
	data += "page=" + PAGE;
	data += "&order=" + getObj('Order').value;
	data += "&size=" + SIZE;
	data += "&Keyword="+encodeURI(trimAll(getObj('Keyword').value.replace(/&/gi,'amp;')));
	data += "&Fromdate="+getObj('Fromdate').value;
	data += "&Todate="+getObj('Todate').value;
	if (getObj('Nodates').checked) {
		data += '&Nodates=1';
	}
	else {
		data += '&Nodates=0';	
	}	
	data += "&filterval1=" + GetFilter('filter1',true);
	data += "&filterval2=" + GetFilter('filter2',true);
	//data += "&filterval3=" + GetFilter('filter3',false);
	//data += "&filterval4=" + GetFilter('filter4',false);	
	data += '&RoomTypes='+getObj('RoomTypes').value;
	for (i=1;i<=getObj('RoomTypes').value;i++) {
	data += '&Rooms_'+i+'='+getObj('Rooms_'+i).value;
	data += '&Adults_'+i+'='+getObj('Adults_'+i).value;
	data += '&Children_'+i+'='+getObj('Children_'+i).value;
	if (getObj('Children_'+i).value > 0) {
		for (j=1;j<=3;j++) {					
			if (getObj('ChildAge_'+i+'_'+j).style.display=='block') {
				data += '&Children_'+i+'_'+j+'='+getObj('Children_'+i+'_'+j).value;
			}
		}	
	}
	}	
	data += "&Action=GetHotels";
	httpReq.update(data,'GET');	
	}
}

function ObjType(obj) {	
	return obj.constructor.toString();
}

function Step2b(i,RoomTypes,Url) { // from list	
	var Form = eval('document.bf_'+i);
	var rooms = getObj('rooms_'+i); 
	getObj('Res_'+i).innerHTML = '<img src="/images/ajax-loader4.gif" width="16" height="16" />';
	if (getObj('FormType_'+i).value=='1') {		
		for (var i2=0; i2 < eval('Form.rooms_'+i+'.length'); i2++) {
			if (eval('Form.rooms_'+i+'[i2].checked')) {
				var RoomType = eval('Form.rooms_'+i+'[i2].value');
				var RatePlanCode = eval('Form.RatePlanCode_'+i+'[i2].value');
				var RoomAmenity = eval('Form.RoomAmenity_'+i+'[i2].value');
      		}
		}	
	}
	else if (getObj('FormType_'+i).value=='2') {
		var RoomType = eval('Form.RoomType_'+i+'.value');
		var RatePlanCode = eval('Form.RatePlanCode_'+i+'.value');
		var RoomAmenity = eval('Form.RoomAmenity_'+i+'.value');
	}
	else if (getObj('FormType_'+i).value=='3') {		
		var RoomType = '';
		var RatePlanCode = '';
		var RoomAmenity = '';
		
		for (var j=1; j <= RoomTypes; j++) {
		//alert(eval('ObjType(Form.rooms_'+i+'_'+j+')'));
		if (eval('ObjType(Form.rooms_'+i+'_'+j+').indexOf("HTMLInputElement")==-1')) {
		for (var i2=0; i2 < eval('Form.rooms_'+i+'_'+j+'.length'); i2++) {				
				if (eval('Form.rooms_'+i+'_'+j+'[i2].checked')) {					
					if (RoomType=='') {
						RoomType = eval('Form.rooms_'+i+'_'+j+'[i2].value');
					}
					else {
						RoomType += ','+eval('Form.rooms_'+i+'_'+j+'[i2].value');
					}
					if (RatePlanCode=='') {
						RatePlanCode = eval('Form.RatePlanCode_'+i+'_'+j+'[i2].value');
					}
					else {
						RatePlanCode += ','+eval('Form.RatePlanCode_'+i+'_'+j+'[i2].value');
					}
					if (RoomAmenity=='') {
						RoomAmenity = eval('Form.RoomAmenity_'+i+'_'+j+'[i2].value');
					}
					else {
						RoomAmenity += ','+eval('Form.RoomAmenity_'+i+'_'+j+'[i2].value');
					}
      			}
		}		
		} //isarray
		else {
			//alert(eval('Form.rooms_'+i+'_'+j+'.checked'));
			if (eval('Form.rooms_'+i+'_'+j+'.checked')) {					
				if (RoomType=='') {
					RoomType = eval('Form.rooms_'+i+'_'+j+'.value');
				}
				else {
					RoomType += ','+eval('Form.rooms_'+i+'_'+j+'.value');
				}
				if (RatePlanCode=='') {
					RatePlanCode = eval('Form.RatePlanCode_'+i+'_'+j+'.value');
				}
				else {
					RatePlanCode += ','+eval('Form.RatePlanCode_'+i+'_'+j+'.value');
				}
				if (RoomAmenity=='') {
					RoomAmenity = eval('Form.RoomAmenity_'+i+'_'+j+'.value');
				}
				else {
					RoomAmenity += ','+eval('Form.RoomAmenity_'+i+'_'+j+'.value');
				}
   			}
		}
		}
	}
	
	var Fromdate = getObj('Fromdate').value;
	var Todate = getObj('Todate').value;
	if (getObj('FormType_'+i).value=='1' && ((!RoomType || RoomType=='') || (!RatePlanCode || RatePlanCode=='') || (!RoomAmenity || RoomAmenity==''))) {
		if (LANG=='GR') {
			getObj('Res_'+i).innerHTML = 'Επιλέξτε τύπο δωματίου..';	
		}
		else if (LANG=='EN') {
			getObj('Res_'+i).innerHTML = 'Select room type..';	
		}		
	}
	else if (getObj('FormType_'+i).value=='2' && ((!RoomType || RoomType=='') || (!RatePlanCode || RatePlanCode=='') || (!RoomAmenity || RoomAmenity==''))) {
		if (LANG=='GR') {
			getObj('Res_'+i).innerHTML = 'Επιλέξτε τύπο δωματίου..';	
		}
		else if (LANG=='EN') {
			getObj('Res_'+i).innerHTML = 'Select room type..';	
		}
	}
	else if (getObj('FormType_'+i).value=='3' && (RoomType.split(',').length!=RoomTypes || (!RoomType || RoomType.indexOf(',')==-1) || (!RatePlanCode || RatePlanCode.indexOf(',')==-1) || (!RoomAmenity || RoomAmenity.indexOf(',')==-1))) {
		if (LANG=='GR') {
			getObj('Res_'+i).innerHTML = 'Επιλέξτε τύπο δωματίου..';	
		}
		else if (LANG=='EN') {
			getObj('Res_'+i).innerHTML = 'Select room type..';	
		}		
	}
	else {
		
	getObj('BookProgr2').style.display = 'block';
	var httpReq = new ajaxObject('/models/model_booking2.php', function Func(responseTxt,responseStat) {																	  
		//getObj('BookProgr2').style.display = 'none';
		if (responseTxt.indexOf('[NOTOK]') != -1) {			
			getObj('Res1').innerHTML = responseTxt.replace(/\[NOTOK\]/gi,'');
			getObj('BookProgr2').style.display = 'none';
		}
		else {
			location.href = SITE_SURL+'/Booking/Preview';
		}
	}
	);		
	var data = "";	
	data += "fromdate=" + getObj('Fromdate').value;
	data += "&todate=" + getObj('Todate').value;
	data += "&RoomType=" + RoomType;
	data += "&RatePlanCode=" + RatePlanCode;
	data += "&RoomAmenity=" + RoomAmenity;
	data += "&hotelcode=" + getObj('hotelcode_'+i).value;
	data += "&hotid=" + getObj('hotid_'+i).value;
	data += '&RoomTypes='+getObj('RoomTypes').value;
	for (i2=1;i2<=getObj('RoomTypes').value;i2++) {
	data += '&Rooms_'+i2+'='+getObj('Rooms_'+i2).value;
	data += '&Adults_'+i2+'='+getObj('Adults_'+i2).value;
	data += '&Children_'+i2+'='+getObj('Children_'+i2).value;
	if (getObj('Children_'+i2).value > 0) {
		for (j=1;j<=3;j++) {					
			if (getObj('ChildAge_'+i2+'_'+j).style.display=='block') {
				data += '&Children_'+i2+'_'+j+'='+getObj('Children_'+i2+'_'+j).value;
			}
		}	
	}
	}			
	data += "&BOOKSESS="+getObj('booksess_'+i).value;
	data += "&Action=Step2";
	//alert(data);
	httpReq.update(data,'POST');
	//location.href = Url+':'+data;	
	}
}

function ChangeBg(Obj,Action) {
	if (Action=='over') {
		Obj.className='bookbutblue';	
	}
	else if (Action=='out') {
		Obj.className='bookbutgreen';		
	}	
}

function ChangeBg2(Obj,Action) {
	if (Action=='over') {
		Obj.className='bookbutgreen';	
	}
	else if (Action=='out') {
		Obj.className='bookbutblue';		
	}	
}

function ChangeBg3(Obj,Action) {
	if (Action=='over') {
		Obj.className='bookbutblue';	
	}
	else if (Action=='out') {
		Obj.className='bookbutgrey';		
	}	
}

function ChangeBg4(Obj,Action) {
	if (Action=='over') {
		Obj.className='bookbutblue';	
	}
	else if (Action=='out') {
		Obj.className='bookbutgrey2';		
	}	
}

function ChangeBg5(Obj,Action) {
	if (Action=='over') {
		Obj.className='bookbutblue';	
	}
	else if (Action=='out') {
		Obj.className='bookbutblack';		
	}	
}

function Tooltip(Action,Text) {
	if (Action=='On') {
		getObj('Tooltip').innerHTML = Text;
		getObj('Tooltip').style.display = 'block';
		
	}
	else {
		getObj('Tooltip').style.display = 'none';		
	}	
}	
