$().ready(function() {
  buttons = $('.buttonBigMiddle');
  for( i=0; i<buttons.length; ++i ) {
	  $(buttons[i]).parent().mouseover( function() {
		  $(this).children('.buttonBigLeft').addClass('buttonBigLeftHover');
		  $(this).children('.buttonBigLeft').removeClass('buttonBigLeft');
		  
	  } );
	  $(buttons[i]).parent().mouseout( function() {
		  $(this).children('.buttonBigLeftHover').addClass('buttonBigLeft');
		  $(this).children('.buttonBigLeftHover').removeClass('buttonBigLeftHover');		  
	  } );
	  
	  $(buttons[i]).parent().children('.buttonBigLeft').bind('click', function() {
		  // kliknięcie dla kazdego oprocz inputa
		  if ($(this).parent().children('.buttonBigMiddle').attr('href')){
			document.location = $(this).parent().children('.buttonBigMiddle').attr('href');
		  }else{
			  $(this).parent().children('.buttonBigMiddle').click();
		  }
	  });	  
  }
  /*
  $('.buttonBigMiddle').mouseover(function (){
    $(this).prev().removeClass('buttonBigLeft');
    $(this).prev().addClass('buttonBigLeftHover');
  });
  
  $('.buttonBigMiddle').mouseout(function (){
    $(this).prev().removeClass('buttonBigLeftHover');
    $(this).prev().addClass('buttonBigLeft');
  });  
   */
});

/**
 * obkodowanie prosby o dostep do biznesplanu
 * @param iBpId - id biznesplanu o ktory prosimy
 */
function manageRequestForBpView(iBpId) {
	$.ajax({
		async: false,
		dataType: 'json',
		error: function(XMLHttpRequest, textStatus, errorThrown) {},
		global: true,
		success: function(data, textStatus, XMLHttpRequest) {
			if (data) { // jezeli byly dane
				if (data.status) {  // jezeli zapytanie wyszlo poprawnie
					alert("Prośba o dostęp do BiznesPlanu została wysłana.\nNajbliższą prośbę o dostęp do tego Biznes Planu możesz wysłać za 7 dni.");
				} else { // zapytanie nie wyszlo poprawnie
					if (data.error_status == 1) { // przypadek specjalny?
						alert(data.error_text); // pokaz sam komunikat z koncowki
					} else { // blad ogolny, poinformuj o bledzie i pokaz jego opis
						alert("Wystąpił błąd poczas wysyłania prośby o dostęp.\nBłąd: " + data.error_text);
					}
				}
			} else {
				alert("Wystąpił błąd poczas wysyłania prośby o dostęp.");
			}
	  },
		type: 'GET',
		url: '/uzytkownik/askForBpAccess/' + iBpId
	});
}

/**
 * dostep do danych firmy
 * @param iBpId
 */
function manageRequestForFirmView(iFirmId) {
	$.ajax({
		async: false,
		dataType: 'json',
		error: function(XMLHttpRequest, textStatus, errorThrown) {},
		global: true,
		success: function(data, textStatus, XMLHttpRequest) {
			if (data) { // jezeli byly dane
				if (data.status) {  // jezeli zapytanie wyszlo poprawnie
					alert("Prośba o dostęp do danych została wysłana.\nNajbliższą prośbę o dostęp do danych możesz wysłać za 7 dni.");
				} else { // zapytanie nie wyszlo poprawnie
					if (data.error_status == 1) { // przypadek specjalny?
						alert(data.error_text); // pokaz sam komunikat z koncowki
					} else { // blad ogolny, poinformuj o bledzie i pokaz jego opis
						alert("Wystąpił błąd poczas wysyłania prośby o dostęp.\nBłąd: " + data.error_text);
					}
				}
			} else { alert("Wystąpił błąd poczas wysyłania prośby o dostęp."); }
	  },
		type: 'GET',
		url: '/uzytkownik/askForFirmAccess/' + iFirmId
	});
}

/**
 * zabronienie wpisywania czegokolwiek innego niz cyfry do danego inputa
 * http://codefinds.blogspot.com/2007/10/limit-text-input-to-numbers-javascript.html
 * @param input uchwycony input
 */
function formatInputToNumbersOnly(sInput){
	 var sVal = $.trim($(sInput).val());
	 if (sVal.length < 1) { return false; }
	 /*
	 // float
	 if ((sVal.indexOf('.') > -1) || (sVal.indexOf(',') > -1)) { $(sInput).val( sVal.substring(0, sVal.length - 1).replace(' ', '') ); return false; }
	 // tylko cyfry
	 if (sVal.match(/^[0-9]{1,}$/) === null) { $(sInput).val( sVal.substring(0, sVal.length - 1).replace(' ', '') ); return false;  }
	 */
	 sVal = sVal.replace(/[^0-9.,]/gi, '');
	 $(sInput).val(sVal.replace(' ', ''));
	 return true;
}

/**
 * wysyła ajaxowe żądanie zapisu komentarza o treści pobieranej z pola commentFieldId, dotyczącej pola commentFieldName
 * @param commentedFieldName string nazwa pola ktore komentujemy
 * @param commentValue string id pola z treścią komentarza
 */
function ajaxSaveBpComment(commentedFieldName, commentFieldId) {
	// sprawdz czy podano parametry
	if ((!commentedFieldName) || (!commentFieldId)) {
		return false;
	}
	// pobierz tresc komentarza
	var sCommentBody = $('div#'+commentFieldId+' textarea').val();
	// pobierz id biznesplanu i nr umowy
	var sBusinessPlanId = $('#uniq_business_plan_id').val();
	var sFirmId = $('#uniq_business_plan_nrumowy').val();
	var oData = {};
	oData['data[comment]'] = sCommentBody;
	oData['data[idProjekt]'] = sBusinessPlanId;
	oData['data[nrUmowy]'] = sFirmId;
	oData['data[fieldName]'] = commentedFieldName;
	oData['data[userId]'] = window.oLoggedUserData.userId;
	// wyslij ajaxa
	$.ajax({
		async: true,
		data: oData,
		processData: true,
		type: 'POST',
		error: function(XMLHttpRequest, textStatus, errorThrown){},
		success: function(data, textStatus, XMLHttpRequest){},
		url: '/ajax/saveBpFieldComment/'
	});
}

function isNumberKey(evt){
   var charCode = (evt.which) ? evt.which : event.keyCode;
   if (charCode > 31 && (charCode < 48 || charCode > 57))
   {   
	   return false;
   }
   return true;
}
