// JavaScript Document
// MM scripts

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// MM scripts

// Google and other scripts

function googleTracker(){
	var ga = document.createElement('script'); 
	ga.type = 'text/javascript'; 
	ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; 
	s.parentNode.insertBefore(ga, s);
	
	/*
	var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-7079697-4']);
  _gaq.push(['_trackPageview']);
	*/
	try {
		var pageTracker = _gat._getTracker("UA-7079697-4");
		pageTracker._trackPageview();
	} catch(err) {}
}


// Google and other scripts

// Custom scripts
/*
function bre() {   
	var f1httpRequest=null;
	if (window.ActiveXObject) {
		try {f1httpRequest = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (e) {
				try {f1httpRequest = new ActiveXObject("Microsoft.XMLHTTP");} 
					catch (e) {}
				}
			}else if (window.XMLHttpRequest) {
				f1httpRequest = new XMLHttpRequest();
				if (f1httpRequest.overrideMimeType) {f1httpRequest.overrideMimeType('text/xml');
			}
		} 
	if (!f1httpRequest) {alert('Giving up :( Cannot create an XMLHTTP instance');}     
	var locat='breaking.asp';                 
	f1httpRequest.onreadystatechange = function() { alertf1(f1httpRequest);};
	f1httpRequest.open('GET', locat, false);
	f1httpRequest.send('');
}

function alertf1(f1httpRequest) {
	if (f1httpRequest.readyState == 4) {
		if (f1httpRequest.status == 200) {            
			var f1xmlDocument = f1httpRequest.responseText;
			alert('ovde');
			document.getElementById('breaking').innerHTML =f1xmlDocument;               
		} else {
			document.getElementById('breaking').innerHTML='There was a problem with the requested data.';
		}            
	}
}
*/
function is_array(input){
	return typeof(input)=='object'&&(input instanceof Array);
}


function fillDivWithAjaxDataHtml(path, divid, addfunction, addfunctionargs){ /// Milan
	$.ajax({
		url: path,
		dataType: 'html',
		success: function(data) {
			if (is_array(divid)){
				for (var i=0; i<divid.length; i++){
					$('#'+divid[i]).html(data);
				}
			} else {
				$('#'+divid).html(data);
			}
			//aditional function execution
			if (addfunction!=null) window[addfunction](addfunctionargs);
		},
		error: function(){
			hideVeo()
			$('#'+divid).html('<h2>There was a problem with the requested data. Please try again</h2>');
		}
	});
}

function fillDivWithAjaxDataHtmlPost(path,vars, divid, addfunction, addfunctionargs){ /// Milan

	vars = vars.replace("+"," ").replace(/%28/g,"(").replace(/%29/g,")").replace(/%2F/g,"/").replace(/&amp;/g,"&");
	
	$.ajax({
		url: path,
		type: "POST",
		data: vars,
		dataType: 'html',
		success: function(data) {
			if (is_array(divid)){
				for (var i=0; i<divid.length; i++){
					$('#'+divid[i]).html(data);
				}
			} else {
				$('#'+divid).html(data);
			}
			//aditional function execution
			if (addfunction!=null) window[addfunction](addfunctionargs);
		},
		error: function(){
			hideVeo()
			$('#'+divid).html('<h2>There was a problem with the requested data. Please try again</h2>');
		}
	});
}

function entsub(myform) {
  if (window.event && window.event.keyCode == 13)
    myform.submit();
  else
    return true;
}

function checkFormData(){
	var i;
	var j;
	var chk=true;
	//checking dates
	if ($('#example').val()=='') chk=false;
	if ($('#datepicker').val()=='') chk=false;
	if ($('#datepicker_depart').val()=='') chk=false;
	
	var nrrooms=Number($('#optRooms').val());
	
	for (i=1; i<nrrooms+1; i++){
		if ($('#R'+i+'adul').val()=='0') chk=false;
		
		var nrchildren=Number($('#R'+i+'chil').val());
		
		for (j=1; j<nrchildren+1; j++){
			if ($('#R'+i+'Age'+j).val()=='0') chk=false;
		}
		
	}
	
	// checks finished
	
	if (chk) {
		$('#frm').submit();
	} else {
		alert("Please define your search properly");
	}
	
}

/*
/// function removed from about.asp, mission.asp, values.asp, people.asp, travel-agents.asp, business-travel-services.asp
function check(){
	var n = window.location;
	var chk=new String(n);
	chs=chk.indexOf("=");
	if (chs==-1){
	
	hide('wrong');
	} else{
	show('wrong');
	}
}
*/
function check(){
	var n = window.location;
	var chk=new String(n);
	chs=chk.indexOf("a1");
	if (chs==-1){
		hide('wrong');
	} else{
		show('wrong');
	}
}

function sideBanners(){
	var ran_number=Math.floor(Math.random()*3);
	var ttt='<img src="images/banners/side-add'+ran_number+'.jpg" alt="travelmed" width="120" height="600" border="0" />';//
	document.write(ttt);
}

function displaySWF(path, divname, width, height, version){
	var flashvars = {};
	var params = {wmode:"transparent"};
	var attributes = {};
	if (path!='' && divname!='' && width!='' && height!='' && version!=''){
		swfobject.embedSWF(path, divname, width, height, version, '', flashvars, params, attributes);
	}
}


function tabsBehaviour(){
		$('.tabitem').click(function(){
																 
			var nr = $(this).attr('id').split('_')[1];
			$('.tabitem').removeClass('select');
			$('.tab-content').hide();
			
			$('#tab_'+nr).addClass('select');
			$('#tab-content_'+nr).show();
		});
}

function fancyboxBehavior(){
	$('.fancy').fancybox();
}

function panelPageBottomBoxesBehaviour(){
	$(".panel-box-bottom").hover(function(){
		$(this).addClass('over');
		$(this).find("h2").stop().animate({right:'0'}, 500, 'easeOutQuad');
	})
	$(".panel-box-bottom").mouseout(function (){
		$(this).removeClass('over');
		$(this).find("h2").stop().animate({right:'-70'}, 500, 'easeOutQuad');
	})
}

function getVal(objid){
	return $('#'+objid).val()
}

function addFilteringDataTable(){
	
	$.fn.dataTableExt.afnFiltering.push(
	
		function( oSettings, aData, iDataIndex ) {
			var iColumn = 3;
			var iMin = $('#min-price').val() * 1;
			var iMax = $('#max-price').val() * 1;
			/*
			var iMin = document.getElementById('min-price').value * 1;
			var iMax = document.getElementById('max-price').value * 1;
			*/
		
			var iVersion = aData[iColumn] == "-" ? 0 : aData[iColumn]*1;
		if ( iMin == "" && iMax == "" ) {
			return true;
		} else if ( iMin == "" && iVersion <= iMax ){
			return true;
		} else if ( iMin <= iVersion && "" == iMax ){
			return true;
		}	else if ( iMin <= iVersion && iVersion <= iMax ){
			return true;
		}
		return false;
		
		});

}

function setPriceRangeSlider(tblobj){
	$( "#price-range-slider" ).slider({
			range: true,
			min: $('#min-price').val()*1,
			max: $('#max-price').val()*1,
			step: 5,
			values: [ $('#min-price').val()*1, $('#max-price').val()*1 ],
			slide: function( event, ui ) {
				$( "#amount" ).html( "Amount:" + ui.values[ 0 ] + "&euro; - " + ui.values[ 1 ] + "&euro;" );
				$('#min-price').val(ui.values[ 0 ]);
				$('#max-price').val(ui.values[ 1 ]);
			},
			change: function (event, ui){
				tblobj.fnDraw();
			}
		});
}
function additionalRatingsFilter(tblobj){ // only for dataTable jquery js
	$('.ratings-filter').click(function(){
		additionallyFilterTable(tblobj);
	});
}
function additionallyFilterTable(tblobj){
		var filterArr=new Array();
		$('.ratings-filter:checked').each(function(){
			filterval=$(this).val()
			filterArr.push(filterval);
		});
		sRegExpString = '^(?=.*?'+filterArr.join( ')|(?=.*?' )+').*$';
		tblobj.fnFilter(sRegExpString, 1, true)
}
function getSummOfWidths(obj){
	var width=0
	$(obj).each(function(){
			width+=Number($(this).width())
	})
	return width
}
function arrangeTopMenu(){
	var width=getSummOfWidths('.menu.top-part>ul>li');
	var containerwidth=$('div.menu.top-part').width()

	if (width>containerwidth){
		
		var currfontsize = Number($('div.menu a').css("font-size").replace(/\D/g,''))
		var newfontsize = Number(currfontsize-1)+"px"
		$('div.menu a').css("font-size", newfontsize);
		
		width=getSummOfWidths('.menu.top-part>ul>li');
		if (width>containerwidth) arrangeTopMenu()
	}
}
function initLoginFields(){
	var unamelbl= $('#tf2').val()
	var passlbl= $('#invisible-pass').val()
	
	$('#loginform input').focus(function(){
		if ($(this).attr('id')=='tf2' && $(this).val()==unamelbl){
			$(this).val('')
		}
		if ($(this).attr('id')=='invisible-pass'){
			$(this).hide();
			$('#tf3').show();
			$('#tf3').focus();
		}
	})
	$('#loginform input').blur(function(){
		if ($(this).attr('id')=='tf2' && $(this).val()==""){
			$(this).val(unamelbl)
		}
		if ($(this).attr('id')=='tf3' && $(this).val()==''){
			$(this).hide();
			$('#invisible-pass').show();
		}
	})
}

function languageSelectorActions(){
	$('#topmenu #lang_change #selector-wrapper #sublang li a').click(function(){
		$('#id_lang').val($(this).attr("id").split("_")[1])
		$('#lang-change-form').submit()
	})
}

function openLink(elem){
	window.location=$(elem).attr('loc');
}
function showVeo(){
	$('#veo').show();
	$('#veo div.advertisment').fadeIn(3000);
}
function hideVeo(){
	$('#veo').hide();
	$('#veo div.advertisment').hide();
}

// initiate datepickers

function checkBothDates(){
	if ($("#datepicker_depart").val()!='' && $("#datepicker").val()!='') {
		
		var date_arr=new Date(convertDate($("#datepicker").val()))
		var date_depart=new Date(convertDate($("#datepicker_depart").val()))
		
		selectNrOfNightsWith((days_between(date_arr, date_depart)*-1))
		
	}
}

function selectNrOfNightsWith(nr){
	$('#nights option').each(function(){
		if ($(this).val()==Number(nr)){
			$(this).attr('selected','selected');
		} else {
			$(this).removeAttr('selected');
		}
	})
}
	
function days_between(from_date, to_date) {


     // The number of milliseconds in one day
     var ONE_DAY = 1000 * 60 * 60 * 24;


     // Convert both dates to milliseconds
     var from_ms = from_date.getTime();
     var to_ms = to_date.getTime();


     // Calculate the difference in milliseconds
     var difference_ms = from_ms - to_ms;
     
     // Convert back to days and return
     return Math.round(difference_ms/ONE_DAY);


}

function convertDate(str){
	var str_arr=str.split("/")
	return str_arr[1]+"/"+str_arr[0]+"/"+str_arr[2]
}

function initiateDatePickers(){

	$("#datepicker").datepicker({
			minDate: 0, 
			dateFormat: 'dd/mm/yy',
			numberOfMonths: 2,
			//changeMonth: true,
			//changeYear: true,
			onSelect: function(dateText, inst){ 
				// Capture the Date from User Selection
				var oldDate = new Date(convertDate(dateText));
				var newDate = new Date(convertDate(dateText));
	
				// Compute the Future Limiting Date
				oldDate.setDate(newDate.getDate()+1);
				newDate.setDate(newDate.getDate()+30);
	
				// Set the Widget Properties
				$("#datepicker_depart").datepicker('option', 'minDate', oldDate);
				$("#datepicker_depart").datepicker('option', 'maxDate', newDate);
				
				calculateNightsDays();
				
				checkBothDates();
    	}
  	});

 		$("#datepicker_depart").datepicker({
			minDate: 0,
  		maxDate: '+29d',
			dateFormat: 'dd/mm/yy',
			numberOfMonths: 2,
			//changeMonth: true,
			//changeYear: true,
	
  		onSelect: function(dateText, inst){ 
				// Capture the Date from User Selection
				var endDate = new Date(convertDate(dateText));
		    var startDate = new Date(convertDate(dateText));

		    // Compute the Future Limiting Date
    		startDate.setDate(startDate.getDate()-30);

		    // Set the Widget Properties
    		$("#datepicker").datepicker('option', 'maxDate', endDate);
				
				checkBothDates();
    	}
  	});
		
		$("#nights").change(function(){

			calculateNightsDays()
		
		})
	
}

function calculateNightsDays(){
	if ($("#datepicker").val()!=''){
		var nr_days=Number(Number($("#nights").val()));
				
		var newDate=new Date(convertDate($("#datepicker").val()))
				
		newDate.setDate(newDate.getDate()+nr_days)
		newDt = (newDate.getDate()<10) ? "0"+newDate.getDate() : newDate.getDate();
		
		newMonth=Number(Number(newDate.getMonth())+1);
		newMonth = (newMonth<10) ? "0"+newMonth : newMonth ;
				
		$("#datepicker_depart").val(newDt+"/"+newMonth+"/"+newDate.getFullYear());
	}
}

function confirmRoomBooking(strng){
	
	strng = Base64.decode(strng)
	
	//alert (strng)
	
	var arrvar=new Array ()
	
	var arr1=strng.split("_")
	
	if (arr1.length>0){
		
		for (var i=0; i<arr1.length; i++){
			
			var arr2=arr1[i].split("=");
			
			$('#'+arr2[0]).val(arr2[1])
			
		}
		
	}
	
	$('#book_rooms_frm').submit();
	
	
}

function initiSearch3RadioBehavior(){

	$(':radio').click(function (){
		var total=0
		$('input:checked').each(function (){
			var valarr=Base64.decode($(this).val()).split("_");
			for (var i=0; i<valarr.length; i++){
				var keyval=valarr[i].split(":");
				if (keyval[0]=='stot'){
					total+=Number(keyval[1])
				}
			}
		})	
		$("#totprice").html(CurrencyFormatted(total)+" &euro;")
	})
}

/**
*
*  Base64 encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Base64 = {
 
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
 
	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = Base64._utf8_encode(input);
 
		while (i < input.length) {
 
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);
 
			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;
 
			if (isNaN(chr2)) {
				enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4 = 64;
			}
 
			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
 
		}
 
		return output;
	},
 
	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
 
		while (i < input.length) {
 
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));
 
			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;
 
			output = output + String.fromCharCode(chr1);
 
			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
 
		}
 
		output = Base64._utf8_decode(output);
 
		return output;
 
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}

function initiateOptRooms(){
	var i;
	var nrrooms;
	var j;
	var nrchildren;
	
	$('#optRooms').change(
		function (){
			
			var currentRoom = $(this).val();
			currentRoom--;
			var staticHeight = 75;
			var newHeight = currentRoom * 32;
			$(".roomexpand").animate({"height" : staticHeight + newHeight}, "easeout");
			
			nrrooms=Number($(this).val());
			nrroomsSelected(nrrooms)
		}
	);
	$('.nrchildren').change(
		function(){
			var selchclss=$(this).attr('class').split(" ");
			var selchnr;
			for (elem in selchclss){
				if (selchclss[elem]!='nrchildren'){
					selcharr=selchclss[elem].split("_");
					selchnr=Number(selcharr[1]);
				}
			}
			nrchildren=Number($(this).val());
			nrchildrenSelected(selchnr, nrchildren);
		}
	);
}

function nrroomsSelected(nrrooms){
	var i;
	var j;
	for (i=1; i<nrrooms+1; i++){
		$('#R'+i+'adul').css('visibility','visible');
		$('#R'+i+'chil').css('visibility','visible');
		/*
		$('.room_'+i).show();
		if ($('#R'+i+'chil').val()=='0'){
			$('span.room_'+i).hide();
			for (j=1; j<4; j++){
				$('#R'+i+'Age'+j).val('0');
				$('#R'+i+'Age'+j).hide();
			}
		}
		*/
	}
	for (i=nrrooms+1; i<5; i++){
		$('.room_'+i).css('visibility','hidden');
		$('.room_'+i).val('0');
	}
}

function nrchildrenSelected(selchnr, nrchildren){
	var i;
	if (nrchildren>0){
		$('span.room_'+selchnr).css('visibility','visible');
	} else {
		$('span.room_'+selchnr).css('visibility','hidden');
	}
	for (i=nrchildren+1; i<4; i++){
		$('#R'+selchnr+'Age'+i).css('visibility','hidden');
		$('#R'+selchnr+'Age'+i).val('0');
	}
	for (i=1; i<nrchildren+1; i++){
		$('#R'+selchnr+'Age'+i).css('visibility','visible');
	}
}
//// news archive functions
function enableSpecificDates(date) {
	     //date.substring(0,5); //getFullYear();
		
		/*for (i = 0; i < enabledDates.length; i++) {	*/	
		
		dmy = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();

		
		
		
				if ($.inArray(dmy, enabledDates) != -1) {
				return [true];} else{
		//}
		return [false];
	}}
	
function selectedNewsDate(dateText, inst){
	var curdate = new Date(dateText)
	var year = curdate.getFullYear();
	var month = curdate.getMonth()+1;
	if (month<10) month="0"+month;
	var day = curdate.getDate();
	senddate = year+"-"+month+"-"+day;
	window.location = "news.asp?dat="+senddate;
}
	//// news archive functions
	//// newsletter functions
function initAddNewsLetter(){
	$('#submit_email_for_newsletter').click(function(){
		var email=$('#email_for_newsletter').val();
		if (email!=""){
			AtPos = email.indexOf("@")
			StopPos = email.lastIndexOf(".")
			
			mailverified = true
			
			if (AtPos == -1 || StopPos == -1) mailverified = false;
			if (StopPos < AtPos) mailverified = false;
			if (StopPos - AtPos == 1) mailverified = false;
			
			if (mailverified){
				
				$.ajax({
					url: 'newsletter/addmail.asp',
					type: "POST",
					data: "email="+email,
					dataType: 'text',
					success: function(data) {
						alert(data)
					},
					error: function(){
						alert('There was a problem with the requested data. Please try again');
					}
				});
			} else {
				alert ("Please provide proper e-mail address");
			}
			
		} else {
			alert ("Please provide proper e-mail address");
		}
	});
}
	//// newsletter functions
// Custom scripts
