(function(w,d){
	"use strict";
	const _cll = e => { return d.getElementsByClassName(e) }
	const _id = e => { return d.getElementById(e) }
	const _cre = e => { return d.createElement(e) }
	const _tag = e => { return d.getElementsByTagName(e) }
	const cfp_init = () => {
		Array.from(_cll('cfp_dl')).forEach(a=>{
			if(a.getAttribute('data-src')){
				a.addEventListener('click',cfp_dl);
			}else{
				console.log('CFP error : some a tag dont have src');
			}
		});
		cfp_remove_empty_ps();
		console.log('CFP loaded');
	};
	const cfp_remove_empty_ps = () => {
		let cb = _cll('g1-content-narrow');
		if(!cb.length){
			return false;
		}
		Array.from(cb).forEach(content_base=>{
			Array.from(content_base.getElementsByTagName('p')).forEach(p=>{
				let pi = p.innerHTML.toString().replace(/ /g,'').trim().replace(/\s/g, '').replace('&nbsp;','');
				if(!pi.length){
					p.parentNode.removeChild(p);
				}
			});
		});
	};
	const cfp_lb_bc = e => {
		let t = e.target;
		if(!t){
			return false;
		}
		let c = Array.from(t.classList);
		if(c.includes('cfp_cc')&&_id('cfp_lb')){
			_id('cfp_lb').classList.add('cfp_hidden');
		}
	};
	const cfp_gen_temp = () => {
		if(!_id('cfp_lb')){
			let cfp_lb = _cre('div');
			cfp_lb.id = 'cfp_lb';
			cfp_lb.classList.add('cfp_hidden');
			cfp_lb.classList.add('cfp_lb');
			cfp_lb.classList.add('cfp_cc');
			let cfp_d1 = _cre('div');
			cfp_d1.classList.add('cfp_d1');
			let cfp_form_base = _cre('div');
			cfp_form_base.classList.add('cfp_form_base');
			cfp_d1.appendChild(cfp_form_base);
			let cfp_form_close = _cre('button'); 
			cfp_form_close.classList.add('cfp_form_close');
			cfp_form_close.classList.add('cfp_cc');
			cfp_form_close.innerHTML = 'x';
			cfp_form_base.appendChild(cfp_form_close);
			let cfp_form_res = _cre('div');
			cfp_form_res.classList.add('cfp_form_res');
			cfp_form_base.appendChild(cfp_form_res);
			cfp_lb.appendChild(cfp_d1);
			d.body.insertBefore(cfp_lb,d.body.firstChild);
			_id('cfp_lb').onclick = cfp_lb_bc;
		}
	};
	const cfp_dl = (e) => {
		let src = e.target.getAttribute('data-src') || false;
		if(!src){
			alert('Download Error');
			return false;
		}
		let ajaxurl = location.origin+'/wp-admin/admin-ajax.php';
		e.target.disabled = true;
		let cfp_data = new FormData();
		cfp_data.append('action','cfp_dl');
		cfp_data.append('file',src);
		fetch(ajaxurl,{
			method:'POST',
			credentials: 'same-origin',
			body:cfp_data
		}).then(r=>{
			e.target.disabled = false;
			r.json().then(res=>{
				cfp_gen_temp();
				if(!res.uid){
					_id('cfp_lb').classList.remove('cfp_hidden');
					if(res.html){
						_id('cfp_lb').getElementsByClassName('cfp_form_res')[0].innerHTML = res.html;
					}
				}else if(res.error){
					alert(res.error);
				}else if(res.pass&&res.c1&&res.c2){
					let dd = +new Date();
					window.open(res.c1+'&vx='+res.c2+'&dd='+dd,'_blank');
				}else if(!res.pass){
					_id('cfp_lb').classList.remove('cfp_hidden');
					_id('cfp_lb').getElementsByClassName('cfp_form_res')[0].innerHTML = res.html;
					
				}
			});
		}).catch(e=>{
			e.target.disabled = false;
			alert('Download Error');
			console.log(e);
		});
	};
	w.addEventListener('load',cfp_init);
})(window,document);