function general_ad_patch( prefix, obj, query ) {
	document.location = '/' + prefix + '/' + obj + '/' + query;
}

function photo_okno( photo_uri, width, height ) {
	var w_width = parseInt( width ) + 20;
	var w_height = parseInt( height ) + 20;
	var photo = window.open( photo_uri, 'NajDom galeria', 'width=' + w_width + ', height=' + w_height );
}



function prompt_user( data ) {
	switch( data ) {
		case 'delete':
			return confirm( 'Na pewno chcesz usunąć to ogłoszenie?');
			break;
		case 'ban':
			return confirm( 'Na pewno chcesz zbanować użytkownika?');
			//break;

			
	}
}

/*function highlight_text( element_id, phrase, color ) {
		var text_div = document.getElementById( element_id );
		var text = text_div.innerHTML;	
		var new_text = text.replace(/+phrase+/gi, "<span class=\"highlight\">" + phrase + "</span>" );		
		text_div.innerHTML = new_text;
}*/


function photo_popup( url, width, height ) {
        width = parseInt( width ) + 20;
        height = parseInt( height ) + 30;
        var objWindo = window.open( url, '', 'width=' + width + ', height=' + height );
}


function regulamin_popup( url, width, height ) {
        width = parseInt( width ) + 20;
        height = parseInt( height ) + 30;
        var objWindo = window.open( url, '', 'width=' + width + ', height=' + height + ', resizable=1, scrollbars=1'  );
}

function photo_popup_more( url ) {
        width = parseInt( 820 ) + 20;
        height = parseInt( 636 ) + 30;
        var objWindo = window.open( url, '', 'width=' + width + ', height=' + height + ', resizable=1, scrollbars=1' );
}

function change_photo( url, wwidth, hheight, number ) {
		var img;
		var photo = document.getElementById( 'photo_normal' );
		var preload = document.getElementById( 'preload' );
		photo.style.display = 'none';
		preload.style.display = 'block';

		var photo_numb = document.getElementById( 'current_foto' );
		var previous_numb = parseInt(number)-1;
		var next_numb = parseInt(number)+1;

		var previous_link = document.getElementById( 'previous' );
		var next_link = document.getElementById( 'next' );
		previous_numb = document.getElementById( 'photo_' +previous_numb );
		next_numb = document.getElementById( 'photo_' +next_numb );

		img = new Image();
		img.onload = function() {
			photo.setAttribute( 'src', img.src );
			photo.style.width  = wwidth + 'px';
			photo.style.height = hheight + 'px';
			preload.style.display = 'none';
			photo.style.display = 'block';

		}
		img.src = 'http://e.najdom.pl/' + url;

		photo_numb.innerHTML = number;

		if ( previous_numb != undefined ) {
			previous_link.onclick = previous_numb.onclick;
			previous_link.style.display = 'block';
		}
		else {
			previous_link.style.display = 'none';
		}
		
		if ( next_numb != undefined ) {
			next_link.onclick = next_numb.onclick;
			next_link.style.display = 'block';
		}
		else {
			next_link.style.display = 'none';
		}
}

var baloon_clock = [];

function baloon_blow( ad_numb ) {
	clearTimeout( baloon_clock[ad_numb] );
	var baloon = document.getElementById( 'baloon_' +ad_numb );
	baloon.style.display = 'inline';
}

function baloon_pop( ad_numb ) {
	baloon_clock[ad_numb] = setTimeout( function() { var baloon = document.getElementById( 'baloon_' +ad_numb ); baloon.style.display = 'none'; }, 2000);
}

function auto_popup( url ) {
	var najdom_popup = window.open( 'http://www.najdom.pl/' + url + '/', 'NajDom' );
}

function send_to_page( page_uri ) {

	var type = typeof( page_uri );
	
	if ( type == 'object' ) {
		//document.location =  $(to_send).val();
		document.location =  page_uri.options[page_uri.selectedIndex].value;
	}
	else {
		document.location =  page_uri;
	}
	
}

function toggle_visible( element_to_select ) {
	var selected_element = document.getElementById( element_to_select );
	
	if ( selected_element != null ) {
		if ( selected_element.style.display == 'block' ) {
			selected_element.style.display = 'none';
		}
		else {
			selected_element.style.display = 'block';
		}
		
	}
}

function toggle_visible_report( element_to_select1, element_to_select2, element_to_select3, element_to_select4 ) {
	var selected_element1 = document.getElementById( element_to_select1 );
	var selected_element2 = document.getElementById( element_to_select2 );
	
	if ( ( selected_element1 != null ) & ( selected_element2 != null ) ) {
		var selected_element3 = document.getElementById( element_to_select3 );
		var selected_element4 = document.getElementsByName( element_to_select4 );
		if ( selected_element1.style.display == 'block' ) {
			selected_element1.style.display = 'none';
			selected_element3.innerHTML = '(Tutaj wpisz treść zgłoszenia)';
			selected_element3.style.display = 'none';
			selected_element4[0].selectedIndex = 0;
		}
		else {
			selected_element1.style.display = 'block';
			selected_element3.innerHTML = '(Tutaj wpisz treść zgłoszenia)';
			selected_element3.style.display = 'none';
			selected_element4[0].selectedIndex = 0;
		}
		
		if ( selected_element2.style.display == 'block' ) {
			//selected_element2.style.display = 'none';
			selected_element2.innerHTML = '';
		}
		else {
			//selected_element2.style.display = 'block';
			selected_element2.style.display = 'block';
		}
	}
}

function check_abuse( obj, element ) {
	var trigger_element = document.getElementById( element );
	var selected_value = obj.options[obj.selectedIndex].value;

	if ( selected_value == '6' ) {
		trigger_element.style.display = 'block';
	}
	else {
		trigger_element.style.display = 'none';
	}
}

function report_ad( ogloszenie, abuse_type ) {
	var response_element = document.getElementById('report');
	var form_element = document.getElementById('abuse_form');
	var response_insert_element = document.getElementById('report_message');
	var abuse_other = document.getElementById('abuse_type_other');
	var report_abuse_element = document.getElementsByName( abuse_type );
	//alert( report_abuse_element[0].options[report_abuse_element[0].selectedIndex].innerHTML );
	if( report_abuse_element.length == 1 && report_abuse_element[0].tagName == 'SELECT' ) {
		var report_abuse = report_abuse_element[0].options[report_abuse_element[0].selectedIndex].innerHTML;
	}

	if ( report_abuse_element[0].selectedIndex == 0 ) {
		alert( 'Nie wybrano rodzaju zgłoszenia!' );
	}
	else {
		response_insert_element.innerHTML = '<span style="text-decoration: blink; color: #dd8800;">Wysyłanie...</span>';
		jQuery.post("/report/", { report_abuse: "'" + report_abuse + "'", ogloszenie: "'" + ogloszenie + "'", opis: "'" + abuse_other.value + "'" },
	  function(data){
	  //form_element.innerHTML = '';
	  form_element.style.display = 'none';
	  response_insert_element.style.display = 'block';
	  response_insert_element.innerHTML = data.message;
	  }, "json");
	}
}

function ajax_form_check( required_fields ) {
	var check_fields = required_fields.split( ',' );
	var errors = 0;
	var i = 0;
	var l = 0;
	for( i; i<check_fields.length; i++ ) {
		var field = document.getElementById( check_fields[ i ] );
		//label, tylko po to by oznaczać jakoś pola
		var f_label = field.parentNode.getElementsByTagName('label');
		/*for ( var l=0; l<f_label.length; l++ ) {
			if ( f_label[ l ].getAttribute("for") == check_fields[ i ] ) {
				//ustawienie standardowych styli
				f_label[ l ].setAttribute( "style", "" );
				//labels = label[ l ].textContent;
				break;
			}
		}*/
		//for ie
		if ( f_label[ l ].getAttribute("for") == undefined ) {
			var l_attributes = f_label[ l ].attributes;
			for( var a=0; a<l_attributes.length; a++ ) {
				if ( l_attributes[ a ].nodeName == 'for' ) {
					var l_for_attr = l_attributes[ a ].value;
					break;
				}
			}
		}
		else {
			var l_for_attr = f_label[ l ].getAttribute("for");
		}
		//

		//if ( f_label.length > 0 && f_label[ l ].getAttribute("for") == check_fields[ i ] ) {
		if ( f_label.length > 0 && l_for_attr == check_fields[ i ] ) {
			//ustawienie standardowych styli
			f_label[ l ].setAttribute( "style", "" );
			f_label[ l ].style.color = "";
			//labels = label[ l ].textContent;
		}
		//spacje papa
		if ( field.value != undefined && field.value.replace(/^\s+|\s+$/g,"") == '' ) {
			/*alert( 'puste pole! ' + labels );*/
			errors++;
			//wyróżnienie pustego pola
			f_label[ l ].setAttribute( "style", "color: #f00;" );
			f_label[ l ].style.color = "#f00";
		}
	}
	
	if ( errors > 0 ) {
		alert( 'Uzupełnij brakujące pola!' );
		return false;
	}
	else {
		return true;
	}
}

function ajax_form_reset( required_fields ) {
	var check_fields = required_fields.split( ',' );
	var i = 0;
	for( i; i<check_fields.length; i++ ) {
		field = document.getElementById( check_fields[ i ] );
		field.value = '';
	}
	
}

function friend_notification( form_object, passed_fields, ekstra ) {
	var passed_js_validation = ajax_form_check( passed_fields );
	//alert( passed_js_validation );

	if ( passed_js_validation == false ) {
		return;
	}

	var check_fields = passed_fields.split( ',' );
	var response_element = document.getElementById( form_object );

	for( var i=0; i<check_fields.length; i++ ) {
		field = document.getElementById( check_fields[ i ] );
		//for ie
		if ( field.getAttribute("name") == undefined ) {
			var f_attributes = field.attributes;
			for( var a=0; a<f_attributes.length; a++ ) {
				if ( f_attributes[ a ].nodeName == 'name' ) {
					var f_name_attr = f_attributes[ a ].value;
					break;
				}
			}
		}
		else {
			var f_name_attr = field.getAttribute("name");
		}
		//
		if ( field != undefined && f_name_attr != undefined ) {
			//przypisanie zmiennych
			window['nfntc_form_' + f_name_attr] = field.value;
		}
		else {
			errors++;
		}
	}

	$.post("/notify/", { "email_from": "'" + nfntc_form_email_from + "'", "email_to": "'" + nfntc_form_email_to + "'", "message": "'" + nfntc_form_message + "'", "ekstra": "'" + ekstra + "'" },function(data){
	/*if ( data.error != undefined ) {
		alert( data.error );
		for( i=0; i<check_fields.length; i++ ) {
			field = document.getElementById( check_fields[ i ] );
			if ( field != undefined && field.value == data.error_field_value ) {
				field.setAttribute( "style", "color: #f00;");
				field.style.color = "#f00";
			}
			else {
				field.setAttribute( "style", "");
				field.style.color = "";
			}
		}
	}*/
	if ( data.error != undefined ) {
		alert( data.error );
	}

	for( i=0; i<check_fields.length; i++ ) {
		field = document.getElementById( check_fields[ i ] );
		if ( field != undefined && data.error != undefined && field.value == data.error_field_value ) {
			field.setAttribute( "style", "color: #f00;");
			field.style.color = "#f00";
		}
		else {
			field.setAttribute( "style", "");
			field.style.color = "#000";
		}
	}

	if ( data.message != undefined ) {
		jQuery('#' + form_object ).hide();
		alert( data.message );
		ajax_form_reset( passed_fields );
	}
	//alert( data.error + ' ' + data.error_field_value ); }
  //response_element.innerHTML = data.message;
  }, "json");
  
  return;

}

String.prototype.trim = function () {
  return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
};

function searchDzielniceSuggest( city_name, wojewodztwo_name, target_element, target_wrapper, list_ending ) {
	var city_val = document.getElementById( city_name ).value;
	var wojewodztwo_val = document.getElementById( wojewodztwo_name ).value;

	city_val = city_val.trim();

	if ( city_val.length == 0 ) {
		alert( 'nie wpisano miejscowości' );
		return;
	}

	if ( searchSuggestHandleList( list_ending, target_element ) == 1 ) {
		alert( 'są podpowiedzi' + target_element );
		return;
	}
	alert( 'przygotowywanie podpowiedzi dla dzielnic' + target_element );

	$.post("/suggest/dzielnice/", { "miejscowosc": "'" + city_val + "'", "wojewodztwo": "'" + wojewodztwo_val + "'", "list_ending": "'" + list_ending + "'" },function(data){
	if ( data.error != undefined ) {
		//alert( data.error );
	}

	if ( data.message != undefined ) {
		if ( data.message.length > 0 ) {
			var suggestions_element = document.getElementById( target_element );
			var suggestions_element_wrapper = document.getElementById( target_wrapper );
			alert( data.message );
			suggestions_element.innerHTML = data.message;
			suggestions_element.focus();
			suggestions_element_wrapper.style.display = 'block';
		}
		focus_list = 1;
	}

  }, "json");
}

function searchSuggestHandleList( element, target_element ) {
	var suggestions_element = document.getElementById( 'suggestions-list' + element );
	var suggestions_element_wrapper = document.getElementById( target_element );
	if ( suggestions_element == undefined ) {
		return 0;
	}
	else {
		clearTimeout( baloon_clock[element] );
		suggestions_element_wrapper.style.display = 'block';
		return 1;
	}
}

function baloon_blow2( ad_numb, blow_element ) {
	clearTimeout( baloon_clock[ad_numb] );
	var baloon = document.getElementById( blow_element );
	baloon.style.display = 'block';
}

function baloon_pop2( ad_numb, pop_element ) {
	baloon_clock[ad_numb] = setTimeout( function() { var baloon = document.getElementById( pop_element ); baloon.style.display = 'none'; }, 1000);
}

//function subscription_sel( prefix, fields, select_field ) {
function subscription_sel( prefix, select_field, text, text_label ) {
	//var fields_processed = fields.split( ',' );
	//var i = 0;
	var checked_field;
	var text_element = document.getElementById( text_label );
	var text_element_content = document.getElementById( text_label + '_content' );
	/*for ( i; i < fields_processed.lenght; i++ ) {
		checked_field = document.getElementById( prefix + fields_processed[ $i ] );
		if ( checked_field != undefined ) {
			checked_field.value = "off";
		}
	}*/

	checked_field = document.getElementById( prefix + select_field );
	checked_field.checked = true;

	text_element_content.innerHTML = text;
	if ( text_element.style.display == 'none' ) {
		text_element.style.display = 'block';
	}
}

function validate_code( advert_id, code_field, phone_field, display_result ) {

	var phone_value = document.getElementsByName( phone_field );
	var f_phone = 0;
	var i = 0;
	for ( i; i < phone_value.length; i++ ) {
		if ( phone_value[ i ].checked == true ) {
			phone_value = phone_value[ i ].value;
			f_phone = 1;
			break;
		}
	}

	var code_value = document.getElementById( code_field );
	code_value = code_value.value.trim();

	if ( code_value.length == 0 ) {
		alert( 'Nie wpisano kodu!' );
	}

	var terms_of_use = document.getElementById( 'terms_of_use' );

	if ( terms_of_use.checked == false ) {
		alert( 'Nie zaznaczono pola akceptacji regulaminu!' );
		return 0;
	}

	if ( f_phone == 0 ) {
		alert( 'Nie wybrano planu płatności!' );
		return 0;
	}

	if ( advert_id <= 0 ) {
		alert( 'Błędny numer ogłoszenia' );
		return 0;
	}

	$.post("/subskrypcja/krok2/" + advert_id, { "key_code": "'" + code_value + "'", "key_phone": "'" + phone_value + "'", "ad_id": "'" + advert_id + "'" },function(data){
	if ( data.error != undefined ) {
		alert( data.error );
	}

	if ( data.message != undefined ) {
		/*if ( data.message.length > 0 ) {
			var suggestions_element = document.getElementById( target_element );
			var suggestions_element_wrapper = document.getElementById( target_wrapper );
			alert( data.message );
			suggestions_element.innerHTML = data.message;
			suggestions_element.focus();
			suggestions_element_wrapper.style.display = 'block';
		}
		focus_list = 1;*/
		document.location.href = data.redirect;
	}

  }, "json");
}
