// JavaScript Document
var time = null;
var last_path = '';
var home_img = null;
function setFirstThumbnail(first_picture)
{
	home_img = first_picture;
}
function loadPage(page, target, load_div)
{
	var url = page;
	var stranica = page.split('?str=');
	var pars = 'l='+load_div+'&str='+stranica[1];
	
	if(load_div == 'loading')
	{
		Element.hide(target);
		Element.hide('mini-photo-num');
		Element.hide('img-div');
	}
	if(load_div == 'subloading')
		if ($('back')) Element.hide('back');
		
	if (load_div != '')
		Element.show(load_div);
	
	if (load_div == 'main-loading')
		if(target == 'header-menu')
			this.time = setTimeout(function(){var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete:mainPageLoadingCompleted});}, 600);
		else
			this.time = setTimeout(function(){var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete:allcontentPageLoadingCompleted});}, 600);
	else if (load_div == 'loading')
	{
		removeAllPicture();
		addPictureSet(fotos,stranica[1]);
		this.time = setTimeout(function(){var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete:pageLoadingCompleted});}, 600);
	}
	else if (load_div == 'subloading')
		if(target == "all-content-txt")
		{
			this.time = setTimeout(function(){var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete:subpageHomeLoadingCompleted});}, 600);
		}
		else
			this.time = setTimeout(function(){var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete:subpageLoadingCompleted});}, 600);
	
	//if (target == 'mini-photo-num')
}
function loadMiniPhoto(url)
{
	var pars = '';
	this.time = setTimeout(function(){var myAjax = new Ajax.Updater('mini-photo-num', url, {method: 'post', parameters: pars});}, 0);
}
function mainPageLoadingCompleted(originalRequest)
{
}
function allcontentPageLoadingCompleted(originalRequest)
{
	Element.hide('main-loading');
	//setTimeout("Element.show('header')", 100);
	setTimeout("new Effect.Appear('header-menu')", 100);
	setTimeout("new Effect.Appear('img-frame')", 100);
	setTimeout("showThumbnail();", 150);
	
	setTimeout("Element.show('content')", 400);
	setTimeout("new Effect.Appear('content-right')", 400);
	setTimeout("Element.show('footer')", 400);
	loadMiniPhoto('mini_photo_num.php');//?str=1/**/
}
function subpageHomeLoadingCompleted(originalRequest)
{
	//Element.hide('title_img');
	Element.hide('subloading');
	Element.show('content-txt');
	Element.show('footer');
}
function subpageLoadingCompleted(originalRequest)
{
	Element.hide('subloading');
	Element.show('content-txt');
	if($('content-right'))
		Element.show('content-right');
	Element.show('footer');
}
function pageLoadingCompleted(originalRequest)
{
	Element.hide('loading');
	Element.show('content');
	
	if($('content-right'))
		setTimeout("new Effect.Appear('content-right')", 100);
		
	//setTimeout("showThumbnail();", 100);
	showThumbnail();
	Element.show('footer');
	
	if($('setRoom'))
	{
		$($('setRoom').value).checked = true;
	}
}
var page_height = ((document.documentElement.offsetHeight - 450) / 2); // - $('photo').style.height
var page_width = ((document.documentElement.offsetWidth - 650) / 2); // - $('photo').style.width

function showPhoto(image_num)
{	//$('show-photoalbum').style.display = 'block';
	document.body.scroll = 'no';
	$('show-photoalbum').style.height = document.documentElement.offsetHeight + 'px';
	$('show-photoalbum').style.width = (document.documentElement.offsetWidth + 20) + 'px';
	Element.show('show-photoalbum');
	Element.show('photo');
	
	scroll_var = document.documentElement.style.overflow;
	document.documentElement.style.overflow = 'hidden';
	if (page_height<0 || page_width<0)
	{
		$('photo').style.top = ((document.documentElement.offsetHeight - 450) / 2) + 'px'; // - $('photo').style.height
		$('photo').style.left = ((document.documentElement.offsetWidth - 650) / 2) + 'px'; // - $('photo').style.width
		page_height = ((document.documentElement.offsetHeight - 450) / 2);
		page_width = ((document.documentElement.offsetWidth - 650) / 2);
	}
	else
	{	
		$('photo').style.top = page_height;
		$('photo').style.left = page_width;
	}
	
	galerija.setPicture(image_num);
}
function closePhoto()
{
	Element.hide('show-photoalbum');
	Element.hide('photo');
	document.body.scroll = 'yes';
	
	document.documentElement.style.overflow = 'auto';
}
function showThumbnail()
{
	var js = new Array();
	var a = '';
	if($('mini2'))
		setTimeout("new Effect.Appear('mini-photo-num')", 100); // and start slide show
	else
		Element.hide('mini-photo-num');//$('all_mini').style.display = '';
	if($('mini1'))
		a = $('mini1').href;
	else // u slucaju da se ne ucita na vrijeme mini_photo_num.php
	 	a = "javascript:changeThumbnail('img/hotel_thumbnail/home.jpg'," + home_img + ")";
	js = a.split(':');
	setTimeout(js[1], 100);
}
function changeThumbnail(path, id)
{
	if($('img_thumbnail'))
	{
		img.src = path;
		img_a.href = 'javascript:showPhoto(' + id + ');';
	}
	else
	{
		img_a = document.createElement('a');
		img_a.href = 'javascript:showPhoto(' + id + ');';
		
		img = new Image();
		img.src = path;
		img.id = 'img_thumbnail';
		img.border = 0;
		//img.onclick = 'javascript:showPhoto();';
		img_a.appendChild(img);
		$('img-div').appendChild(img_a);
	}
	/*
	alert($(id));
	if($(id))
		$(id).className = 'photo-num-border';
	*/
	new Effect.Appear('img-div');
}
function pageHistoryLink(id)
{
	if(id != '')
	{
		loadPage('content.php?str='+id, 'content', 'subloading');
		//loadMiniPhoto('mini_photo_num.php?str='+id);
	}
}
function setReservation(room)
{

}
function o(lokacija, ime, osobine)
{
	open(lokacija, ime, osobine);
}
function validateReservation(lang)
{
	var datum_dolaska_err = '';
	var datum_odlaska_err = '';
	var ime_err = '';
	var email_err = '';
	var telefon_err = '';
	var broj_sobe = '';

	if ($F('datum_dolaska') == '' || $F('datum_dolaska') != '' || $F('datum_odlaska') == '' || $F('datum_odlaska') != '' || $F('ime') == '' || $F('email') == '' || $F('email') != '' || $F('telefon') == '')
	{
		if ($F('datum_dolaska') == '') 
			if(lang == 'ba')
				datum_dolaska_err = 'Datum dolaska je obavezno polje!';
			else
				datum_dolaska_err = 'Please enter a Date of arrival and try again!';
		else if(!checkDate($F('datum_dolaska')))
			if(lang == 'ba')
				datum_dolaska_err = 'Molimo vas da unesete ispravan datum dolaska!';
			else
				datum_dolaska_err = 'Please enter valid Date of arrival and try again!';
		else 	
			datum_dolaska_err = '';
			
		if ($F('datum_odlaska') == '') 
			if(lang == 'ba')
				datum_odlaska_err = 'Datum odlaska je obavezno polje!';
			else
				datum_odlaska_err = 'Please enter a Date of departure and try again!';
		else if(!checkDate($F('datum_odlaska')))
			if(lang == 'ba')
				datum_odlaska_err = 'Molimo vas da unesete ispravan datum odlaska!';
			else
				datum_odlaska_err = 'Please enter valid Date of departure and try again!';
		else	
			datum_odlaska_err = '';
			
		if ($F('ime') == '') 
			if(lang == 'ba')
				ime_err = 'Ime i prezime je obavezno polje!';
			else
				ime_err = 'Please enter a Name and try again!';
		else	
			ime_err = '';
		
		if ($F('email') == '') 
			if(lang == 'ba')
				email_err = 'Email je obavezno polje!';
			else
				email_err = 'Please enter a E-amil and try again!';
		else	
			email_err = '';
		if (!emailCheck($F('email')))
			if(lang == 'ba')
				email_err = 'Molimo vas da unesete ispravnu email adresu!';
			else
				email_err = 'Please enter valid E-amil and try again!';
		else	
			email_err = '';
			
		if ($F('telefon') == '') 
			if(lang == 'ba')
				telefon_err = 'Telefon je obavezno polje!';
			else
				telefon_err = 'Please enter a Telephone no and try again!';
		else
			telefon_err = '';
	}
	if(!checkDates($F('datum_dolaska'), $F('datum_odlaska')))
	{
			if(lang == 'ba')
			{
				datum_odlaska_err = 'Datum dolaska treba da je veci od datuma odlaska. Molimo vas da ispravite datume!';
				datum_dolaska_err = 'Datum dolaska treba da je veci od datuma odlaska. Molimo vas da ispravite datume!';
			}
			else
			{
				datum_odlaska_err = 'Please enter correct Date of arrival and Date of departure!';
				datum_dolaska_err = 'Please enter correct Date of arrival and Date of departure!';
			}
	}
	if ((0*$F('broj_sobe') != 0 || $F('broj_sobe') <= 0) && $F('broj_sobe') != '')
		if(lang == 'ba')
			broj_sobe = 'Molimo vas da unesete ispravan broj soba!'; 
		else
			broj_sobe = 'Please enter a correct Number of rooms and try again!';
	else
		broj_sobe = '';
	$('datum_odlaska_err').innerHTML = datum_odlaska_err;
	$('datum_dolaska_err').innerHTML= datum_dolaska_err;
	$('ime_err').innerHTML = ime_err;
	$('email_err').innerHTML = email_err;
	$('telefon_err').innerHTML = telefon_err;
	$('broj_sobe_err').innerHTML = broj_sobe;
	
	if (datum_odlaska_err == '' && datum_dolaska_err == '' && ime_err == '' && email_err == '' && telefon_err == '')
		loadReservation(lang);
}

function loadReservation(lang)
{
	var d1 = $F('datum_dolaska').split('/');
	var d2 = $F('datum_odlaska').split('/')
	var pars = 'datum_dolaska=' + d1[2]+'-'+d1[1]+'-'+d1[0];
	pars += '&datum_odlaska=' + d2[2]+'-'+d2[1]+'-'+d2[0];
	pars += '&ime=' + $F('ime');
	pars += '&email=' + $F('email');
	pars += '&telefon=' + $F('telefon');
	/*
	if ($('usluga').checked)
		pars += '&usluga=' + $('usluga').value;
	*/
	input_element1 = $('usluge').getElementsByTagName('input');
	for (i=0; i<input_element1.length; i++)
		if (input_element1[i].checked)
			pars += '&usluga=' + input_element1[i].value;
	
	/*
	if ($('vrsta_sobe').checked)
		pars += '&vrsta_sobe=' + $('vrsta_sobe').value;
		*/
	input_element2 = $('sobe').getElementsByTagName('input');
	for (i=0; i<input_element2.length; i++)
		if (input_element2[i].checked)
			pars += '&vrsta_sobe=' + input_element2[i].value;
			
	pars += '&broj_sobe=' + $F('broj_sobe');
	pars += '&jezik=' + lang;
	
	if($('placanje1').checked) pars += '&vrsta_placanja=' + $('placanje1').value;
	if($('placanje2').checked) pars += '&vrsta_placanja=' + $('placanje2').value;
	if($('placanje3').checked) pars += '&vrsta_placanja=' + $('placanje3').value;
	if($('placanje4').checked) pars += '&vrsta_placanja=' + $('placanje4').value;
	
	var pars2 = '';
	/*$('telefon_err').innerHTML = pars;
	alert(pars);*/
	myAjax = new Ajax.Request('./reservationsend.php', {method: 'get', parameters: pars, onComplete:reservationCompleted});
}
function reservationCompleted(originalRequest)
{	
	//alert(originalRequest.responseText); return;
	parts = originalRequest.responseText.split('|');
	loadPage('reservationmsg.php?jezik=' + parts[0] + '&err=' + parts[1], 'content', 'loading');
}
function validatePlacenje(br)
{
	for(i=1; i<5; i++)
	{
		if(br != i)
			$('placanje'+i).checked = false;
	}
}

function checkDate(date)
{
	if (date == '')
		return true;
	parts = date.split('/');
	if (parts.length != 3)
		return false;
	if (parts[2].length != 4)
		return false;
	if (parts[1].length != 2)
		return false;
	if (parts[0].length != 2)
		return false;
	if (parts[2]<=0)
		return false;
	if (parts[1]<=0 || parts[1]>12)
		return false;
	if (parts[0]<=0 || parts[0]>31)
		return false;
	if ((parts[1]==4 || parts[1]==6 || parts[1]==9 || parts[1]==11) && parts[0]>30)
		return false;
	if (parts[1]==2)
	{
		// prestupna godina djeljiva sa 4 i sa 400
		// nije prestupna godina ako nije djeljiva sa 4 i ako jeste djeljiva sa 100
		if(parts[2]%100 == 0)
		{
			if ((parts[2]/100)%4 != 0 && parts[0]>28)
					return false;
			if ((parts[2]/100)%4 == 0 && parts[0]>29)
					return false;
		}
			
		if (parts[2]%4 == 0 && parts[0]>29) 
					return false;
		
		if (parts[2]%4 != 0 && parts[0]>28)
				return false;
	}
	d = new Date(parts[2], parts[1]-1, parts[0]);
	if (d.getMonth()*0 == 0)
		return true;
}

function checkDates(date_from, date_to)
{
	if (date_from == '' || date_to == '')
		return true;
	partsFrom = date_from.split('/');
	partsTo = date_to.split('/');
	//alert(partsTo);alert(partsFrom);
	dFrom = new Date(partsFrom[2], partsFrom[1]-1, partsFrom[0]);
	dTo = new Date(partsTo[2], partsTo[1]-1, partsTo[0]);
	if (dFrom >= dTo)
		return false;
	else
		return true;
}
function emailCheck(str) 
{
	var toEmails = new Array();
	//str = str.replace(" ","","g");
	
	if(str.substr(str.length-1)==";")
		str = str.substring(0,str.length-1);
	toEmails = str.split(";");

	var allEmailsOK = true;
	for(i=0; i<toEmails.length; i++)
	{
		var at="@";
		var dot=".";
		var lat = toEmails[i].indexOf(at);
		var lstr = toEmails[i].length;
		var ldot = toEmails[i].indexOf(dot);
		if (toEmails[i].indexOf(at)==-1){
		allEmailsOK = false;
		}
		
		if (toEmails[i].indexOf(at)==-1 || toEmails[i].indexOf(at)==0 || toEmails[i].indexOf(at)==lstr){
			allEmailsOK =  false
		}

		if (toEmails[i].indexOf(dot)==-1 || toEmails[i].indexOf(dot)==0 || toEmails[i].indexOf(dot)==lstr){
			allEmailsOK =  false
		}

		if (toEmails[i].indexOf(at,(lat+1))!=-1){
			allEmailsOK =  false
		}

		if (toEmails[i].substring(lat-1,lat)==dot || toEmails[i].substring(lat+1,lat+2)==dot){
			allEmailsOK =  false
		}

		if (toEmails[i].indexOf(dot,(lat+2))==-1){
			allEmailsOK =  false
		}
		
		if (toEmails[i].indexOf(" ")!=-1){
			allEmailsOK =  false
		}
		
		if(toEmails[i].substring(ldot+1, toEmails[i].length) == ''){
			allEmailsOK =  false
		}
 	}
 	return allEmailsOK;		
}


function validateEmailFirme(lang)
{
	var firma_err = '';
	var grad_err = '';
	var tel_fax_err = '';
	var email_err = '';
	var kontakt_osoba_err = '';
	var poruka_err = '';
	if ($F('firma') == '' || $F('grad') == '' || $F('tel_fax') == '' || $F('email') == '' || $F('email') != '' || $F('kontakt_osoba') == '' || $F('poruka') == '')
	{
		if ($F('firma') == '') 
			if(lang == 'ba')
				firma_err = 'Naziv firme je obavezno polje!';
			else
				firma_err = 'Please enter a Company name and try again!';
		else 	
			firma_err = '';
			
		if ($F('grad') == '') 
			if(lang == 'ba')
				grad_err = 'Grad je obavezno polje!';
			else
				grad_err = 'Please enter a City and try again!';
		else	
			grad_err = '';
			
		if ($F('tel_fax') == '') 
			if(lang == 'ba')
				tel_fax_err = 'Tel/Fax je obavezno polje!';
			else
				tel_fax_err = 'Please enter a Telephone/Fax and try again!';
		else	
			tel_fax_err = '';
		
		if ($F('email') == '')
			if(lang == 'ba')
				email_err = 'Email je obavezno polje!';
			else
				email_err = 'Please enter a E-mail and try again!';
		else	
			email_err = '';
		if (!emailCheck($F('email')))
			if(lang == 'ba')
				email_err = 'Molimo vas da unesete ispravnu email adresu!';
			else
				email_err = 'Please enter valid E-mail address and try again!';
		else	
			email_err = '';
			
		if ($F('kontakt_osoba') == '') 
			if(lang == 'ba')
				kontakt_osoba_err = 'Kontakt osoba je obavezno polje!';
			else
				kontakt_osoba_err = 'Please enter a Point of Contact and try again!';
		else
			kontakt_osoba_err = '';
		
		if ($F('poruka') == '') 
			if(lang == 'ba')
				poruka_err = 'Tekst poruke je obavezno polje!';
			else
				poruka_err = 'Please enter a Message text and try again!';
		else
			poruka_err = '';
	}
	
	$('firma_err').innerHTML = firma_err;
	$('grad_err').innerHTML= grad_err;
	$('tel_fax_err').innerHTML = tel_fax_err;
	$('email_err').innerHTML = email_err;
	$('kontakt_osoba_err').innerHTML = kontakt_osoba_err;
	$('poruka_err').innerHTML = poruka_err;
	
	if (firma_err == '' && grad_err == '' && tel_fax_err == '' && email_err == '' && kontakt_osoba_err == '' && poruka_err == '')
			loadSendEmail(lang);
}

function loadSendEmail(lang)
{
	var pars = 'firma=' + $F('firma');
	pars += '&grad=' + $F('grad');
	pars += '&tel_fax=' + $F('tel_fax');
	pars += '&email=' + $F('email');
	pars += '&kontakt_osoba=' + $F('kontakt_osoba');
	pars += '&poruka=' + $F('poruka');
	pars += '&jezik=' + lang;
	
	myAjax = new Ajax.Request('./sendemail.php', {method: 'get', parameters: pars, onComplete:sendEmailCompleted});
}
function sendEmailCompleted(originalRequest)
{
	parts = originalRequest.responseText.split('|');
	$('sendEmailDiv').style.display = 'none';
	if(parts[0] == 'ba')
		$('sendEmailMsgDiv').innerHTML = 'Uspjesno poslan email!';
	else
		$('sendEmailMsgDiv').innerHTML = 'E-mail is successfuly sent!';
		
	if(parts[1] == 'false')
		m = 'Nije uspjesno poslan email!';
}

function addPictureSet(pictureArray, pageNumber)
{
	for(i=0; i<pictureArray.length; i++)
	{
		if(pictureArray[i].page_id == pageNumber)
		{
			galerija.addPicture(pictureArray[i].id, pictureArray[i].path, pictureArray[i].thumb_path, pictureArray[i].caption, pictureArray[i].description);
		}
	}
}
function removeAllPicture()
{
	galerija.removeAllPictures();
}