﻿/*
	opinie - Piotr Zając
*/

reqPG=function(){var e=0;var f={interval:100,storeResults:false,startF:function(){},endF:function(){}};var g=0;var h=function(a){if(typeof(a)==="string"){return a}else if(typeof(a)==="object"){var b=0;var c='';for(att in a){c+="&"+encodeURIComponent(att)+'='+encodeURIComponent(a[att])}return c}else{return''}};return{requests:[],setup:function(a){if(typeof(a)==='object'){for(p in a){f[p]=a[p]}}},get:function(a,b,c){if(g===0){f.startF()}g++;if(typeof(b)==="function"&&typeof(c)==="undefined"){var c=b}var d="reqPG"+(e++);script=document.createElement('script');script.type="text/javascript";b=typeof(b)==="undefined"?'':b;script.src=a+(a.indexOf('?')!=-1?"&":"?")+"reqPGName="+d+h(b);document.getElementsByTagName('head')[0].appendChild(script);reqPG.requests[d]={script:script,callback:c,listener:function(){if(typeof(reqPG.requests[d].data)==='undefined'){setTimeout(function(){reqPG.requests[d].listener()},f.interval);return}if(typeof(c)==='function'){c(reqPG.requests[d].data,d)}if(!f.storeResults){delete reqPG.requests[d]}else{delete reqPG.requests[d].script;delete reqPG.requests[d].callback;delete reqPG.requests[d].listener}g--;if(g===0){f.endF()}}};reqPG.requests[d].listener()}}}();





function MeteorOpinia(){
	
// 	http://add.meteor24.pl/miniservice/?c=MeteorOpinia&a=getOpinie
// 	http://add.meteor24.pl/miniservice/?c=MeteorOpinia&a=getForm
// 	http://add.meteor24.pl/miniservice/?c=MeteorOpinia&a=add
// 	http://add.meteor24.pl/miniservice/resources/opinie/style.css
	
	var urlGetOpinie = "http://add.meteor24.pl/miniservice/?c=MeteorOpinia&a=getOpinie";
	var urlGetForm = "http://add.meteor24.pl/miniservice/?c=MeteorOpinia&a=getForm";
	var urlAdd = "http://add.meteor24.pl/miniservice/?c=MeteorOpinia&a=add";
	var urlStyle = "http://add.meteor24.pl/miniservice/resources/MeteorOpinia/style.css";
	
	var error=false;
	
	var options={
		serwis: "",
		jezyk: "pl",
		notice: ""
	};
	
	var that = this;
	
	this.pobierzOpinie=function(idObiektu, strona){
		
		var linki = document.getElementById("MeteorOpinieLinki");
		if(linki){
			if(typeof(MeteorSerwis) == 'undefined'){
				if(that.sprawdzLinki() == 0){
					return;
				}
			}else{
				ukryjLinki();
			}
		}else{
			if(typeof(MeteorSerwis)=='undefined'){
				return;
			}
		}
		
		var opinieKontener = document.getElementById("MeteorOpinieObiektu");
		if(!opinieKontener || isNaN(idObiektu)){
			return false;
		}
		
		reqPG.get(urlGetOpinie,{idObiektu:idObiektu, strona:strona}, function(odp){
			opinieKontener.innerHTML=odp;
		});
		
	};
	
	this.podajFormularz=function(idObiektu){
	
		var formularzKontener = document.getElementById("MeteorOpinieFormularz");
		if(!formularzKontener || isNaN(idObiektu)){
			return;
		}
				
		reqPG.get(urlGetForm,{jezyk:that.options.jezyk, idObiektu:idObiektu}, function(odp){
			//console.log(odp);
			//console.log("fdsfsd");
			formularzKontener.innerHTML=odp;
		});
	};
	
	this.schowajFormularz=function(){
		document.getElementById('MeteorUkryjOpinie').style.display='none';
		document.getElementById('MeteorPokazOpinie').style.display='block';
		document.getElementById('MeteorFormularzOpinie').style.display='none';
	};
	
	this.pokazFormularz=function(){
		document.getElementById('MeteorUkryjOpinie').style.display='block';
		document.getElementById('MeteorPokazOpinie').style.display='none';
		document.getElementById('MeteorFormularzOpinie').style.display='block';
	};
	
	this.podepnijStyle=function(){
		var css1 = document.createElement("link");
		css1.href=urlStyle;
		css1.rel="stylesheet";
		css1.type="text/css";
		document.getElementsByTagName("head")[0].appendChild(css1);
	};
	
	this.wyczysc=function(obj){
		obj.value="";
	};
	
	this.walidacjaFormularza=function(){
		var form = document.getElementById("MeteorFormularzOpinie");
		var komentarz = document.getElementById("MeteorFormularzOpinieKomentarz").value;//form.op_komentarz.value;
		var email = document.getElementById("MeteorFormularzOpinieEmail").value;//form.op_email.value;
		var podpis = document.getElementById("MeteorFormularzOpiniePodpis").value;//form.op_podpis.value;
		var id_obiektu = document.getElementById("MeteorFormularzOpinieObiektId").value;//form.op_id_obiektu.value;
		var pobyt_od = document.getElementById("MeteorFormularzOpinieOd").value;//form.op_pobyt_od.value;
		var pobyt_do = document.getElementById("MeteorFormularzOpinieDo").value;//form.op_pobyt_do.value;
		var newsletter = document.getElementById("MeteorFormularzNewsletter").checked ? 1 : 0;
		
//		alert(newsletter);
		
		var filter=/^.+@.+\..{2,3}$/;
		var filterdata = /^([0-9]{2})\.([0-9]{2})\.([0-9]{4})$/;
		if(komentarz == ""){
			komentarz = false;
			document.getElementById("MeteorFormularzOpinieKomentarz").style.border="2px solid red";
		}else{
			document.getElementById("MeteorFormularzOpinieKomentarz").border="1px solid #7A7065";
		}
		
		if(email == "" || !filter.test(email)){
			email = false;			
			document.getElementById("MeteorFormularzOpinieEmail").style.border="2px solid red";
		}else{
			document.getElementById("MeteorFormularzOpinieEmail").style.border="1px solid #7A7065";
		}
		if(pobyt_od == "dd.mm.rrrr"){
			pobyt_od = "";
		}
		if(pobyt_do == "dd.mm.rrrr"){
			pobyt_do = "";
		}
		
// 		if(pobyt_od != "" && !filterdata.test(pobyt_od)){
// 			pobyt_od = false;			
// 			document.getElementById("MeteorFormularzOpinieOd").style.border="2px solid red";
// 		}else{
// 			document.getElementById("MeteorFormularzOpinieOd").style.border="1px solid #7A7065";
// 		}
// 		
// 		if(pobyt_do != "" && !filterdata.test(pobyt_do)){
// 			pobyt_do = false;			
// 			document.getElementById("MeteorFormularzOpinieDo").style.border="2px solid red";
// 		}else{
// 			document.getElementById("MeteorFormularzOpinieDo").style.border="1px solid #7A7065";
// 		}
		
		if(komentarz === false || email === false || pobyt_do === false || pobyt_od === false){
			return false;
		}
		
		reqPG.get(urlAdd,{serwis:that.options.serwis,komentarz:komentarz,email:email,podpis:podpis,id_obiektu:id_obiektu,pobyt_do:pobyt_do,pobyt_od:pobyt_od,newsletter:newsletter},function(odp){
			//alert(odp);
			if(that.options.notice!=""){
				document.getElementById('MeteorOpinieNotice').style.display='block';
				document.getElementById('MeteorOpinieNotice').innerHTML=that.options.notice;
				setTimeout("document.getElementById('MeteorOpinieNotice').style.display='none';",5000);
			}else{
				document.getElementById('MeteorOpinieNotice').style.display='block';
				document.getElementById('MeteorOpinieNotice').innerHTML=odp;
				setTimeout("document.getElementById('MeteorOpinieNotice').style.display='none';",5000);
			}
			document.getElementById('MeteorUkryjOpinie').style.display='none';
			document.getElementById('MeteorPokazOpinie').style.display='block';
			document.getElementById('MeteorFormularzOpinie').style.display='none';
			
			document.getElementById("MeteorFormularzOpinieKomentarz").value = "";
			document.getElementById("MeteorFormularzOpiniePodpis").value = "";
			document.getElementById("MeteorFormularzOpinieEmail").value = "";
			document.getElementById("MeteorFormularzOpinieOd").value = "";
			document.getElementById("MeteorFormularzOpinieDo").value = "";
		});
		
		return false;
		
	};
	
	this.sprawdzLinki=function(){
		var linki = document.getElementById("MeteorOpinieLinki");
		var linkiT = document.getElementById("MeteorOpinieLinki").innerHTML;
		
		var exprNoFollow 	= /nofollow/i;
		var exprMeteor24 	= /http:\/\/meteor24\.pl/i;
		var expriBed 		= /http:\/\/ibed\.pl/i;
		var exprMT		= /http:\/\/meteor\.turystyka\.pl/i;
		
		var sprNoFollow 	= linkiT.search(exprNoFollow);
		var sprMeteor24 	= linkiT.search(exprMeteor24);
		var spriBed 		= linkiT.search(expriBed);
		var sprMT		= linkiT.search(exprMT);
		
		if(sprNoFollow > 0 || spriBed == -1 || sprMT == -1 || sprMeteor24 == -1){
			linki.title = "Błędne linki";
			return 0;
		}
		return 1;
	}
	
	this.ukryjLinki=function(){
		var linki = document.getElementById("MeteorOpinieLinki");
		linki.innerHTML = "";
	}
	
}

MeteorOpinia = new MeteorOpinia();