//uzywane w oknie czatu oraz do pokazywania tekstu nad moim video
		var localName		= 'Ja';
		
		//moje dane uzytkownika
//		var userId			= 1;
//		var userName		= null;
		
		//dane rozmowcy
		var farId			= null;
		var farName			= null;
		
		//czy wyswietlamy obraz z kamer
		var cameraVisible	= true;
		
		//czy przegladamy strone w IE
		var isIE			= navigator.appName.indexOf("Microsoft") != -1;
		
		var chat			= null;
		
		var graded 			= false;

		//id prowadzonego czatu
		
		var chatId = null;
		var chatStatus = null;
	
		/**
		 * Funkcja tworząca wiadomość na całą stronę
		 */
		function setConstructionMessage()
		{
			if( ( FlashDetect.major = 10 && FlashDetect.minor >= 1 ) || FlashDetect.major > 10 )
			{
				$("#mess2").overlay({
					top: 260,
					mask: {
						color: '#fff',
						loadSpeed: 200,
						opacity: 0.95
					},
					closeOnClick: false,
					load: true
				});
				$("#mess2").html("<p align='center'><img src='../img/ajax_loader.gif'/>&nbsp;&nbsp;&nbsp;Trwa łączenie z serwerami czatu...</p>");
				$("#mess2").overlay().load();
			}
		}
		
		/**
		 * Ukrywanie wiadomości o ładowaniu strony
		 */
		function hideConstructionMessage()
		{
			$("#mess2").overlay().close();
		}
		
		/**
		 * zwraca referencje do filmu o okreslonej nazwie
		 */
		function getSwf(movieName) {
			return isIE ? window[movieName] : document[movieName];
		}

		/**
		 * wywolywane przez SWFa, gdy uda sie polaczyc ze Stratusem
		 */
		function connectedToStratus( stratusId ) {
			$('#stratusLabel').text( "stratusID: " + stratusId ).closest('tr').show();
			$('#btnConnect').removeAttr('disabled');
			$('#btnHideShow').removeAttr('disabled');
		}

		/**
		 * wyswietla prompt, w ktorym pytamy o ID uzytkownika z ktorym chcemy sie polaczyc
		 * nastepnie, jesli to ID jest poprawne, laczymy sie z uzytkownikiem
		 */
		function connectToClient(farId, farUserId) {
//			farId = prompt( 'ID użytkownika, z którym chcesz się połączyć' );
//			if( farId == null || farId == undefined ){
//				alert( "Wprowadź poprawny identyfikator użytkownika" );	
//			}
			
			insertChat(farUserId);
			$.get('/profil/get-userfavourite-link/user_id/'+farUserId, function(data) {
			  $('#userfavourite_link').html(data);
			});
			if (typeof getSwf("HisVideo") == "undefined") {
				var timeout = 4000;
			}
			else {

				var timeout = 1000;
			}
			setTimeout( function(){
				
				getSwf("HisVideo").connectToClient( farId );
			}, timeout );
			setTimeout( function(){if (chatStatus != 'accept'){disconnectCall()};etNotification( farUserId );}, 15000);
			
			return false;
		}
		
		function setNotification( farUserId )
		{
			if (chatStatus == 'rejected')
			$.ajax({  
		        type: "GET",
		        url: '/notification/add/id/' + farUserId + '/'
		        });
			
		}
		
		function insertChat(farUserId)
		{
			$.ajax({  
		        type: "POST",
		        url: '/chat/insert',
		        data: {callerId: userId, answererId: farUserId},
		        success: function(data){chatId = data;checkPadding('/chat/insert')},
//		        complete: function(){alert(chatId);}
//		        });
		      }) 
		}
		
		/**
		 * zapisuje dane usera z ktorym rozmawiamy oraz ustawia
		 * focus w polu tekstowym, jesli jestesmy polaczeni
		 * (czyli gdy dane zawieraja faktyczne ID userow
		 */ 
		function setCaller( peerId, uName ){
			$('#remoteName').text( farName = uName );
			if( (farId = peerId) != null ){
				$('#chatInput').focus();
			}
		}
		
		/**
		 * wywolywane, gdy rozmowa zmienia status
		 * mozliwe wartosci statusow to: 
		 * 0: niegotowy
		 * 1: gotowy, moge przyjmowac polaczenia
		 * 2: dzwonie do uzytkownika
		 * 3: uzytkownik dzwoni do mnie
		 * 4: nawiazalem polaczenie
		 * 5: nie nawiazalem polaczenia
		 * 
		 * @param Number oldStatus poprzedni status rozmowy
		 * @param Number newStatus nowy status rozmowy
		 * @param String remoteID ID uzytkownika powiazane ze zdarzeniem
		 * @param String remoteName nazwa uzytkownika powiazana ze zdarzeniem
		 */
		function setCallStatus( oldStatus, newStatus, remoteID, remoteName ){
			//'connect' button is enabled in callStatus == 1
			if( newStatus == 1 ){
				$('#btnConnect').removeAttr('disabled');
			} else {
				$('#btnConnect').attr('disabled', 'disabled');
			}
			
			//uzyj lokalnie skladowanego farId, jesli metoda nie podaje
			//dzieje sie tak w przypadku odrzucenia polaczenia, gdy NetStream zostaje
			//zerwany przez odbiorce wiec nie mozemy go poznac via Stratus
			if( strEmpty( remoteID ) ){
				remoteID = farId;
			}
			
			var rejected	= ( newStatus == 1 && oldStatus == 2 );
			var ended		= ( newStatus == 1 && oldStatus == 4 );
			var accept		= ( newStatus == 4 && oldStatus == 2 );
			var establish	= ( newStatus == 4 && oldStatus == 3 );
			
			//ustaw zmienne powiazane z rozmowa
			if( rejected || ended ){
				setCaller( null, null );
				$('#Chat').html('');
				$('#chatInput').attr('disabled','disabled');
			} else if ( accept || establish ){
				//pokaz kamery, jesli w danym momencie sa ukryte
				if( !cameraVisible ){
					$('#btnHideShow').trigger('click');
				}
				setCaller( remoteID, remoteName );
				//wlacz czat
				$('#Chat').html('');
				$('#chatInput').removeAttr('disabled');
			}
			
			//wyswietl komunikat
			if( rejected ){
				//w tym miejscu nie znamy remoteName, ponieważ połączenie nie zostało nawiązane.
				//możemy, jednakże, pozyskać je odpytując GETem serwer i podając remoteID.
				//do pozyskania nazwy użytkownika należy użyć synchronicznego AJAXa, np. z jQuery które jest
				//tu dołączone
				//alert( remoteID + ' odrzucił połączenie' );
				chatStatus = 'rejected';
				whenRejected();
			} else if( ended ){
				chatStatus = 'ended';
				whenEnded();
				//alert( 'zakończono połączenie z ' + remoteName );
			} else if ( accept ){
				chatStatus = 'accept';
				whenAccepted();
				//alert( remoteName + ' odebrał połączenie' );
			} else if ( establish ){
				chatStatus = 'establish';
				whenEstablished();
				//alert( 'odebrano połączenie od ' + remoteName );
			}
			
			hideConstructionMessage();
			console.log( 'callStatus', oldStatus, '->', newStatus );
		}

		function whenRejected()
		{
			$.ajax({
		        type: "POST",
		        url: '/chat/reject/',
		        data: {chatId: chatId},
		    }); 
		}
		
		function whenEnded()
		{
			$('.star_rate').empty();
			$('#chat_window').empty();
			$('#remoteName').empty();
			$('#his_video_user .note').empty();
			if(!graded)
			{
				$('#mess').html('<p style="text-align: center;" class="chat">Połączenie zostało zakończone.<br/>Ocena:</p><p style="text-align: center;"><div class="star_rate" style="margin-left:200px;"><input name="star1" type="radio" class="rate" value="1"/><input name="star1" type="radio" class="rate" value="2"/><input name="star1" type="radio" class="rate" value="3"/><input name="star1" type="radio" class="rate" value="4"/><input name="star1" type="radio" class="rate" value="5"/></div></p>');
				$("#mies1").overlay().load();
				$('.rate').rating({
			    	callback: function(value, link){
				    	$.ajax({
					        type: "GET",
					        url: '/chat/grade/id/' + chatId + '/grade/' + value + '/',
					        complete: function(){chatId = null;$('#mess').empty();$("#mies1").overlay().close();}
					    }); 
				    	graded = true;
				    },
				    required: true
			    });
			}
		//wpis do bazy o zakonczeniu rozmowy
			
			$.ajax({
		        type: "POST",
		        url: '/chat/end/',
		        data: {chatId: chatId},
		    }); 
			
		}
		
		function whenAccepted()
		{
			initRating();
			sendMsg('~~@@~' + chatId);
			$.ajax({  
			        type: "POST",
			        url: '/ping/registerchater',
			        data: {userId: userId, farId: farId},
//			        success: function(data){$("#container").html(data.body);},
//			        complete: function(){showHideChat(action_url); prepareCallLink();}
//			        });
			      })
			      
			      $.ajax({
				        type: "POST",
				        url: '/chat/accept/',
				        data: {chatId: chatId},
				    });       
		}
		
		function initRating()
		{
			graded = false;
//			alert('initRating');
			$('#his_video_user .note').html('Ocena:');
			$('.star_rate').html('<input name="star1" type="radio" class="rate" value="1"/><input name="star1" type="radio" class="rate" value="2"/><input name="star1" type="radio" class="rate" value="3"/><input name="star1" type="radio" class="rate" value="4"/><input name="star1" type="radio" class="rate" value="5"/>');
//			alert($('.star_rate').html());
			$('.rate').rating({
		    	callback: function(value, link){
			    	$.ajax({  
				        type: "GET",
				        url: '/chat/grade/id/' + chatId + '/grade/' + value + '/',
				    }); 
			    	graded = true;
			    },
			    required: true
		    });
		}
		
		function whenEstablished()
		{
			initRating();
		$.ajax({  
			        type: "POST",
			        url: '/ping/registerchater',
			        data: {userId: userId, farId: farId},
//			        success: function(data){$("#container").html(data.body);},
//			        complete: function(){showHideChat(action_url); prepareCallLink();}
//			        });
			      }) 
		}
		
		
		/**
		 * dopisuje zadany tekst do okienka czatu
		 * @param String username nazwa uzytkownika
		 * @param String message wiadomosc
		 * @param Boolean mine czy to ja jestem nadawca wiadomosci
		 */
		function chatAppend( username, message, mine ){
			var now	= new Date();
			var message = htmlspecialchars(message, 'ENT_QUOTES');
			
			if (now.getMinutes() < 10)
			{
				minutes = '0' + now.getMinutes();
			}
			else
			{
				minutes = now.getMinutes();
			}
			var ts	= now.getHours() + ':' + minutes;
			var div = $('<div/>').addClass( mine ? 'user' : 'user_new' );
			div.append( $('<p/>').addClass('nick').append(username) );
			div.append( $('<p/>').addClass('message').append(message) );
			div.append( $('<span/>').append(ts) );
			div.append( $('<div/>').css('clear', 'both'));
			//div outerHTML
			var ht	= $('<div/>').append( div ).html();
			
			var div	= $('#chat_window');
			var txt	= $.trim( div.html() + ht ).replace( /^<br\/>/, '' );
			var dom	= div.html(txt)[0];
			dom.scrollTop = dom.scrollHeight;
		}
	
		/**
		 * wysyla wiadomosc tekstowa
		 * @param String message
		 */
		function sendMsg(message) {
			getSwf("HisVideo").sendMsg(message);
			if (message.substr(0,5) != '~~@@~')
			{	
			chatAppend( localName, message, true );
			}
		}
		
		/**
		 * wywolywane przez SWF, gdy uzytkownik odbiera wiadomosc tekstowa
		 * @param String username
		 * @param String message
		 */
		function recvMsg( username, message ) {
			if (message.substr(0,5) != '~~@@~')
			{
			chatAppend( username, message, false );
			}
			else
			{
				id = message.substr(5);
				if (id.toString().search(/^[0-9]+$/) == 0)
				{
					chatId = id;
				}	
			}
		}
	
		/**
		 * wywolywane przez SWF, gdy otrzymany zostanie komunikat debuga
		 * @param String value informacja z debugera
		 */
		function recvLog( value ) {
			console.log( 'StratusLog:', value );
		}
		
		/**
		 * wywolywane przez SWF, gdy mamy nadchodzace polaczenie
		 * @param String remoteID
		 * @param String remoteName
		 */
		function callFrom( remoteID, remoteName ){
			var cv = cameraVisible;
			showCameras();
			setTimeout( function(){
				
				$('#mess').html('<p style="text-align: center;">Czy przyjąć połączenie od ' + remoteName + ' ?</p><p style="text-align: center;"><a id="accept_call" href="">Przyjmij</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a id="reject_call" href="">Odrzuć</a></p>');
				$("#mies1").overlay().load();
				
				$('#accept_call').click(function(){getSwf("HisVideo").acceptCall();$("#mies1").overlay().close();return false;});
				$('#reject_call').click(function(){
					getSwf("HisVideo").rejectCall();
					$("#mies1").overlay().close();
						if( !cv ){
							hideCameras();
								} 
							return false;});
				
			}, 500 );
		}
		
		function changeMenuIds()
		{
			mlh = $('#menu_left_hidden');
			mrh = $('#menu_right_hidden');
			ml = $('#menu_left');
			mr = $('#menu_right'); 
			
			mlh.attr('id', 'menu_left');
			mrh.attr('id', 'menu_right');
			ml.attr('id', 'menu_left_hidden');
			mr.attr('id', 'menu_right_hidden');
		}
		
		/**
		 * ukrywa obraz z obydwu kamer oraz czat tekstowy
		 */
		function hideCameras(){
			if( cameraVisible ){
				cameraVisible = false;
				//podmien tekst na przycisku
				//$('#btnHideShow').text('Show');
				//wyczysc i ukryj czat tekstowy
				//$('#Chat').html('').hide();
				//$('#chatInput').hide();
				//usun obydwa naglowki nad video
				//$('#nearName span').hide();
				//$('#farName span').hide();
			$('#random_button_up').hide();
			$('#random_button_down').hide();
			$('#my_video_user').hide();
			$('#his_video_user').hide();
			$('#chat_window').hide();
			$('#chatInput').hide();
			$('#chatInputLabel').hide();
			$('#btn_chat').hide();
			$('#container').show();
			
			
			//rozlacz rozmowe, jesli jest prowadzona
				disconnectCall();
				//zmniejsz obydwa obrazy z kamer
				setTimeout( function(){
					$('#HisVideo').width(1).height(1);
				}, 200 );
			}
		}
		
		/**
		 * pokazuje obraz z obydwu kamer oraz czat tekstowy (wywoływana podczas ponownego kliknięcie w video-czat)
		 */
		function showCameras(){
			if( !cameraVisible ){
				cameraVisible = true;
				//podmien tekst na przycisku
				//$('#btnHideShow').text('Hide');
				//pokaz czat
				//$('#Chat').show();
				//$('#chatInput').show();
				//pokaz obydwa naglowki nad video
				//$('#nearName span').show();
				//$('#farName span').show();
			$('#random_button_up').show();
			$('#random_button_down').show();
			$('#my_video_user').show();
			$('#his_video_user').show();
			$('#chat_window').show();
			$('#chatInput').show();
			$('#chatInputLabel').show();
			$('#btn_chat').show();
			$('#chatContainer').prepend('<div class="pomidor_bill"><div id="adoceanhitrnfllxpoyl"></div></div>');
			$('#container').hide();
			
				//powieksz obydwa obrazy z kame
				setTimeout( function(){
					$('#HisVideo').width(320).height(597);
				}, 200 );
			}
		}
		
		/**
		 * sprawdza, czy podany lancuch jest pustym stringiem
		 * @param String str
		 * @return Boolean
		 */
		function strEmpty( str ){
			return str == '' || str == null || str == undefined;
		}
		
		
		/**
		 * rozłącza rozmowe i czyści czat
		 */
		function disconnectCall()
		{
//			if( chatStatus == 'establish' )
//			{
				getSwf("HisVideo").rejectCall();
//			}
		}
        
        function initChat()
        {
            setConstructionMessage();
			chat = $('#Chat');
			//po kliknieciu 'polacz' wywolaj polaczenie z nowym klientem
			$('#btnConnect').click(connectToClient);
			//po kliknieciu 'pokaz/ukryj' naprzemiennie wyswietlaj lub ukrywaj komponenty
			$('#btnHideShow').toggle( hideCameras, showCameras );
			//po wcisnieciu [Enter] w okienku czata, wysylaj wiadomosc
			$('#chatInput').keyup( function(e) {
				if (e.keyCode == '13') {
					e.preventDefault();
					sendMsg( $(this).val() );
					$(this).val('');
				}
			});
			//button też wysyła wiadomość
			$('#btn_chat').click(function(e){
			    sendMsg($('#chatInput').val());
			    $('#chatInput').val('');
			});
			//uzyj wartosci localName jako naglowka dla mojego video
			$('#nearName span').text( localName );
			//zapytaj o nazwe uzytkownika; to w przyszlosci musi zostac zastapione podpieciem
			//wartosci na poczatku skryptu
			//userName = prompt( 'Podaj swoją nazwę użytkownika' );
			//sprawdzenie wartosci
			//if( strEmpty( userName ) ){
			//	alert("Podano niewłaściwą nazwę użytkownika");
			//	return false;
			//}
			$(this).replaceWith('');
			$('#tbl1').show();
			
			var flashVars		= {userId:userId, userName:userName, pingUri:'/ping/update', registerUri:'/ping/register'};
			var flashParams		= {wmode:'transparent', bgcolor: '#F4F6F1'};
			
			swfobject.embedSWF( '/flash/chat2.swf?rnd=' + Math.random(), 'HisVideo', 320, 597, '10.1.0', '/flash/playerproductinstall.swf', flashVars, flashParams );
			
        }
		
		/**
		 * wykonywane podczas inicjalizacji skryptu
		 */
		$(function(){
                initChat();
		});
		
		function htmlspecialchars (string, quote_style, charset, double_encode) {
		    // Convert special characters to HTML entities  
		    // 
		    // version: 1006.1915
		    // discuss at: http://phpjs.org/functions/htmlspecialchars    // +   original by: Mirek Slugen
		    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		    // +   bugfixed by: Nathan
		    // +   bugfixed by: Arno
		    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
		    // +      input by: Ratheous
		    // +      input by: Mailfaker (http://www.weedem.fr/)
		    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
		    // +      input by: felix    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
		    // %        note 1: charset argument not supported
		    // *     example 1: htmlspecialchars("<a href='test'>Test</a>", 'ENT_QUOTES');
		    // *     returns 1: '&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;'
		    // *     example 2: htmlspecialchars("ab\"c'd", ['ENT_NOQUOTES', 'ENT_QUOTES']);    // *     returns 2: 'ab"c&#039;d'
		    // *     example 3: htmlspecialchars("my "&entity;" is still here", null, null, false);
		    // *     returns 3: 'my &quot;&entity;&quot; is still here'
		    var optTemp = 0, i = 0, noquotes= false;
		    if (typeof quote_style === 'undefined' || quote_style === null) {quote_style = 2;
		    }
		    string = string.toString();
		    if (double_encode !== false) { // Put this first to avoid double-encoding
		        string = string.replace(/&/g, '&amp;');}
		    string = string.replace(/</g, '&lt;').replace(/>/g, '&gt;');
		 
		    var OPTS = {
		        'ENT_NOQUOTES': 0,        'ENT_HTML_QUOTE_SINGLE' : 1,
		        'ENT_HTML_QUOTE_DOUBLE' : 2,
		        'ENT_COMPAT': 2,
		        'ENT_QUOTES': 3,
		        'ENT_IGNORE' : 4};
		    if (quote_style === 0) {
		        noquotes = true;
		    }
		    if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags        quote_style = [].concat(quote_style);
		        for (i=0; i < quote_style.length; i++) {
		            // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
		            if (OPTS[quote_style[i]] === 0) {
		                noquotes = true;}
		            else if (OPTS[quote_style[i]]) {
		                optTemp = optTemp | OPTS[quote_style[i]];
		            }
		        }quote_style = optTemp;
		    }
		    if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {
		        string = string.replace(/'/g, '&#039;');
		    }if (!noquotes) {
		        string = string.replace(/"/g, '&quot;');
		    }
		 
		    return string;}
		
function bindProfForm()
{
	jQuery( '#edit_account form' ).submit( function() {
		if( jQuery( '#avatar-file' ).val() )
		{
			uploadAvatar();
		}
		else
		{
			saveProfileForm( this );
		}
		return false;
	} );
}

function saveProfileForm( form )
{
	if( jQuery( '#pass1' ).val() != jQuery( '#pass2' ).val() )
	{
		$('#mess').html( '<p style="color: #f44;">Pola Hasło i Powtórz hasło muszą mieć taką samą wartość</p>' );
		$("#mies1").overlay().load();
		return;
	}
	
	
	
	jQuery.ajax( {
		success: function( data, textStatus, XMLHttpRequest ) {
			if( data.error == 0 )
			{
				$('#mess').html( '<p>Zmiany w twoim profilu zostały zapisane</p>' );
				$("#mies1").overlay().load();
				jQuery( '.imgareaselect-outer' ).prev().remove();
				jQuery( '.imgareaselect-outer,#avatar' ).remove();
				
				jQuery('#x1').val('');
				jQuery('#y1').val('');
				jQuery('#x2').val('');
				jQuery('#y2').val('');
				jQuery('#w').val('');
				jQuery('#h').val('');
			}
			else
			{
				sMsgs = '<ul id="messagesContainer">';
				for ( var i in data.content )
				{
					sMsgs += '<li>' + data.content[i] + '</li>'
				}
				sMsgs += '</ul>'
				$('#mess').html( sMsgs );
				$("#mies1").overlay().load();
			}
			jQuery( '#pass1,#pass2' ).val('');
		},
		error: function( XMLHttpRequest, textStatus, errorThrown ) {
			$('#mess').html( '<p style="color: #f44;">' + errorThrown + '</p>' );
			$("#mies1").overlay().load();
			jQuery( '#pass1,#pass2' ).val('');
		},
		data: jQuery( form ).serialize(),
		dataType: 'json',
		type: 'POST',
		url: '/edycja/save',
		cache: false
	} );
}

function uploadAvatar()
{
	jQuery.ajaxFileUpload
	(
		{
			url:'/edycja/saveavatar', 
			secureuri:false,
			fileElementId:'avatar-file',
			dataType: 'json',
			success: function (data, status)
			{
				if( data.error == 0 )
				{
					$('#preview').addClass('previewImg');
					$('#mess').html( '<p>Wykadruj obrazek. Zmiany na twoim profilu nie zostały jeszcze zapisane.</p>' );
					$("#mies1").overlay().load();
					jQuery('#edit_account form').append('<input id="name" name="name" type="hidden" value="' + data.content.name + '"/>');
					jQuery( '#preview img').css( {
						'width': data.content.width + 'px',
						'height': data.content.height + 'px'
					} );
					jQuery( '#preview img').attr( 'src', data.content.path );
					if( jQuery( '#avatar' ).length )
					{
						jQuery( '.imgareaselect-outer' ).prev().remove();
						jQuery( '.imgareaselect-outer,#avatar' ).remove();
						jQuery( '#avatar' ).remove();
					}
					jQuery( '.c2' ).after( '<img src="' + data.content.path + '" alt="avatar" id="avatar" style="margin: 20px 0 0 110px;" />' );
					scaleAvatar();
				}
				else
				{
					sMsgs = '<ul id="messagesContainer">';
					for ( var i in data.content )
					{
						sMsgs += '<li style="color: #f44;">' + data.content[i] + '</li>'
					}
					sMsgs += '</ul>'
					$('#mess').html( sMsgs );
					$("#mies1").overlay().load();
				}
				jQuery( '#avatar-file' ).val( '' );
			},
			error: function (data, status, e)
			{
				console.log(data)
				console.log(e)
				sMsgs = '<p style="color: #f44;">Wystąpił błąd. Spróbuj ponownie.</p>';
				$('#mess').html( sMsgs );
				$("#mies1").overlay().load();
				jQuery( '#avatar-file' ).val( '' );
			}
		}
	);
}

$("#search_form").live('submit', function(event) { 
	action_url ='/wyszukaj/szukaj';
	if ( $('#name').val() )
	{
		action_url += '/name/' + $('#name').val();	
	}
	
	if ( $('#age_up').val() != 0 )
	{
		action_url += '/age_up/' + $('#age_up').val();	
	}
	
	if ( $('#age_down').val() != 0 )
	{
		action_url += '/age_down/' + $('#age_down').val();	
	}
	
	if ( $('#sex').val() != 0 )
	{
		action_url += '/sex/' + $('#sex').val();	
	}
	
	if ( $('#only_online').attr('checked') )
	{
		action_url += '/only_online/1';	
	}
		
	event.preventDefault();
    $.ajax({ 
    	cache: false,	
	    method: "get",
	    url: action_url,
	    dataType: 'json',
 	    beforeSend: function(){
    	endCall();
        },
 	    success: function(data){$("#container").html(data.body);},
 	    complete: function(){showHideChat(action_url);prepareCallLink();prepareStars();prepareStarsChat();destroyCropTool();}
    });
});

/*$().ready( function() {
	sMsgs = '';
	if( userId == 0 )
	{
		if( FlashDetect.major < 10 && FlashDetect.minor < 1 )
		{
			sMsgs += '<p style="color: #f44;">Aby móc używać Wedwoje.pl musisz zainstalować Flash Playera 10.1 lub nowszego. Aktualną wersję Flash Playera możesz pobrać ze <a href="http://get.adobe.com/flashplayer/" target="_blank">strony Adobe</a>.</p>';
		}
		if( navigator.userAgent.search(/windows/i) == -1 )
		{
			sMsgs += '<p style="color: #f44;">Wedwoje.pl działa poprawnie tylko pod systemem operacyjnym Windows.</p>';
		}
	}
	if( sMsgs != '' )
	{
		$('#mess').html( sMsgs );
		$("#mies1").overlay().load();
	}
});*/

function scaleAvatar()
{
	jQuery('#avatar').imgAreaSelect({ 
		aspectRatio: '1:1', 
		handles: true,
		fadeSpeed: 200, 
		persistent: true,
		minWidth: 87,
		resizable: true,
		show: true,
		x1: 0,
		y1: 0,
		x2: 87,
		y2: 87,
		onSelectChange: preview 
	}); 

	jQuery('#x1').val(0);
	jQuery('#y1').val(0);
	jQuery('#x2').val(87);
	jQuery('#y2').val(87);
	jQuery('#w').val(87);
	jQuery('#h').val(87);

	var scaleX = 1;
	var scaleY = 1;
}

function preview(img, selection) {
	if (!selection.width || !selection.height) return;

    var scaleX = 87 / selection.width;
    var scaleY = 87 / selection.height;

    $('#preview img').css({
    	width: Math.round(scaleX * img.width ) + 'px',
		height: Math.round(scaleY * img.height ) + 'px',
    	marginLeft: -Math.round(scaleX * selection.x1),
    	marginTop: -Math.round(scaleY * selection.y1)
    });

    $('#x1').val(selection.x1);
    $('#y1').val(selection.y1);
    $('#x2').val(selection.x2);
    $('#y2').val(selection.y2);
    $('#w').val(selection.width);
    $('#h').val(selection.height); 
}

