//<![CDATA[

// Send request to add edit capacity.
function addCandle() {
	if(!validation())
		return false;

	var parameters = new Array('candleCode', 'candleObituaryId', 'candleName', 'candleSurname', 'candleText');
	ajaxRequestMethod('showobituary', 'addCandle', parameters, addCandleResponse, 'candleButton', 'candleBox');
}

// Get response of add edit capacity.
function addCandleResponse() {
	var response = ajaxResponseMethod('candleButton');
	var message = '';

	// Add success.
        if (response > 0) {
                message = '<font color="#FFCC33"><b>Dodano znicz.</b></font>';
        }
	// Add false.
	else if (response == 0) {
		message = '<font color="#FFFFCC"><b>Nie dodano znicza!</b></font>';
	}
	// Edit success.
	else if (response == -1) {
		message = '<font color="#FFFFCC"><b>Niepoprawny kod!</b></font>';
	}

	var messageBox = new GetObject('candleBox');
	messageBox.obj.innerHTML = message;
}

// Valid form.
// @return Bool True or false dependence on form valid.
function validation() {
	if (!DHTML)
		return;

	// messageBoxObituary object
	var messageBox = new GetObject('candleBox');

	// candleName object.
	var candleName = new GetObject('candleName');

	// Valid candleName object.
	if(!validValue(candleName, "isEmpty", messageBox))
		return false;

	// Valid candleName object.
	if(!validValue(candleName, "isString:1:100", messageBox))
		return false;

	// candleSurname object.
	var candleSurname = new GetObject('candleSurname');

	// Valid candleSurname object.
	if(!validValue(candleSurname, "isEmpty", messageBox))
		return false;

	// Valid candleSurname object.
	if(!validValue(candleSurname, "isString:1:100", messageBox))
		return false;

	// formText object.
	var candleText = new GetObject('candleText');

	// Valid formText object.
	if(!validValue(candleText, "isEmpty", messageBox))
		return false;

	// Valid formText object.
	if(!validValue(candleText, "isString:1:120", messageBox))
		return false;

	// candleName object.
	var candleCode = new GetObject('candleCode');

	// Valid candleName object.
	if(!validValue(candleCode, "isEmpty", messageBox))
		return false;

	// Valid candleName object.
	if(!validValue(candleCode, "isString:1:15", messageBox))
		return false;

	return true;
}


// Show pages.
// @param number Page to show.
function showCondolence(that, index) {
	if (!DHTML)
		return;
	if(that.id == 'candleExpand_0_'+index){
		var height_hidden = $('#condolence_hidden_'+index).attr('title');
		$('#condolence_none_'+index).css({height : (parseInt(height_hidden)*1.1)+'px'});
		that.id = 'candleExpand_1_'+index;
	}else if(that.id == 'candleExpand_1_'+index){
		var height_hidden = $('#condolence_hidden_'+index).attr('title');
		if(height_hidden>50)
			$('#condolence_none_'+index).css({height : '4em'});
		else
			$('#condolence_none_'+index).css({height : (parseInt(height_hidden)*1.1)+'px'});
		that.id = 'candleExpand_0_'+index;
	}	
}

function initCondolences(){ 
  $('.full_condolence').each(function(i, elem) {
  		if($(elem).height() > 50){
  			$(elem).css({
  				height: '4em'
  			});
  		}else{
	  		$(elem).filter(function() {
    		    return this.id.match(/condolence_none_([0-9]*)/);
    		}).hide().css({
  				height: ($(elem).height())+'px'
  			});
  		}
  		$(elem).show();
	}); 
	$('.hide_condolence').each(function(i, elem) {
  		var nHeight = parseInt($(elem).height());
  		$(elem).attr('title', nHeight).hide();
	});
} 

// Show pages.
// @param number Page to show.
function showLegacy(index) {
	if (!DHTML)
		return;

	// Value of page object.
	var legacy_none = new GetObject('legacy_none_'+index);
	var legacy_block = new GetObject('legacy_block_'+index);
        
        var temp = legacy_none.obj.innerHTML;
        legacy_none.obj.innerHTML = legacy_block.obj.innerHTML
        legacy_block.obj.innerHTML = temp;
        return;
}

var curRowNumber = 6;

function sendToFriendsAddFields(){
	if (!DHTML) return;
		
	if(curRowNumber >=26){
		alert('Nie jest mądrze wysyłać powiadomienie do więcej niż 25 osób na raz.');
		return;
	}	
		
	var sendToFriendsTable = new GetObject('sendToFriendsTable');
	
	var newRow = sendToFriendsTable.obj.insertRow(curRowNumber);
	
	curRowNumber = sendToFriendsTable.obj.rows.length;
	
	var cellName = newRow.insertCell(0);
	var cellEmail = newRow.insertCell(1);
	cellName.innerHTML = '<input name="sendToFriendNames[]" id="sendToFriendName'+curRowNumber+'" class="css_input_text_normal" style="width: 120px;" type="text" maxlength="100" value="" />';
	cellEmail.innerHTML= '<input name="sendToFriendEmails[]" id="sendToFriendEmail'+curRowNumber+'" class="css_input_text_normal" style="width: 120px;" type="text" maxlength="250" value="" />';

	displayConfirmDiv();
}

function validationSendToFriend(){
	if (!DHTML) return;
	
	var sendToFriendsTable = new GetObject('sendToFriendsTable');
	var sendToFriendsMessageBox = new GetObject('sendToFriendsMessageBox');
	
	var inputs_name = document.getElementsByName('sendToFriendNames[]');
	var inputs_email = document.getElementsByName('sendToFriendEmails[]');
	
	var inputs_name_size = inputs_name.length;
	var inputs_email_size = inputs_email.length;
	
	var i;
	for(i = 0; i < inputs_name_size; i++){
		var tmp_obj_name = new GetObject(inputs_name[i].id);
		if(!isEmpty(tmp_obj_name)){
			if(!validValue(tmp_obj_name, "isString:1:100", sendToFriendsMessageBox)){
				tmp_obj_name.obj.focus();
				return false;
			}else{
				var tmp_obj_email = new GetObject(inputs_email[i].id);
				if(!validValue(tmp_obj_email, "isEmpty", sendToFriendsMessageBox)){
					tmp_obj_email.obj.focus();
					return false;
				}
				if(!validValue(tmp_obj_email, "isEmail", sendToFriendsMessageBox)){
					tmp_obj_email.obj.focus();
					return false;
				}
				if(!validValue(tmp_obj_email, "isString:1:250", sendToFriendsMessageBox)){
					tmp_obj_email.obj.focus();
					return false;
				}
				if(!validValue(tmp_obj_email, "isEmail", sendToFriendsMessageBox)){
					tmp_obj_email.obj.focus();
					return false;
				}
			}
		}
		var tmp_obj_email = new GetObject(inputs_email[i].id);
		if(!isEmpty(tmp_obj_email)){
			if(!validValue(tmp_obj_email, "isString:1:250", sendToFriendsMessageBox)){
				tmp_obj_name.obj.focus();
				return false;
			}else if(!validValue(tmp_obj_email, "isEmail", sendToFriendsMessageBox)){
				tmp_obj_email.obj.focus();
				return false;
			}else{
				var tmp_obj_name = new GetObject(inputs_name[i].id);
				if(!validValue(tmp_obj_name, "isEmpty", sendToFriendsMessageBox)){
					tmp_obj_name.obj.focus();
					return false;
				}else if(!validValue(tmp_obj_name, "isString:1:250", sendToFriendsMessageBox)){
					tmp_obj_name.obj.focus();
					return false;
				}
			}
		}
	}
	
	var sendToFiendSwitch = new GetObject('sendToFiendSwitch');
	sendToFiendSwitch.obj.value = 1;
	
	return true;
}

function openDemoPhoto(picUrl){
	window.open(picUrl, '_demophoto', 'width=500,height=500,menubar=no,statusbar=no,scrollbars=no');
}

/**
 *
 * FUNKCJE ŚWIECZKOWE
 *
 **/
candleAnimation = function(){
	
	// KONFIGURACJA {
	var show_time = 6.5; // czas wyświetlania świeczki [w sekundach]
	var delay_time = 0.3; // czas zwłoki po najechaniu kursorem na świczkę [w sekundach]
	var delay_init = 1; // czas zwłoki startu animacji po załadowaniu strony [w sekundach]
	var animation_time = 1.5; // czas pojawiania/zanikania [w sekundach]
	// }
	
	var active_candle = 0; // aktualna świeczka
	var forced_candle = 0; // wymuszona świeczka
	var candle_timer = 0; // zmienna licznika czasu

	var avaliable_candles = 0; // ilość dostępnych świeczek pobierana z formularza

	var tmp_func = new Array(null,null,null,null,null,null,null,null,null); // tablica przechowująca funkcje dla eventa onmouseover
	var tmp_effects = new Array(null,null,null,null,null,null,null,null,null); // tablica przechowująca efekty (animacje) dla każdej z 8 dostepnych świeczek

	/**
	 * Inicjacja anicmacji świczek
	 **/
  	function init(){
  		animation_time = animation_time * 1000;
		avaliable_candles = $('#candle_number').val();
		if(avaliable_candles == 0) return true;
		wstrzymajZnicz();
		candle_timer = setTimeout(
			function(){
				pokazZnicz();
			},
			delay_init*1000
		);
	}
	
	/**
	 * Pokaż znicz i wywołaj opóźnione pokazanie kolejnego
	 **/
	function pokazZnicz(){
		zatrzymajWszystko();
		
			if(active_candle >= $('#candle_number').val())
				active_candle = 1;
			else
				active_candle++;
				
			if(forced_candle != 0){
				$('#burning_canlde_'+forced_candle).hover(tmp_func[forced_candle]);
				forced_candle = 0;
			}
			
			$('#one-candle-'+active_candle).css(
				{
					'top' : (parseInt($('#one-candle-'+active_candle).attr('toppos'))- ( parseInt($('#one-candle-'+active_candle).height()) - 63 ) )+'px'
				}
			);
			
			tmp_effects[active_candle] = $('#one-candle-'+active_candle).fadeIn(animation_time);
			
			if(avaliable_candles == 1) return true;
			wstrzymajZnicz();
			candle_timer = setTimeout(
				function(){
					$('#one-candle-'+active_candle).fadeOut(animation_time);
					pokazZnicz();
				},
				show_time*1000
			);
			
	}
	
	/**
	 * Wstrzymuje timer pętli
	 **/
	function wstrzymajZnicz(){
		clearTimeout(candle_timer);
		candle_timer = 0;
	}
	
	/**
	 * Wznawia timer pętli
	 **/
	function wznowZnicz(){
		wstrzymajZnicz();
		if(avaliable_candles == 1) return true;
		candle_timer = setTimeout(
			function(){
				$('#one-candle-'+active_candle).fadeOut(animation_time);
				pokazZnicz();
			},
			show_time*1000
		);
	}
	
	/**
	 * Właściwa funkcja wywoływana po najechaniu na znicz - wywołuje funkcje pokazZniczBzw() z danym opóźnieniem
	 **/
	function pokazZniczBzw(that){
		
		if(typeof(that.id) == "undefined" || avaliable_candles == 1) return;
		
		wstrzymajZnicz();

		if(forced_candle != 0){
			if(tmp_func[forced_candle] != null)
				$('#burning_canlde_'+forced_candle).hover(tmp_func[forced_candle]);
			forced_candle = 0;
		}
	
		active_candle = forced_candle = that.id.substr(that.id.length-1,1);
		
		tmp_func[forced_candle] = $('#burning_canlde_'+forced_candle).onmouseover;
		$('#burning_canlde_'+forced_candle).hover( function(){return;} );
		
		candle_timer = setTimeout(
			function(){
				pokazZniczBzwTimed();
			},
			delay_time*1000
		);
	}
	
	/**
	 * Wymuszone pokazanie znicza - po najechaniu myszką na znicz
	 **/
	function pokazZniczBzwTimed(){
		wstrzymajZnicz();
	
		zatrzymajWszystko();
			
		$('#one-candle-'+forced_candle).css(
			{
				'top' : (parseInt($('#one-candle-'+forced_candle).attr('toppos'))- ( parseInt($('#one-candle-'+forced_candle).height()) - 63 ) )+'px'
			}
		);
		
		tmp_effects[active_candle] = $('#one-candle-'+forced_candle).fadeIn(animation_time);
		
		candle_timer = setTimeout(
			function(){
				$('#one-candle-'+forced_candle).fadeOut(animation_time);
				if($('#candle_number').val() > 0)
					pokazZnicz();
			},
			show_time*1000
		);
		
	}
	
	/**
	 * Ukrywa wszystkie widoczne ramki z opisem znicza
	 **/
	function schowajWszystkie(){
		$('.one-candle').each(function(){$(this).fadeOut(animation_time);});
	}
	
	/**
	 * Zatrzymuje wszystkie możliwe animacje pokazywania ramki znicza
	 **/
	function zatrzymajEfekty(){
	}
	
	/**
	 * Funkcja chowająca ramki i stopująca wszystkie efekty
	 **/
	function zatrzymajWszystko(){
		schowajWszystkie();
		zatrzymajEfekty();
	}
	
	return{
	  show:pokazZnicz,
	  pause:wstrzymajZnicz,
	  resume:wznowZnicz,
	  force:pokazZniczBzw,
	  hide:zatrzymajWszystko,
	  init:init
	}
}();

function mapaStart(lat,lng,zoom)   
{   
	var gLat = lat || 52.025459;
	var gLng = lng || 19.204102;
	var gZoom = zoom || 6;

	var kontener 		= document.getElementById("mapka");
	kontener.onclick 	= function () {};
	kontener.title		= '';
	kontener.className 	= 'aktywna';
	$(window).unload(function(){GUnload();});
	 
	if(GBrowserIsCompatible())
	{   
		var mapa = new GMap2(document.getElementById("mapka"));   
		mapa.addControl(new GSmallMapControl());
		mapa.addControl(new GHierarchicalMapTypeControl());
		mapa.enableScrollWheelZoom();
		mapa.enableDoubleClickZoom(); // nie zapomnij o tej linijce  
		mapa.enableContinuousZoom();   
		mapa.setCenter(new GLatLng(gLat,gLng),parseInt(gZoom),G_HYBRID_MAP);
		
		// Marker
		var marker = new GMarker(new GLatLng(gLat,gLng));
		marker.txt=document.getElementById("mapka_info").innerHTML;  
		mapa.addOverlay(marker);  
		GEvent.addListener(marker,"click",function(){
			marker.openInfoWindowHtml(marker.txt);  
		});
		marker.openInfoWindowHtml(marker.txt);  
		
		mapa.addOverlay(marker);
	}   
} 

//Send request to add edit capacity.
var _contactFormOpened = false;
function sendEmailContactForm(){
	if (!DHTML)
		return;

	var contactOwnerForm = new GetObject('contactOwnerForm');
	var contactOwnerFormFrame = new GetObject('contactOwnerFormFrame');
        
    if (!_contactFormOpened) {
		initDialog(contactOwnerForm.obj.innerHTML, 'dialogDiv');
		_contactFormOpened = true;
        return;
    }else if (_contactFormOpened) {
    	initDialog(contactOwnerForm.obj.innerHTML, 'dialogDiv', 'hide');
    	_contactFormOpened = false;
        return;
    }
}
function dialogCloseFunction(){ sendEmailContactForm(); }
function sendEmailContact() {
	if(!validationContact())
		return false;

	var parameters = new Array('contactName', 'contactSurname', 'contactEmail', 'contactCode', 'contactText', 'contactObituaryId');
	ajaxRequestMethod('obituarycontact', 'sendEmailContact', parameters, sendEmailContactResponse, 'contactButton', 'contactBox');
}

// Get response of add edit capacity.
function sendEmailContactResponse() {
    var response = ajaxResponseMethod('contactButton');
	var message = '';
	var formCode = new GetObject('contactCode');
	formCode.obj.className = "css_input_text_normal upper";

	// Add success.
    if (response == 1) {
    	dialogCloseFunction();
    	
    	var boxCreatorBig_showForm = new GetObject('boxCreatorBig_showForm');
    	var boxCreatorBig_message = new GetObject('boxCreatorBig_message');
    	
    	boxCreatorBig_showForm.styl.display='none';
    	boxCreatorBig_message.styl.display='block';
    	
    	setTimeout(function(){
    		boxCreatorBig_message.styl.display='none';
    		boxCreatorBig_showForm.styl.display='block';
    	}, 5000);
    }
	// Add false.
	else if (response == -1) {
		message = '<span style="color:#CC0000">Niepoprawny kod weryfikujący!</span>';
		formCode.obj.className = "css_input_text_error upper";
		formCode.obj.value = '';
		var captchaImg = new GetObject('captchaImg');
		captchaImg.obj.src = '/package/captcha/captcha.php'+'?'+Math.random();
	}

	var messageBox = new GetObject('contactBox');
	messageBox.obj.innerHTML = message;
}

// Valid form.
// @return Bool True or false dependence on form valid.
function validationContact() {
	if (!DHTML)
		return;

	// messageBoxObituary object
	var messageBox = new GetObject('contactBox');

	// contactCode object.
	var contactCode = new GetObject('contactCode');
	
	// contactName object.
	var contactName = new GetObject('contactName');
	
	// contactEmail object.
	var contactEmail = new GetObject('contactEmail');

	// formText object.
	var formText = new GetObject('contactText');
	formText.obj.className = "css_input_text_normal";

	// Valid contactName object.
    if(!validValue(contactName, "isEmpty", messageBox))
		return false;

	// Valid contactName object.
	if(!validValue(contactName, "isString:1:100", messageBox))
		return false;

	// Valid contactName object.
    if(!validValue(contactEmail, "isEmpty", messageBox))
		return false;

	// Valid contactName object.
	if(!validValue(contactEmail, "isString:1:256", messageBox))
		return false;	

	// Valid contactName object.
	if(!validValue(contactEmail, "isEmail", messageBox))
		return false;
	

	// Valid contactCode object.
    if(!validValue(contactCode, "isEmpty", messageBox))
		return false;

	// Valid contactCode object.
	if(!validValue(contactCode, "isString:1:15", messageBox))
		return false;

	// Valid formText object.
	if(!validValue(formText, "isEmpty", messageBox, "test")) {
		formText.obj.className = "css_input_text_error";
		messageBox.obj.innerHTML = '<span style="color:#CC0000">Pole z treścią jest puste!</span>';
		return false;
	}

	return true;
}

//]]>
