//$.noConflict();
jQuery(document).ready(function(){
	poll();
	jQuery('#verifyLink').bind('click', function(){
		modalBuilder(jQuery(this));
	});

	jQuery('body').delegate('.submitButton', 'click', function() {
		_validator(jQuery(this));
		return false;
	});
	
	jQuery('body').delegate('#modalCloseBox', 'click', function(){
		_validator(jQuery(this));
	});
/*	
	jQuery('#newAccountBox').children('a').bind('click', function() {
		alert('Funkcja zakładania nowych kont jest chwilowo niedostępna. \nJeżeli posiadasz juz konto w naszym serwisie ale nie możesz się zalogować skorzystaj z opcji "Weryfikuj e-mail". \nJeżeli nie masz jeszcze konta w naszym serwisie, a chcesz je założyć napisz e-mail na adres k.kuberski@rp.pl. \n\nPrzepraszamy za niedogodności.');
		return false;
	});
*/	
	jQuery('#verifyHelpLink').bind('click', function() {
		helpModalBuilder();
	});
	
	jQuery('body').delegate('#closeHelpBox', 'click', function(){
		jQuery('#helpBox').remove();
	});
	
	if(jQuery('#recommendationIcon').size() > 0){
		recommendations();
	}
	if(jQuery('#story').size() > 0){
		fontSize();
		showCopyright();
		confDialogBox()
	}
	if (jQuery('.galleryTab_Box').size() > 0) {
		photoGalleryTabEngine()
	}
})

function modalBuilder(oActiveElement) {
	var plateWidth = document.body.clientWidth;
	var plateHeight = document.body.clientHeight;
	
	var detailsWidth = 450;
	var detailsLeft = (plateWidth - detailsWidth) / 2;
	var detailsTop = 100;

	var oPlate = document.createElement('div');
	jQuery(oPlate).css('width', plateWidth).css('height', plateHeight);
	jQuery(oPlate).attr('id', 'modalBg');
	jQuery(oPlate).appendTo('body');
	jQuery(oPlate).css('opacity','0').show().fadeTo(10, 0.5, function(){
		
		var oModalBox = document.createElement('div');
		jQuery(oModalBox).css('position', 'absolute').css('left', detailsLeft).css('top', detailsTop);
		jQuery(oModalBox).css('display', 'none');
		jQuery(oModalBox).attr('id', 'verifyBox');
		jQuery(oModalBox).appendTo('body');

		var oModalBoxp = document.createElement('div');
		jQuery(oModalBoxp).attr('id', 'verifyBoxp');
		jQuery(oModalBoxp).appendTo('#verifyBox');

		var oModalCloseBox = document.createElement('div');
		jQuery(oModalCloseBox).attr('id', 'modalCloseBox');
		jQuery(oModalCloseBox).appendTo('#verifyBox');
	
		jQuery('#verifyBoxp').load('http://www.parkiet.com/migracja/login.ajax', function(){
			jQuery(oModalBox).fadeIn(500);
		});
	});
}

function helpModalBuilder() {
	var oModalBox = document.createElement('div');
	jQuery(oModalBox).css('position', 'absolute').css('right', '25px').css('top', '25px');
	jQuery(oModalBox).css('display', 'none');
	jQuery(oModalBox).attr('id', 'helpBox');
	jQuery(oModalBox).appendTo('body');

	var oModalBoxp = document.createElement('div');
	jQuery(oModalBoxp).attr('id', 'helpBoxp');
	jQuery(oModalBoxp).appendTo('#helpBox');

	var oModalCloseBox = document.createElement('div');
	jQuery(oModalCloseBox).attr('id', 'closeHelpBox');
	jQuery(oModalCloseBox).appendTo('#helpBox');
	
	jQuery('#helpBoxp').load('http://www.parkiet.com/migracja/help.html', function(){
		jQuery(oModalBox).fadeIn(500);
	});
}

function _validator(oActiveElement) {
	switch(oActiveElement.attr('id')) {
		case 'weryfikacja':
			if (oActiveElement.parents('.loginFormBox').find('#login').val() == '' || oActiveElement.parents('.loginFormBox').find('#password').val() == '') {
	  		jQuery('.validationMsg').children('div').fadeIn(50);
			}
			else {
				jQuery('#verifyBoxp').load('http://www.parkiet.com/migracja/login.ajax', {login:jQuery('#login').val(), pass:jQuery('#password').val()});
			}
			break;

		case 'potwierdzenie':
			if (_validateEmail(oActiveElement.parents('.verifyFormBox').find('#email').val())) {
				jQuery('#verifyBoxp').load('http://www.parkiet.com/migracja/confirm.ajax', {email:jQuery('#email').val(), mobile:jQuery('#mobile').val(), conditions:jQuery('#cconditions').val(), agree:jQuery('#cagree').val(), marketing:jQuery('#cmarketing').val(), newsletter:jQuery('#cnewsletter').val()});
			}
			else {
				if(oActiveElement.parents('.verifyFormBox').find('#email').val() == "") {
					jQuery('.verifyFormBox').find('.error_msg').text('prosimy o uzupełnienie pola adres e-mail');
				}
				else {
					jQuery('.verifyFormBox').find('.error_msg').text('adres e-mail ma niepoprawną formę');
				}
			}
			break;

		default: 
			jQuery('#verifyBox').fadeOut(200, function(){
				jQuery('#verifyBox').remove();
				jQuery('#modalBg').fadeOut(200, function(){
					jQuery('#modalBg').remove();
				});
			});
	}
}

function _validateEmail(sEmail) {
	var bFlag;
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	filter.test(sEmail) ? bFlag = true : bFlag = false;
	return bFlag;
}

function poll() {
	jQuery('.pollCharts .pollChart_Body').each(function() {
	    var pollid = jQuery(this).attr('id');
		pollid = pollid.replace("poll_","");
		var values = "";
		var votes = "";
		jQuery("form#poll_"+pollid+" > ul li label span").each(function(index) {
		  values+=jQuery(this).text()+";"
		});
		values = values.substring(0, values.length-1);
		jQuery("form#poll_"+pollid+" > ul li input.answerCount").each(function(index) {
			votes+=jQuery(this).val()+";"
		});
		votes = votes.substring(0, votes.length-1);
		// Sprawdz czy jest cookies sondy
		if (checkPollCookie(pollid) ) {			// cookies nie ma, ruchamiamy funckje która wysle glosowanie i pokaze wyniki
			jQuery('form#poll_'+pollid+' button#submit_'+pollid).bind('click', function() {
				  jQuery("form#poll_"+pollid+" > ul li label input").each(function(index) {
					if( jQuery(this).attr('checked')=='checked' ) {
						sendDatePoll('vote='+jQuery(this).attr('value')+'&idpoll='+pollid+'&values='+values+'&votes='+votes,pollid);
					}
				  });
			      setCookie("poll_"+pollid,pollid,4);
			});
		}else {									// cookies jest, uruchamiamy funckje która pokaze wyniki
			sendDatePoll('vote=-1&idpoll='+pollid+'&values='+values+'&votes='+votes,pollid);
		}
	});
}
jQuery.fromXMLString = function(strXML){
    if (window.DOMParser) {
        return jQuery(new DOMParser().parseFromString(strXML, "text/xml"));
    } else if (window.ActiveXObject) {
        var doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async = "false";
        doc.loadXML(strXML);
        return jQuery(doc);
    } else {
        return jQuery(strXML);
    }
};
function sendDatePoll(datePoll,idpoll) {
	jQuery.ajax({
		type: "GET",
		url: "/commonService/sonda",
		async:false,
		data: datePoll,
		success: function(data){
		  list = jQuery('form#poll_'+idpoll).find('ol.legend');		  
		  jQuery.fromXMLString(data).find('set').each(function(index) {
		    list.append('<li style="background-color:#'+jQuery(this).attr('color')+';"><span style="background-color:#fff;">'+jQuery(this).attr('name')+' (Głosy:'+jQuery(this).attr('value')+')</span></li>');
		  });
		  var flashvars = {dataXML:data,chartWidth:"230",chartHeight:"130"};
		  var params = {wmode: "transparent",quality: "high"};
		  swfobject.embedSWF("http://static.presspublica.pl/web/parkiet/flash/poll/FCF_Bar2D.swf", "chart"+idpoll, "230", "130", "8.0.35.0", "", flashvars, params, "");
		  jQuery('form#poll_'+idpoll+' button#submit_'+idpoll).hide();
		  jQuery('form#poll_'+idpoll+' ul').hide();
		}
	});
}


function getCookie(c_name) {
  var i,x,y,ARRcookies=document.cookie.split(";");
  for (i=0;i<ARRcookies.length;i++) {
	x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
	y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
	x=x.replace(/^\s+|\s+$/g,"");
	if (x==c_name) {
	  return unescape(y);
	}
  }
}
function setCookie(c_name,value,exdays) {
	var exdate=new Date();
	exdate.setHours(exdate.getHours() + exdays);
	var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
	document.cookie=c_name + "=" + c_value;
}
function checkPollCookie(name) {
	var cookie_poll=getCookie("poll_"+name);
	if (cookie_poll==null) return true;
    else return false;
}
function checkCookie(name) {
	var cookie_poll=getCookie(name);
	if (cookie_poll==null) return true;
    else return false;
}




function recommendations(){
	var articleId = jQuery('#newsItemId').val();
	checkRecommend();
	jQuery.ajax({
		cache: false,
		url: '/commonService/rekomendacje',
		type: "GET",
		data: ({
				 	newsitemid: articleId
				 }),
		success: function(data){
			jQuery('#totalRecommendationsNumber').text(data);
		}
	});
	
	function checkRecommend(){
		if (getCookie('recomendations')== articleId) {
			jQuery('#addRecommendationButton').html('Dziękujemy za oddany głos,&nbsp;')
		} else {
			jQuery('#addRecommendationButton').bind('click', function(){
				jQuery.ajax({
					cache: false,
					url: '/commonService/rekomendacje',
					type: "POST",
					data: ({
							 	newsitemid: articleId
							 }),
					success: function(data, jqXHR){
						jQuery('#totalRecommendationsNumber').text(data);
						setCookie('recomendations', articleId, 365);
						jQuery('#addRecommendationButton').html('Dziękujemy za oddany głos,&nbsp;');
						jQuery('#addRecommendationButton').unbind('click');
					}
				});
				
			})
		}
	}
}

function fontSize(){
	jQuery('.bigText').bind('click', function(){
		jQuery('#story').find('p').each(function(){
			jQuery(this).removeClass('bigerFont');
			jQuery(this).removeClass('bigFont');
			jQuery(this).addClass('bigFont');
		})
	})
	jQuery('.bigerText').bind('click', function(){
		jQuery('#story').find('p').each(function(){
			jQuery(this).removeClass('bigerFont');
			jQuery(this).removeClass('bigFont');
			jQuery(this).addClass('bigerFont')
		})
	})
	jQuery('.normalText').bind('click', function(){
		jQuery('#story').find('p').each(function(){
			jQuery(this).removeClass('bigerFont');
			jQuery(this).removeClass('bigFont');
		})
	})
}

function drukuj( windowURL, windowName, windowFeatures ) {
	var feat = 'width=620,height=600,toolbar=0,location=0,directories=0,status=1,menuBar=0,scrollBars=1,resizable=1';
	return window.open( windowURL, windowName, feat ) ;
}

function wyslijArtykul( windowURL, windowName, windowFeatures ) {
	var feat = 'width=320,height=190,toolbar=0,location=0,directories=0,status=1,menuBar=0,scrollBars=1,resizable=1';
	return window.open( windowURL, windowName, feat ) ;
}
function showCopyright(){
	jQuery('#articleCopyrightButton').bind('click', function(){
		jQuery('#articleCopyrightBox').fadeIn(200);
	})
	jQuery('#articleCopyrightCloseIcon').bind('click', function(){
		jQuery('#articleCopyrightBox').fadeOut(200);
	})
}
function bug(windowURL, windowName, windowFeatures){
	var feat = 'width=510,height=600,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=1';
	return window.open(windowURL, windowName, feat);
}

/**
 * funkcja obslugujaca konfiguracje okien dialogowych
 */
function confDialogBox() {
	var nDialogFadeOut = 300; 
	var nGlassFadeOut = nDialogFadeOut + 50;
	var sCloseBtnTxt = 'zamknij';
	
	var D = document;
  var nDocHeight = Math.max(Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight));
	//alert(nDocHeight);
  jQuery('#glassBox').css('height', nDocHeight);

	jQuery('#dialogBox').css('left', (document.body.clientWidth - jQuery('#dialogBox').innerWidth()) / 2);
	jQuery('#dialogCloseBtn').bind('mouseup', function() {
		closeDialogBox(nDialogFadeOut, nGlassFadeOut);
	});
}

function closeDialogBox(nDialogFadeOut, nGlassFadeOut) {
	jQuery('#dialogBox').fadeOut(nDialogFadeOut);
	jQuery('#glassBox').fadeOut(nGlassFadeOut, function() {
		resetDialogBox();
	});
}

function resetDialogBox() {
  jQuery('#dialogBox').removeClass();
  jQuery('#dialogTitle').removeClass().text('');
  jQuery('#dialogBody').removeClass().html('<p></p>');
	jQuery('#dialogCloseBtn').text('zamknij');
	jQuery('#dialogBtnsBox').children().removeClass().addClass('dialogBtn');
	jQuery('#dialogBtnsBox').children().each(function() {
		if(jQuery(this).attr('id') != 'dialogCloseBtn') {
			jQuery(this).remove();
		}
		else {
			jQuery(this).show();
		}
	}); 
}

/**
 * funkcja obslugujaca wywolanie okna dialogowego
 * 
 * DO PRZENIESIENIA DO GLOWNEGO SKRYPTU OBSLUGUJACEGO DANY SERWIS!!!
 * 
 * funkcja wymaga podania dwĂłch parametrow:
 * - sTitle : tytul okna dialogowego
 * - sText : tresc komunikatu, dla komunikatow kilkuakapitowych poszczegolne parametry mozna ujac w znacznik <p> 
 * 
 * w przypadku kiedy ktorykolwiek z parametrow wymaganych nie zostanie podany 
 * lub nie bedzie zawieral tresci okno dialogowe nie zostanie wyswietlone
 * 
 * funkcja umozliwia podanie dwoch parametrow opcjonalnych:
 * - sKind : typ okna dialogowego, parametr moze przyjac jedna z ponizszych wartosci
 *   - choose : okno dialogowe umozliwiajace wybor tak/nie
 *   - warning : okno zawierajace ostrzezenie
 *   - error : okno zawierajace komunikat o bledzie
 *   okna powyzszych typow zawieraja jedynie przycisk "zamknij", 
 *   jedynie okno typu "choose" zawiera przyciski "tak", "nie"
 *   
 * - sButtons : zawiera ciag znakow umozliwiajacy zdefiniowanie indywidualnych 
 *              przyciskow dla danego okna dialogowego
 *              parametr musi miec postac:
 *              id1,tekst1,class1;id2,tekst2,class2;...;id(n),tekst(n),class(n)
 *              funkcja tworzy elementy <button>, ktore do dzialania wymagaja 
 *              indywidualnego jQ
 * 
 * @param string sTitle
 * @param string sText
 * @param string sKind
 * @param string sButtons
 * 
 * @TODO funkcjonalnosc dla parametru sButtons
 */
function setDialogBox(sTitle, sText, sKind, sButtons) {
	//alert('setDialogBox(' + sTitle + ', ' + sText + ', sKind, sButtons)');
	var nDialogFadeIn = 300; 
	var nGlassFadeIn = 200; 
	confDialogBox();
	
	jQuery('#dialogTitle').text(sTitle);
	if (sText != '') {
		if (sText.indexOf('<p>') == -1) {
			jQuery('#dialogBody').children('p').html(sText);
		}
		else {
			jQuery('#dialogBody').html(sText);
		}
	}
	
	if(sKind != 'null' && sKind != 'undefined' && sKind != ' ') {
		switch(sKind) {
			case 'error':
			jQuery('#dialogBox').addClass('dialogBox_error');
			jQuery('#dialogTitle').addClass('dialogTitle_error');
			jQuery('#dialogBody').addClass('dialogBody_error');
			jQuery('.dialogBtn').addClass('dialogBtn_error');
				break;

			case 'warning':
			jQuery('#dialogBox').addClass('dialogBox_warning');
			jQuery('#dialogTitle').addClass('dialogTitle_warning');
			jQuery('#dialogBody').addClass('dialogBody_warning');
			jQuery('.dialogBtn').addClass('dialogBtn_warning');
				break;

			case 'choose':
				var sLeftBtn = '<button class="dialogBtn" id="dialogLeftBtn">tak</button>';
				var sRightBtn = '<button class="dialogBtn" id="dialogRightBtn">nie</button>';
			jQuery('.dialogBtn').addClass('dialogBtn_choose');
				jQuery('#dialogCloseBtn').hide();
				jQuery('#dialogBtnsBox').html(jQuery('#dialogBtnsBox').html() + sLeftBtn + sRightBtn);
				break;
		}
	}
	
	//jQuery('#glassBox').fadeIn(nGlassFadeIn, function() {
	jQuery('#glassBox').fadeTo(nGlassFadeIn, 0.5, function() {
		//alert(jQuery(window).scrollTop() + ' | ' + jQuery('#dialogBox').css('top'));
		jQuery('#dialogBox').css('top', jQuery(window).scrollTop() + 50);
		jQuery('#dialogBox').fadeIn(nDialogFadeIn);
	});
}

function showModalBox() {
	jQuery('#dialogBox').empty();
	
	jQuery('#glassBox').fadeTo(400, 0.2);
	jQuery('#notLoggedInBox').clone().appendTo('#dialogBox');
	jQuery('#dialogBox').find('.noAccessLoginBox').attr('id', 'notLoggedInBoxModal').find('.noAccessLoginBox_closeIcon').show();
	jQuery('#dialogBox').find('.closeBoxString').show();
	jQuery('#dialogBox').show();
	
	jQuery('.noAccessLoginBox_closeIcon').bind('click', function(event) {
		jQuery('#dialogBox').hide().empty();
		jQuery('#glassBox').fadeOut(400);
	});
	jQuery('.closeBoxString').bind('click', function(event) {
		jQuery('#dialogBox').hide().empty();
		jQuery('#glassBox').fadeOut(400);
	});
}


