//trzeba bedzie jakies globalne zmienne dodac aby wszystko bylo git:)
//czy linki sa w texcie ect i takie tam pierdy
var zag_syn=null;
var nawias_o=null;
var nawias_k=null;
var linki_w_texcie=null;
var wrong_text=0;
var max_ilosc_linkow=0;
var max_il_art=0;
var max_il_art2=0;
var sep_p=0,sep_pomo=0,sep_good=0;
var sep_=new Array(0,0,0,0,0);
//do wspolzednych myszki
//var IE = document.all ? true : false;
//if (!IE) document.captureEvents(Event.MOUSEMOVE);
//document.onmousemove = myMouseXY;
//var pX = 0;
//var pY = 0;
//koniec wsp myszki
function wykrywanie_bledow(art,zn1,zn2)
{
	var info='<p>';
	var miesz_tab1=art.split(zn1);
	if (!miesz_tab1) 
		alert('blad');
	else {
		//alert(miesz_tab1.length);
		var id_=g('text_do_poprawy');
		var start=-1;
		for(var i=0;i<parseInt(miesz_tab1.length);i++)
		{						
			var ilosc2=miesz_tab1[i].split(zn2);
			if (ilosc2.length != 2) {
				if(miesz_tab1[i].length>2)
					if((start==-1)||(start==1)){
						info += '</p><p style="background-color:red">{' + miesz_tab1[i];
						start=0;						
					}						
					else
						info += '{'+ miesz_tab1[i];
			}else{
				if((start==-1)||(!start)){
					info += '</p><p style="background-color:green">{' + miesz_tab1[i];
					start=1;	
				}					
				else
					info+='{'+miesz_tab1[i];				
			}
							
		}	
		id_.innerHTML=info;
		//g("text2").value=info;
		alert('pod spodem masz podpowiedź co do błędu w texcie');
	}
}

/*
function show_span(id)
{
	var el="span_"+id;
	//alert(el);
	g("id_el_span").value=el;
	g("dodatek").style.display='block';
	g("t_zm").value=g(el).innerHTML;
}*/
function zamiana(sprawdz)
{
	var el=g("id_el_span").value;
	if(g(el)){
		g(el).innerHTML=g("t_zm").value;
		d_none();		
	}
	var end=parseInt(g("il_el_span").value)+1;
	//alert(end);
	var t='';	
	for(var i=0;i<end;i++){
		el="span_"+i;
		if(g(el)){
			t+=g(el).innerHTML;	
		}		
	}
	g("art_round_desc").value=t;
	if(sprawdz)
		spr_();
}
function d_none()
{
	g("dodatek").style.display='none';
}
function spr_separator(text)
{
	tab_s=new Array('\\','/',',',':',';');
	t_1=ilosc_zn(text,'|');
	if(!t_1.length){
		if(!sep_p && !sep_pomo){
			for(var i=0;i<tab_s.length;i++){
				t_s=ilosc_zn(text,tab_s[i]);
				if(t_s.length){
					if(!sep_[i])
						if(confirm('Brakuje znaku podziału synonimów ”|”, wykryto znak ”'+tab_s[i]+'” czy mam go traktować jako znak podziału synonimów?')){
							sep_pomo=i+1;
							for(var j=0;j<t_s.length;j++)
								text=text.replace(tab_s[i],'|');
							break;
						}else{
							sep_[i]=1;
						}
				}
			}	
		}else{
			if(!sep_p){
				separator=tab_s[sep_pomo-1];
				t_s=ilosc_zn(text,separator);
				for(var j=0;j<t_s.length;j++)
					text=text.replace(separator,'|');
			}
			
		}
	}else{
		if(!sep_pomo)
			sep_p=1;
	}
	
	sep_good=1
	return text
	// a to po chuja???
	t_1=ilosc_zn(text,'|');
	if(!t_1.length)
		sep_good=0;
	else
		sep_good=1;
	
	return text;
}
function spacja_przed_linkiem(text)
{
	
	return text.replace(/\s*<a/g,' <a').replace(/<\/a>\s*/,'</a> ')
	
	text=text.replace(/<a/g,' <a');
	text=text.replace(/a>/g,'a> ');
	text=text.replace(/  <a/g,' <a');
	text=text.replace(/a>  /g,'a> ');
	return text;
}
function spr_czy_html_nie_podzielony(text)
{
	tab=text.split('|');
	//alert(tab);
	for(var i=0;i<tab.length;i++){
		t_1=ilosc_zn(tab[i],'<');
		t_2=ilosc_zn(tab[i],'>');
		t_3=ilosc_zn(tab[i],'<a');
		t_4=ilosc_zn(tab[i],'</a>');
		if(t_1.length!=t_2.length){
			alert('html jest nie poprawnie rozmieszczony pomiędzy separatorami');
			wrong_text=1;
			return 0;
		}
		if(t_3.length!=t_4.length){			
			alert('otwarcie i zamkniecie linku nie znajduje sie pomiedzy tymi samymi separatorami');
			wrong_text=1;
			return 0;
		}
	}
	return 1;
}
function spr_span(text)
{
	tab_r=new Array();
	var t_1,t_2;
	t_1=ilosc_zn(text,'{');
	t_2=ilosc_zn(text,'}');
	tab_r[1]=spr_separator(text);
	//tab_r[1]=
	var pomo2=spr_czy_html_nie_podzielony(text);
	if((t_1.length==t_2.length) && sep_good && pomo2){			
		tab_r[0] = 1;
		if(t_1.length>1 && zag_syn==-1){
			tab_r[0]=0;
			wrong_text=1;
		}
	}else{
		tab_r[0] = 0;
		//alert('separator');
		wrong_text=1;
	}
	return tab_r;
}
function del_smieci(text)
{
	//alert(typeof text);
	text=text+'';
	g('text_pomo_hidden').innerHTML=text;
	spr_link("text_pomo_hidden");
	text=g('text_pomo_hidden').innerHTML;
	text=text+'';
	text=text.replace('class="link_good"','');
	text=text.replace('class="link_bed"','');
	//text=text.replace('</a>"','</a> ');
	//text=text.replace('<a"',' <a');
	return text;
}
function gen_text(art,t1,t2,t3)
{
	//alert(t1+'\n'+t2);
	var post_text='';
	var start=0,stop=0,count=1,cl=0,ccc=0;
	var styl='',art_type=0;
	var length=t1.length;
	var text='<span id="span_0" class="text" onclick="show_span(0,event);">'+ art.substring(0,t1[0])+'</span>';
	post_text+='#wg_typ#0'+del_smieci(art.substring(0,t1[0]));
	var pomo=1;
	//var
	for(i=0;i<length;i++){
		if(cl)
			cl=0;
		else
			cl=1;
		if((t1[i]<t2[i])&&(t2[i]>0)){
			//alert(t2[i]);
			zm=art.substring(t1[i],t2[i]+1);
			styl='style="';
			if(t3[i]){
				styl+='font-style:italic; ';
				art_type=2;
			}
			else{
				art_type=1;
			}
			var pomo_styl='';
			if(ilosc_zn(zm,'(').length || ilosc_zn(zm,')').length)
				styl+= ' background-color:orange;';
			if(ilosc_zn(zm,'[').length || ilosc_zn(zm,']').length)
				styl+= ' background-color:#FFCC00;';
			styl+='"';
			//alert(ccc+'  '+zm);
			//ccc++;
			tab_spr=spr_span(zm);
			if(tab_spr[0]){
				zm=tab_spr[1];
				
				post_text+='#wg_typ#'+art_type+del_smieci(zm);
				text+='<span id="span_'+count+'" '+styl+' class="unseen klasa'+cl+'" onclick="show_span('+count+',event);">'+zm+'</span>';
			}else{
				text+='<span id="span_'+count+'" '+styl+'class="unseen klasa3" onclick="show_span('+count+',event);">'+zm+'</span>';
				g('art_bad').value=1;
			}
		
			count++;
			
			if((i+1)<length){
				var pomo_text_span=art.substring(t2[i]+1,t1[i+1]);
				var pomo_styl='';
				if(ilosc_zn(pomo_text_span,'(').length || ilosc_zn(pomo_text_span,')').length)
					pomo_styl='style="background-color:orange;"';
				if(ilosc_zn(pomo_text_span,'[').length || ilosc_zn(pomo_text_span,']').length)
					pomo_styl='style="background-color:#FFCC00;"';
				text+='<span id="span_'+count+'"'+pomo_styl+' class="text" onclick="show_span('+count+',event);">'+pomo_text_span+'</span>';
				//text+='<span id="span_'+count+'" class="text" onclick="show_span('+count+',event);">'+art.substring(t2[i]+1,t1[i+1])+'</span>';
				post_text+='#wg_typ#0'+del_smieci(art.substring(t2[i]+1,t1[i+1]));
				count++;
			}
			else{
				//text+='<span id="span_'+count+'" class="text" onclick="show_span('+count+',event);">'+art.substring(t2[i]+1,art.length)+'</span>';
				//count++;
			}
		}else{
			if(t1[i]>0){
				zm=art.substring(t1[i],art.length);
				text+='<span id="span_'+count+'" '+styl+'class="unseen klasa3" onclick="show_span('+count+',event);">'+zm+'</span>';
				pomo=0;
			}
		}
	}
	if(cl)
			cl=0;
		else
			cl=1;
	if((t2[t2.length -1]<art.length)&&pomo){
		//alert('koncowka:\n'+t2[t2.length -1]+'\n'+art.length);
		//alert(art.substring(t2[t2.length -1]+1,art.length));
		text+='<span id="span_'+count+'" class="text"  onclick="show_span('+count+',event);">'+art.substring(t2[t2.length -1]+1,art.length)+'</span>';
		post_text+='#wg_typ#0'+del_smieci(art.substring(t2[t2.length -1]+1,art.length));
		///alert(zm);
	}
	g("il_el_span").value=count;
	g("miesz_text_hidden").value=spacja_przed_linkiem(post_text);
	var t=g("text");
	t.innerHTML=spacja_przed_linkiem(text);
}
function spr_2(art)
{
	var n10,n11,n20,n21;
	//zamiana nawiasow
	n10=ilosc_zn(art,'(');
	n11=ilosc_zn(art,')');
	n20=ilosc_zn(art,']');
	n21=ilosc_zn(art,'[');	
	if((n10.length||n11.length)&&(!nawias_o)){
		if(confirm("wykryto nawiasy ( ) czy chcesz je zamienić na { } ?")){
			nawias_o=1;
		}else{
			nawias_o=-1;
		}		
	}
	if(nawias_o<0){
		if((n20.length||n21.length)&&(!nawias_k)){
			if(confirm('wykryto nawiasy [ ] czy chcesz je zamienić na { } ? ')){
				nawias_k=1;
			}else{
				nawias_k=-1;
			}
		}
		if(nawias_k>0){
			for(var i=0;i<parseInt(n20.length);i++){
				art = art.replace('[','{');
				art = art.replace(']','}');
			}
		}
	}else{		
		for(var i=0;i<parseInt(n10.length);i++){
			art = art.replace('(','{');
			art = art.replace(')','}');
		}
	}
	//sprawdzanie czy sa linki
	var index=art.indexOf('</a>',index);
	if(index>0){
		linki_w_texcie=1;
		g('linki_w_texcie').value=1;
	}
	return art
}
function spr_()
{
	wrong_text=0;
	var id_art=g("art_round_desc");
	var art=id_art.value;
	if(art.length<5000){
		wrong_text=1;
	}
	var t1,t2;	
	//alert(art);
	t1=ilosc_zn(art,'{');
	t2=ilosc_zn(art,'}');
	if(!t1.length){
		art=spr_2(art);
		id_art.value=art;
		t1=ilosc_zn(art,'{');
		t2=ilosc_zn(art,'}');
	}
	t_t=get_to_w_nawiasach3(art,t1,t2);
	//alert(t_t[1]+'nawias \n'+t_t[2]+'\n pochylenie'+t_t[3]);
	t1=t_t[1];
	t2=t_t[2];
	t3=t_t[3];
	gen_text(art,t1,t2,t3);
	spr_link("text");
	zamiana(0);
	
	//get_to_w_nawiasach2(art,t1,t2);
}
function spr_link(el)
{
	var zm;
	zm=g(el).getElementsByTagName('a');
	if(zm){		
		for(var i=0; i<zm.length;i++){
			if(!zm[i].getAttribute("href"))
			{
				if(el=='text')
					alert('w adresie nie podaleś linka');
				zm[i].setAttribute('class','link_bed');
				wrong_text=1;
			}else{				
				var href=zm[i].getAttribute("href");
				if(ilosc_zn(href,'http://').length){					
					g('linki_w_texcie').value=1;
					linki_w_texcie=1;
					zm[i].setAttribute('class', 'link_good');					
				}
				else{
					if(el=='text')
						alert('adres w linku jest bez http://');
					zm[i].setAttribute('class','link_bed');
					wrong_text=1;
				}
			}	
			zm[i].innerHTML = zm[i].innerHTML.replace(/^\s+|\s+$/g, '');
		}
	}
}
function get_to_w_nawiasach3(art,tab_1,tab_2)
{
	var c=0,c1=0,c2=0;
	var zagn=0;
	var s1=tab_1[c1],s2=tab_2[c2],count=0;	
	var tab_t=new Array(),t1=new Array(),t2=new Array(),t3=new Array();
	var length=tab_1.length;
	t1[count]=s1;
	for(i=0;i<(10*length);i++){
		if(s1<s2){
			c++;
			c1++;
			if(c1<length){
				s1=tab_1[c1];	
			}else{
				t2[count]=tab_2[tab_2.length-1];
				t3[count]=zagn;
				break;
			}			
		}else{
			if(c>1){
				zagn=1;
				if(!zag_syn){
					if(confirm("Czy w tekscie są synonimy zagnieżdzone?")){
						zag_syn=1;
					}else{
						zag_syn=-1;
					}
				}
				if(zag_syn<0){
					c--;
				}
			}
			c--;
			c2++;			
			s2=tab_2[c2];
			if(!c){
				t2[count]=tab_2[c2-1];
				t3[count]=zagn;
				t1[count+1]=s1;
				count++;
				zagn=0;
			}
			if(c<0){
				t2[count-1]=tab_2[c2-1];
				c=0;
			}
		}
	}
	tab_t[1]=t1;
	tab_t[2]=t2;
	tab_t[3]=t3;
	//alert(length+'\n'+tab_1+'\n'+tab_2+'\n'+tab_t[1]+'\n'+tab_t[2]+'\n');
	return tab_t;
}
function get_to_w_nawiasach2(art,tab_1,tab_2)
{
	var tab_t=new Array(),t1=new Array(),t2=new Array();
	var start=tab_1[0], count=0,p=0,k=0;
	var length=tab_1.length;
	for(i=0;i<length;i++){
		if((tab_1[p]<tab_2[i])||(i==length)){
			t1[count]=start;
			t2[count]=tab_2[i];
			//tab_t[count]=art.substring(start,tab_2[i]+1);
			//alert(p);
			count++;
			
			for(var j=p;j<length;j++)
			{
				start=tab_1[j];
				if(start>tab_2[i])
					break;
				p++;
			}
			
		}
	}
	t1[count]=tab_1[tab_1.length -1];
	t2[count]=tab_2[tab_2.length -1];
	tab_t[1]=t1;
	tab_t[2]=t2;
	return tab_t;
	//alert(tab_t);
}
function spr_article()
{
	
}
function popraw(art)
{
	
}
function replace_znaki(art){
	art = art.replace('(','{');
	art = art.replace('[','{');
	art = art.replace(')','}');
	art = art.replace(']','}');
	var p=art.match('\{(.*?)\}');
	//alert (p);
	//to trzeba tylko przy zagniezdzeniach
	//art = art.replace('\\','|');
	//art = art.replace('/','|');
	return art;
}
function get_to_w_nawiasach(art,tab_1,tab_2)
{
	var tab_t=new Array();
	var start=0, count=0;
	var length=tab_1.length-1;
	for(i=0;i<length;i++){
		if((tab_1[i+1]>tab_2[i])||(i==length)){
			tab_t[count]=art.substring(start,tab_2[i]+1);
			count++;
			start=tab_1[i+1];
		}
	}
	//alert(tab_t);
}
function spr_art(art)
{
	var start_=-1;	
	var tab_1,tab_2,tab_3,tab_t=new Array();
	var count=0,licznik=0,start=0;
	var string='',info='';
	tab_1=ilosc_zn(art,'{');
	tab_2=ilosc_zn(art,'}');
	tab_3=ilosc_zn(art,'|');
	
	for(var i in tab_3){
		//alert(i);
		//alert(tab_3[i]);
		if((tab_1[count]<tab_3[i])&&(tab_2[count]>tab_3[i])){
			//string+='<g>'+art.substring(start,tab_3[i])+'</g>';
			start=tab_3[i];
			if((start_==-1)||(!start_)){
				info += '</p><p style="background-color:green">' + art.substring(start,tab_3[i]);
				start_=0;						
			}						
			else
				info +=  art.substring(start,tab_3[i]);
			continue;
			
		}else
		{	
			
			if((tab_1[count+1]<tab_3[i])&&(tab_2[count+1]>tab_3[i])&&(tab_1[count+1]>0)){				
				count++;
				//string+='<g>'+art.substring(start,tab_3[i])+'</g>';
				if((start_==-1)||(!start_)){
						info += '</p><p style="background-color:green">' + art.substring(start,tab_3[i]);
						start_=0;						
				}						
				else
					info +=  art.substring(start,tab_3[i]);
				start=tab_3[i];			
			}else{
				alert ('blad: '+i);
				tab_t[licznik]=i;
				licznik++;
				//string+='<w>'+art.substring(start,tab_3[i])+'</w>';
				if((start_==-1)||(start_==1)){
						info += '</p><p style="background-color:red">' + art.substring(start,tab_3[i]);
						start_=0;						
				}						
				else
					info +=  art.substring(start,tab_3[i]);
				start=tab_3[i];
			}
		}
		/*
		if(((tab_1[count+1]>tab_3[i])&&(tab_2[count]<tab_3[i]))||(tab_1[0]>tab_3[i])||(tab_2[tab_2.length-1]<tab_3[i])){			
			if((tab_1[count+2]>tab_3[i])&&(tab_2[count+1]<tab_3[i])){
				tab_t[licznik]=i;
				licznik++;
			}else{
				count++;
			}			
		}
		 */
	}
	id_=g('text_do_poprawy');
	id_.innerHTML=info;
	alert (string);
	alert ('sprawdzenie2'+tab_t);
}
function sprwdz_gdzie_blad(art,tab_1,tab_2){
	var tab_t=new Array();
	var start=0, count=1,count_2=0;
	var length=tab_1.length-1;
	var bledy='';
	//alert(tab_1);
	//alert(tab_2);
	if(tab_1.length>tab_2.length){
		bledy+='za dużo { \n';
		for(i=0;i<length;i++){
			if((tab_1[count]<tab_2[count_2])){
				bledy+='znak { o indexie:'+(i+2)+' jest blednie wsadzony\n';
				count++;				
				tab_t[start]=tab_1[i+1];
				start++;
			}else{
				count_2++;
				count++;
			}
		}
		var art2=art;
		for(var i in tab_t){
			art2=art2.substring(0,tab_t[i]-i)+art2.substring(tab_t[i]-i+1,art2.length);
		}
	}	
	else{
		bledy+='za dużo } \n';
		length=tab_2.length-1;
		start=count=count_2=0;
		for(i=0;i<length;i++){
			if((tab_2[count]<tab_1[count_2])){
				bledy+='znak } o indexie:'+(i+1)+' jest blednie wsadzony\n';
				count++;				
				tab_t[start]=tab_2[i];
				start++;
			}else{
				count_2++;
				count++;
			}
		}
		var art2=art;
		for(var i in tab_t){
			art2=art2.substring(0,tab_t[i]-i)+art2.substring(tab_t[i]-i+1,art2.length);
		}
	}
	spr_art(art2);
	alert('art poprawiony '+art2);
	alert(tab_t);
	alert(bledy);
}
function ilosc_zn(art,zn)
{
	var end=1,index=0,count=0;
	var tab=new Array();
	while(end)
	{
		index=art.indexOf(zn,index);
		if(0>index)
			end=0;
		else
			tab[count]=index;
		index++;
		count++;		
	}
	return tab;
}
function text_mieszarka(){
	var id_art=g("art_round_desc");
	var art=id_art.value;
	//var end=1,index=0,count=0;
	var tab_1,tab_2;
	tab_1=ilosc_zn(art,'{');
	tab_2=ilosc_zn(art,'}');
	//wyciagamy id nawiasow {
	/*while(end)
	{
		index=art.indexOf('{',index);
		if(0>index)
			end=0;
		else
			tab_1[count]=index;
		index++;
		count++;		
	}
	//wyciagamy id nawiasow }
	var end=1,index=0,count=0;	
	while(end)
	{
		index=art.indexOf('}',index);
		if(0>index)
			end=0;
		else
			tab_2[count]=index;
		index++;
		count++;		
	}
						  */
	if(tab_1.length!=tab_2.length){
		//alert('fakin men masz zjebany artykół');
		sprwdz_gdzie_blad(art,tab_1,tab_2);
		/*
		if(tab_1.length>tab_2.length)
			wykrywanie_bledow(art,'}','{');
		else
			wykrywanie_bledow(art,'{','}');
											 */
		//get_to_w_nawiasach(art,tab_1,tab_2);
	}	
	else{
		get_to_w_nawiasach(art,tab_1,tab_2);
	}
	//alert(tab_1.length);
	//alert(tab_2.length);
	
	//art = replace_znaki(art);	
	//alert(art);
}

function validacja(args) {

	function bal(str,pt1,pt2)
	{
	    var i,j,ch,stk,rc;
	    rc=true;
	    stk=''
	    for (i=0;i<str.length;i++) {
	        ch=str[i]
	        n=pt1.indexOf(ch);
	        if (n>=0) {
	            stk=ch+stk;
	            continue;
	        }
	        n=pt2.indexOf(ch)
	        if (n<0) continue;
	        if (!stk || stk[0] != pt1[n]) {
	            rc=false;
	            break;
	        }
	        stk=stk.substr(1)
	    }
	    if (rc && stk) rc=false;
	    if (rc) return false;
	    return i;
	}

	function max_art_count(art_len)
	{
		return parseInt(art_len / 100);
	}
	
	function check_max_count(max_count, sets)
	{
		if (count_desired_count(sets) > max_count)
			return false;
		return true;
	}
	
	function count_desired_count(sets)
	{
		out = 0;
		for (i = 0; i < sets; i++)
		{
			out += parseInt(v('quant_art' + i));
		}
		return out;
	}

	if (!check_category())
	{
		return false;
	}

	var projekt = g("w_project");
	var t_mieszarka = g("art_round_desc");
	var count=parseInt(v("ilosc_art"));
	var info='';
	var ilosc_art=0;
	var wynik=true;
	if(args){
		if (t_mieszarka.value.length > 10) {
			max_count = max_art_count(t_mieszarka.value.length);
			
			if (!check_max_count(max_count, count))
			{
				info += 'Z podanego tekstu możez wygenerować maksymalnie: ' + max_count + ' artykułów, a chcesz: ' + count_desired_count(count) + ' \n\n';
				wynik = false;
			}
			g('rodzaj_textu').value=1;
			spr_();
			if(wrong_text) {
				info+= 'Text w mieszarce posiada błędy\n';
				wynik = false;
			}
			if (t_mieszarka.value.length < 5000) {
				info+= 'Text w mieszarce jest za krótki ma być 5000 znakow a jest: '+t_mieszarka.value.length+'\n\n';				
				t_mieszarka.style.backgroundColor="red";
				wynik= false;
			} else {
				max_il_art2=parseInt(t_mieszarka.value.length/100);
				//alert(max_il_art);
				if(t_mieszarka.value.length<9000){
					max_ilosc_linkow=1;
				}
				else{
					max_ilosc_linkow=3;
				}
				var art_miesz_text=t_mieszarka.value;
				var bad_char=bal(art_miesz_text,'[{(',']})');
				if (bad_char) {
					info += 'Niezrównoważone nawiasy\n';
					t_mieszarka.style.backgroundColor="red";
					wynik= false;
				}			
			}
		}
		else{
				g('rodzaj_textu').value=0;
			}
		}else{
			g('rodzaj_textu').value=1;
		}
		if(projekt.value.length<1){
			info+='Podaj nazwe Projektu \n\n';
			projekt.style.backgroundColor="red";
			wynik= false;
		}else{
			if(projekt.value.length<255)
				projekt.style.backgroundColor="white";
			else{
				info+='Nazwa projektu jest za długa, max dopuszczalna dl to 255 zn \n\n';
				projekt.style.backgroundColor="red";
				wynik= false;
			}
		}
		for(var i=0;i<count;i++){
			var pomo=i+1;
			var _category='category'+i;
			var _title='title'+i;
			var _il_art='quant_art'+i;
			var _tag='keywords'+i;			
			var il_w_zestawie=0;
			var _url1='url_1'+i;
			var _url2='url_2'+i;
			var _url3='url_3'+i;
			var _url_t1='keyword_1'+i;
			var _url_t2='keyword_2'+i;
			var _url_t3='keyword_3'+i;
			var _year='year'+i;
			var _month='mounth'+i;
			var _day='day'+i;
			var _publ='publish_'+i;
			var _publ_c='publish_count'+i;
			var _zap_dni='zap_dni_'+i;
			var _zap_ile='zap_oile_'+i;
			var tab_url_pomo;
			var pomo_il_art=0;
			if(g(_il_art).value.length<1){
				info+='Podaj ilość artykułów w zestawie nr '+pomo+' \n\n';
				g(_il_art).style.backgroundColor="red";
				wynik= false;
				var pomo_il_art=0;
			}else{
				pomo_il_art=1;
				g(_il_art).style.backgroundColor="white";
			}
			ilosc_art+=il_w_zestawie=parseInt(g(_il_art).value);
			if (t_mieszarka.value.length <10)
			{
				//alert('prog2');
				max_il_art=500;
				var _art_text='art_desc'+i;
				var art_text=g(_art_text).value;
				var tab=art_text.split('<"tagend">');
				var il_tag_end=0;				
				var pomo_len_art=0;
				var url1_good=1,url2_good=1,url3_good=1;
				var index=art_text.indexOf('</a>',index);
				if(index>0){
					linki_w_texcie=1;
					g('linki_w_texcie').value=1;
				}
				g('text_pomo_hidden').innerHTML=art_text;
				spr_link("text_pomo_hidden");
				// - 1, bo ostani jest pusty
				js_ilosc = tab.length - 1;
				js_proper = 0;
				for (var j = 0; j < js_ilosc; j++) 
					if ((tab[j]) || (tab[j] == '')) {
						il_tag_end = j;
						if(!tab[j] == '')
						{
							if(tab[j].length<500){
								p=j+1;
								info+='Artykuł nr '+p+' jest za krótki - w zestawie nr '+pomo+'\n\n';
								g(_art_text).style.backgroundColor="red";
								wynik= false;	
							}else{
								g(_art_text).style.backgroundColor="white";
								pomo_len_art=1;
								js_proper++;
							}
						}
					}
				//if(il_tag_end!=il_w_zestawie)
				if (js_ilosc != js_proper)
				{
					if(il_tag_end>1){
						info+='Ilosć artykułów w zestawie nr '+pomo+' się nie zgadza, ilość <tagend>: '+il_tag_end+'\n\n';
						g(_art_text).style.backgroundColor="red";
						g(_il_art).style.backgroundColor="red";
						wynik= false;
					}else{
						if(pomo_len_art && pomo_il_art)
							g(_art_text).value+='<"tagend">';
					}
				}else{
					g(_art_text).style.backgroundColor="white";
					g(_il_art).style.backgroundColor="white";
				}
			}
			if (!linki_w_texcie)
			{
				var pomo_il_linkow=0;
				if(g(_url1).value.length<1){
					info+='Brak linków w zestawie nr '+pomo+' \n\n';
					g(_url1).style.backgroundColor="red";
					wynik= false;
				}else{
					tab_url_pomo=ilosc_zn(g(_url1).value,'http://');
					if(!tab_url_pomo.length){
						g(_url1).value='http://'+g(_url1).value;
					}
					if(isValidURL(g(_url1).value))
						g(_url1).style.backgroundColor="white";
					else{
						g(_url1).style.backgroundColor="red";
						info+='Link 1 jest nie poprawny \n\n';
						wynik=false;
						url1_good=0;
					}
					pomo_il_linkow++;
				}
				if(g(_url1).value.length>1 && url1_good){
					g(_url1).style.backgroundColor="white";
					if(g(_url_t1).value.length<1){
						info+='Podaj Słowo 1 w zestawie nr '+pomo+' \n\n';
						g(_url_t1).style.backgroundColor="red";
						wynik= false;
					}else g(_url_t1).style.backgroundColor="white";					
				}	
				if(g(_url2).value.length>1){
					g(_url2).style.backgroundColor="white";
					tab_url_pomo=ilosc_zn(g(_url2).value,'http://');
					if(!tab_url_pomo.length){
						g(_url2).value='http://'+g(_url2).value;
					}
					if(isValidURL(g(_url2).value))
						g(_url2).style.backgroundColor="white";
					else{
						g(_url2).style.backgroundColor="red";
						info+='Link 2 jest nie poprawny \n\n';
						wynik=false;
						url2_good=0;
					}
					if(g(_url_t2).value.length<1 && url2_good){
						info+='Podaj Słowo 2 w zestawie nr '+pomo+' \n\n';
						g(_url_t2).style.backgroundColor="red";
						wynik= false;
					}else{
						if(url2_good){
							g(_url_t2).style.backgroundColor="white";
							pomo_il_linkow++;	
						}						
					}
				}
				if(g(_url3).value.length>1){					
					g(_url3).style.backgroundColor="white";
					tab_url_pomo=ilosc_zn(g(_url3).value,'http://');
					if(!tab_url_pomo.length){
						g(_url3).value='http://'+g(_url3).value;						
					}
					if(isValidURL(g(_url3).value))
						g(_url3).style.backgroundColor="white";
					else{
						g(_url3).style.backgroundColor="red";
						info+='Link 3 jest nie poprawny \n\n';
						wynik=false;
						url3_good=0;
					}
					if(g(_url_t3).value.length<1 && url3_good){
						info+='Podaj Słowo 3 w zestawie nr '+pomo+' \n\n';
						g(_url_t3).style.backgroundColor="red";
						wynik= false;
					}else g(_url_t3).style.backgroundColor="white";
				}
				if((g(_url3).value.length>1)||(g(_url_t3).value.length>1)){
					if(g(_url2).value.length<1 ){
						info+='Podaj Url 2 w zestawie nr '+pomo+' \n\n';
						g(_url2).style.backgroundColor="red";
						wynik= false;
					}else{
						if(url2_good){
							g(_url2).style.backgroundColor="white";
							pomo_il_linkow++;
						}
					}
				}
				if(((g(_url3).value.length<1)&&(g(_url_t3).value.length>1))
				||((g(_url2).value.length<1)&&(g(_url_t2).value.length>1))
				||((g(_url1).value.length<1)&&(g(_url_t1).value.length>1))){
					if(g(_url2).value.length<1){
						info+='Podaj Url w zestawie nr '+pomo+' \n\n';
						g(_url2).style.backgroundColor="red";
						wynik= false;
					}else{
						if(url2_good)
							g(_url2).style.backgroundColor="white";
					}
				}
				if(args && parseInt(g('rodzaj_textu').value)){
					if(max_ilosc_linkow<pomo_il_linkow){
						info+='Masz za krótki text zeby wsadzić tyle linkow\n\n';					
						wynik= false;
						//g(_url2).style.backgroundColor="red";
						//g(_url3).style.backgroundColor="red";					
					}
				}
			}else{
				if(g(_url1).value.length>1 || g(_url1).value.length>1 || g(_url1).value.length>1){
					info+= 'W tekscie są linki więc nie możesz dodac dodatkowych \n\n';
					wynik= false;
				}
			}
			if(g(_category).value.length<1){
				info+='Podaj kategorie w zestawie nr '+pomo+'  \n\n';
				g(_category).style.backgroundColor="red";
				wynik= false;
			}else{
				if(g(_category).value.length<255)
					g(_category).style.backgroundColor="white";
				else{
					info+='Nazwa kategorii jest za długa, max dopuszczalna dl to 255 zn \n\n';
					g(_category).style.backgroundColor="red";
					wynik= false;
				}
			}				
			if(g(_title).value.length<1){
				info+='Podaj tytul w zestawie nr '+pomo+' \n\n';
				g(_title).style.backgroundColor="red";
				wynik= false;
			}else {				
				var title=g(_title).value.replace(/\| \|/g,'|');
				title=title.replace(/[\|]+/g,"|")
				var len_title=title.length;
				if(title.substring(len_title -1,len_title)=='|'){
					title=title.substring(0,len_title-1);
				}
				g(_title).value=title;
				var tab_t=title.split('|');
				var tab_wlk=parseInt(tab_t.length);
				for(var j=0;j<tab_wlk;j++){
					if(tab_t[j].length<1){
						//alert(tab_t[j]);
						info+='Tytuł/y w zestawie:'+pomo+' są za krótkie (podales '+tab_wlk+' tytułów)\n\n';
						g(_title).style.backgroundColor="red";
						wynik= false;
						break;
					}else g(_title).style.backgroundColor="white";						
				}					
			}
			if(g(_month).value.length<2){
				g(_month).value='0'+g(_month).value;
			}
			var regem= /^[0-1]+[0-9]$/;			
			if ((regem.test(g(_month).value)==false)||(g(_month).value.length!=2)||(g(_month).value=='00')||(parseInt(g(_month).value)>12)){
				g(_month).style.backgroundColor="red";
				info+='Format daty nie poprawyny. prawidlowy format daty RRRR-MM-DD np. 2010-01-15\n\n';
				wynik = false;
			}else{
				g(_month).style.backgroundColor="white";
			}
			var regey= /^2+\d{2,4}$/;			
			if ((regey.test(g(_year).value)==false)||(g(_year).value.length!=4)){
				g(_year).style.backgroundColor="red";
				info+='Format daty nie poprawyny. prawidlowy format daty RRRR-MM-DD np. 2010-01-15\n\n';
				wynik = false;
			}else{
				g(_year).style.backgroundColor="white";
			}
			if(g(_day).value.length<2){
				g(_day).value='0'+g(_day).value;
			}
			var reged= /^[0-3]+[0-9]$/;			
			if ((reged.test(g(_day).value)==false)||(g(_day).value.length!=2)||(g(_day).value=='00')||(parseInt(g(_day).value)>31)){
				g(_day).style.backgroundColor="red";
				info+='Format daty nie poprawyny. prawidlowy format daty RRRR-MM-DD np. 2010-01-15\n\n';
				wynik = false;
			}else{
				g(_day).style.backgroundColor="white";
			}
			if(!spr_dat_rozl(_publ,_publ_c,i)){
				wynik=false;
				info+='Nieprawidłowe dane w polach w zestawie nr'+(i+1)+': Rozłożenie publikacji w czasie\n\n';
			}
			var regex=/^\d{1,4}$/;
			var _pp=0;
			/*
			if(regex.test(g(_publ).value)==false){
				g(_publ).style.backgroundColor="red";
				info+='Ilość dni w polu Publikuj co: jest nie prawidłowa\n\n';
				wynik = false;
			}else{
				g(_publ).style.backgroundColor="white";
				if(regex.test(g(_publ_c).value)==false){
					g(_publ_c).style.backgroundColor="red";
					info+='Ilość w polu Publikuj po: jest nie prawidłowa\n\n';
					wynik = false;
				}else{
					
					if(parseInt(g(_publ).value)>0 && parseInt(g(_publ_c).value)<1){
						g(_publ_c).style.backgroundColor="red";
						info+='Ilość w polu Publikuj po: jest nie prawidłowa\n\n';
						wynik = false;
					}else
						g(_publ_c).style.backgroundColor="white";
				}
			}
												 */
			//wynik=false;
			/*if(regex.test(g(_zap_ile).value)==false){
				g(_zap_ile).style.backgroundColor="red";
				info+='Ilość artykułów w zapotrzebowaniu: jest nie prawidłowa\n\n';
				wynik = false;
				
			}else{
				g(_zap_ile).style.backgroundColor="white";
				if(parseInt(g(_zap_dni).value)<1 && parseInt(g(_zap_ile).value)>0){
					g(_zap_dni).style.backgroundColor="red";
					info+='Podaj ilosc dni w zapotrzebowaniu\n\n';
					wynik = false;
					var _zap_d=false;
				}else{
					var _zap_d=true;
				}
				
			}
			if(regex.test(g(_zap_dni).value)==false || !_zap_d){
				g(_zap_dni).style.backgroundColor="red";
				info+='Ilość dni w zapotrzebowaniu: jest nie prawidłowa\n\n';
				wynik = false;
			}else{
				g(_zap_dni).style.backgroundColor="white";
				if(parseInt(g(_zap_ile).value)<1 && parseInt(g(_zap_dni).value)>0){
					g(_zap_ile).style.backgroundColor="red";
					info+='Podaj ilosc artykułów w zapotrzebowaniu\n\n';
					wynik = false;
				}else{
					g(_zap_ile).style.backgroundColor="white";
				}
			}*/
			if(g('category_id')){
				if(!parseInt((g('category_id').value))){
					if(g('new_category_name').value.length<1){
						g('new_category_name').style.backgroundColor="red";
						info+='Podaj kategorie\n\n';
						wynik = false;
					}else
						g('new_category_name').style.backgroundColor="white";
				}else
					g('new_category_name').style.backgroundColor="white";
			}
			if(g(_tag).value.length<1){
				info+='Podaj tag-i w zestawie nr '+pomo+'  \n\n';
				g(_tag).style.backgroundColor="red";
				wynik= false;
			}else g(_tag).style.backgroundColor="white";
			
			//alert('prog1');
			
			
			
		}		
		//ilosc artow
		if(document.getElementById('domain_count')){
			var	max_il_art=parseInt(g('domain_count').value)-1;			
		}else{
			var	il_art_proj=500;
		}
		
		if(args){
			if(g('ilosc_art_project')){				
				var	il_art_proj=500-parseInt(g('ilosc_art_project').value);
				if(il_art_proj>max_il_art)
					il_art_proj=max_il_art;
				//alert('allegro');
			}
			else{
				var	il_art_proj=max_il_art;
				//alert('pomo');
			}
			
			
			//maxymalna publikacja
			var pomo_dupa=0;
			if(ilosc_art>il_art_proj){				
					if(g('zapotrzebowanie')){
						if(g('zapotrzebowanie').value){
							pomo_dupa=ilosc_art;
							ilosc_art=il_art_proj;							
						}
					}else{
						alert(ilosc_art);
						info+='Max mozesz publikować '+il_art_proj+' artykułów ty podaleś:'+ilosc_art+' \n\n';
						wynik= false;
					}
				}
			if(max_il_art2<ilosc_art){
				if(pomo_dupa){
					ilosc_art=max_il_art2;
				}else{
					pomo_dupa=ilosc_art;
					ilosc_art=max_il_art2;
				}
			}
			if(g('zapotrzebowanie')){
				if(g('zapotrzebowanie').value){
					if(pomo_dupa){
						/*alert(ilosc_art);
						alert(il_art_proj);
						alert(max_il_art2);
						alert(pomo_dupa);*/
						var mnoznik=ilosc_art/pomo_dupa;
						var wynik_=0;
						//alert(mnoznik);
						for(var i=0;i<count;i++){
							var _il_art='quant_art'+i;
							wynik_=parseInt(g(_il_art).value) * mnoznik;
							
							g(_il_art).value=parseInt(wynik_);
							//alert(_il_art+' : '+g(_il_art).value);
						}
					}
				}
			}
		}
		/*
		for(var i=0;i<count;i++){
			var _il_art='quant_art'+i;
		}*/
		if(info.length>1)
			alert(info);		
		//wynik=false;
		if(wynik)
			g('all_right').value=1;
		return wynik;
}
function spr_dat_rozl(arg1,arg2,i){
	var label='ilosc_zap'+i;
	var count=parseInt(g(label).value);
	var text='';
	var regex=/^\d{1,4}$/;
	var _pp=0;
	var wynik=true;
	for(var j=0;j<count;j++){
		var label2=arg1+j;
		var label3=arg2+j;
		//text=label2+': h: '+g(label2).value+': h2: '+label3+': h3: '+g(label3).value;		
		if(regex.test(g(label2).value)==false){
				g(label2).style.backgroundColor="red";
				wynik = false;
			}else{
				g(label2).style.backgroundColor="white";
				if(regex.test(g(label3).value)==false){
					g(label3).style.backgroundColor="red";
					wynik = false;
				}else{					
					if(parseInt(g(label2).value)>0 && parseInt(g(label3).value)<1){
						g(label3).style.backgroundColor="red";
						wynik = false;
					}else{
						g(label3).style.backgroundColor="white";
						if(parseInt(g(label3).value)>0 && parseInt(g(label2).value)<1){
							g(label2).style.backgroundColor="red";
							wynik = false;
						}
					}
				}
			}
		if(j>0){
			var label4='zap_dni_'+i+j;
			if(regex.test(g(label4).value)==false||parseInt(g(label4).value)<1){
				g(label4).style.backgroundColor="red";
				wynik = false;
			}else
				g(label4).style.backgroundColor="white";
		}
	}
	return wynik;
				
	
}

function isValidURL2(url){
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
}
function isValidURL(urel)
{
	var m=urel.match(/^https?:\/\/([a-z0-9](-?[a-z0-9])*\.)+[a-z]+($|\/.*$)/)
	if (!m) {
	return false
	}
	m=m[m.length-1].split('?')
	var b=m[0].match(/^(\/[-0-9a-zA-Z%._,]*)*$/)
	if (!b) {
	return false
	}
	return true;
}
function show(arg)
{
	arg+='';
	g(arg).style.display='block';	
}
function hidden(arg)
{
	arg+="";
	g(arg).style.display='none';
	
}

function przeslij(){
	var send=parseInt(g('all_right').value);	
	if(send)
		return true;
	else
		return false;
}
function j_miesz(){
	spr_();
	if(wrong_text){
		alert('Text w mieszarce posiada błędy\n');
		g('all_right').value=0;
		return false;
	}
	g('all_right').value=1;
	return true;
}


/* ethbeg */

var help_e_div;
function hide_e_help()
{
	if (help_e_div) help_e_div.parentNode.removeChild(help_e_div);
	help_e_div=null;
}

function getXY(el)
{
	var x=0,y=0;
	for (;el;el=el.offsetParent) {
		x+=el.offsetLeft;
		y+=el.offsetTop;
	}
	return [x,y]
}

function show_e_help(el)
{
	hide_e_help();
	var txt=el.alt;
	if (!txt) return;
	txt=txt.split('\x0a')
	var vs=getXY(el);
	help_e_div=c('div','class','spaner','style','display:block;position:absolute;left:'+(vs[0]+30)+'px;top:'+vs[1]+'px');
	var h=c('h1');h.appendChild(t('Informacja'));help_e_div.appendChild(h);
	help_e_div.appendChild(c('b'));
	var i;
	for (i=0;i<txt.length;i++) {
		if (i>0) help_e_div.lastChild.appendChild(c('br'));
		help_e_div.lastChild.appendChild(t(txt[i]));
	}
	
	document.body.appendChild(help_e_div);
}

var e_helpers=[null,
'Artykuły z tego projektu zostaną dodane do różnych unikalnych\n(w różnych domenach) PresellPages',
'Tutaj wpisz nazwę domeny pozycjonowanej lub nazwę firmy',
'Pole do wprowadzania synonimu, z którego zostaną utworzone artykuły. Jeżeli używasz zwykłych artykułów pozostaw to pole puste. Mieszarka przyjmuje artykuły w postaci: "Tekst {Synonim 1| Synonim 2} tekst ...". Inne dopuszczalne znaki rozdzielające synonimy to: "/", "\\". Minimalna długość tekstu 10 tyś znaków, potrzebna do wygenerowania od 50 do 100 artykułów. ',
'Do każdego artykułu możesz dodać od 1 do 3 linków. Jeżeli pozostawisz wszystkie pola puste to program przyjmie, że linki wprowadziłeś bezpośrednio w treść tekstu do publikacji. Jeżeli chcesz dodać tylko 1 link to wypełniasz tylko pierwszą parę pól "link-słowo kluczowe". Z każdej pary "link-słowo kluczowe"zostanie utworzony <a\u00a0href="http://url1">słowo\u00a0kluczowe</a>. Program wyszukuje słowo kluczowe w tekście, jeżeli słowo znajdzie to je podlinkuje, jeżeli słowa nie znajdzie to wstawi losowo link w tekście. ',
'Do każdego artykułu możesz dodać od 1 do 3 linków. Jeżeli pozostawisz wszystkie pola puste to program przyjmie, że linki wprowadziłeś bezpośrednio w treść tekstu do publikacji. Jeżeli chcesz dodać tylko 1 link to wypełniasz tylko pierwszą parę pól "link-słowo kluczowe". Z każdej pary "link-słowo kluczowe"zostanie utworzony <a\u00a0href="http://url2">słowo\u00a0kluczowe</a>. Program wyszukuje słowo kluczowe w tekście, jeżeli słowo znajdzie to je podlinkuje, jeżeli słowa nie znajdzie to wstawi losowo link w tekście. ',
'Do każdego artykułu możesz dodać od 1 do 3 linków. Jeżeli pozostawisz wszystkie pola puste to program przyjmie, że linki wprowadziłeś bezpośrednio w treść tekstu do publikacji. Jeżeli chcesz dodać tylko 1 link to wypełniasz tylko pierwszą parę pól "link-słowo kluczowe". Z każdej pary "link-słowo kluczowe"zostanie utworzony <a\u00a0href="http://url3">słowo\u00a0kluczowe</a>. Program wyszukuje słowo kluczowe w tekście, jeżeli słowo znajdzie to je podlinkuje, jeżeli słowa nie znajdzie to wstawi losowo link w tekście. ',
'Kategoria, do której zostanie dodany Twój wpis. Jeżeli kategoria nie istnieje zostanie utworzona.',
'Każdy artykuł może mieć inny tytuł. Kolejne tytuły, które mają być użyte wprowadzasz oddzielając je znakiem "|". Możesz wprowadzić dowolną liczbę tytułów od 1 do n.',
'Tagi do których zostanie przypisana Twoja strona. Jeżeli tagi nie istnieją to zostaną utworzone.',
'Dzień, w którym artykuły z tego zestawu zostaną dodane. W przypadku ustawienia przyrostu (patrz następna opcja) będzie to dzień, w którym rozpocznie się dodawanie.',
'Ilość artykułów, które zostaną dodane w tym zestawie.',
'Do oddzielania artykułów użyj tagu <"tagend">. Pole pozostawiasz puste w przypadku dodawania artykułów synonimicznych. Ilość wprowadzonych artykułów musi się zgadzać z ilością artykułów do publikacji. Artykuły wprowadzasz na zasadzie Artykuł 1 <"tagend"> Artykuł 2 <"tagend"> .... Linki możesz wprowadzić bezpośrednio w artykule, tylko wtedy musisz pozostawić puste pary link - słowo kluczowe.',
'Domyślnie wszystkie artykuły zostaną opublikowane od razu. Jeżeli chcesz publikować artykuły co kilka dni po kilka sztuk, to musisz wprowadzić tutaj wartość co ile dni i po ile sztuk. Przykładowo jeśli chcesz opublikować 50 artykułów codziennie po 2 artykuły to wprowadzasz publikuj co 1 dzień po 2 artykuły.',
'Wybierz kategorię lub wprowadź nową',
'Służy do zwiększania ilości publikowanych artykułów o x sztuk, po y dniach od daty publikacji.'];


function htmlescape(str)
{
	function chax(a)
	{
		if (a=='"') return '&quot;';
		if (a=='<') return '&lt;';
		if (a=='>') return '&gt;';
		if (a=='&') return '&amp;';
		return a;
	}
	return str.replace(/[<>&"]/g,chax);
}


function create_e_helper(nr)
{
	var txt=e_helpers[nr];
	if (!txt) txt="Brak podpowiedzi";
	return '<img width="20" height="20" src="Q.png" style="border:0;display:inline;" alt="'+
		htmlescape(txt)+'" onmouseover="show_e_help(this);" onmouseout="hide_e_help();">'
}

