function myformhandler (myformname , myhandler, alertclass , mytinymce , mycallback ){
	var output;
	if(!alertclass){alertclass="formalert";}
	if(!mytinymce){mytinymce=false;}
	if(!mycallback){mycallback="";}
	var myquery = new FormData();
	myquery.append('myfirst',1);
	var myform=document.getElementById(myformname);
	var myoutputs=document.getElementsByClassName(alertclass);
	 //var myoutput2=document.getElementById("formalert2");
	for (i = 0; i < myoutputs.length; i++) {
	   myoutputs[i].innerHTML ='<img src="/upload/system/ajax-loader.gif" alt="loading">';
	}

//remove alert
	var allAlerts=myform.getElementsByClassName("sendalert");
	
	while (allAlerts.length > 0) {allAlerts[0].parentNode.removeChild( allAlerts[0] );}
	//while (allAlerts.length > 0) {allAlerts[0].remove();}
	
	//get for elements
	var myformelement=myform.elements;
	var myrequired=0;
	for(var i=0;i<myformelement.length;i++){
		var myelementType = myformelement[i].getAttribute("type");
		var myelementName = myformelement[i].getAttribute("name");
		var myelementholder = myformelement[i].getAttribute("placeholder");
		var myelementValue = myformelement[i].value;
		if(myelementType!=="button"){
			
			if (myelementValue===""&&myformelement[i].required){
					var myalert = document.createElement("span");
					myalert.classList.add("sendalert");
					var t = document.createTextNode("لطفا "+myelementholder+" را وارد نمایید");
					myalert.appendChild(t);
					myformelement[i].setAttribute("style", "border: 1px solid red !important;");
					//myformelement[i].after(myalert);
					insertAfter(myformelement[i],myalert);
					myrequired++;
				}else if((myelementType==="checkbox" || myelementType==="radio")&&!myformelement[i].checked){
					
				}else if(myelementType==="file"){	
					myquery.append('file', myformelement[i].files[0]);
				}else {
					myquery.append(myelementName,myelementValue);
				}												
		   }			
	}
	if(myrequired!==0){
		for (i = 0; i < myoutputs.length; i++) {
			myoutputs[i].innerHTML ='<span class="formalertinner">لطفا اشکالات پیش آمده را رفع نمایید</span>';
		}
		
	}
	if(myrequired===0){
		var xhttp;
		if (window.XMLHttpRequest) {
			// code for modern browsers
			xhttp = new XMLHttpRequest();
		} else {
			// code for old IE browsers
			xhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		/*
		//add this <progress id="progress" value="0"></progress>
		var progressBar = document.getElementById("progress")
		xhttp.upload.onprogress = function (e) {
			if (e.lengthComputable) {
				progressBar.max = e.total;
				progressBar.value = e.loaded;
			}
		}
		xhttp.upload.onloadstart = function (e) {
			progressBar.value = 0;
		}
		xhttp.upload.onloadend = function (e) {
			progressBar.value = e.loaded;
		}
		*/
		xhttp.onreadystatechange = function() {
			if (this.readyState === 4 && this.status === 200) {
				var items =JSON.parse(this.responseText);
				if (!items.success){
					var myerrors=items.errors;
					for (var myfilederror in myerrors) {
						var newformname	=myformelement.namedItem(myfilederror);
						var myalert = document.createElement("span");
						myalert.classList.add("sendalert");
						var t = document.createTextNode(myerrors[myfilederror]);
						myalert.appendChild(t);
						newformname.setAttribute("style", "border: 1px solid red !important;");
						//newformname.after(myalert);
						insertAfter(newformname,myalert);
					}	
					output='<span class="formalertinner">'+items.message+'</span>';					
				}else if(items.success===true){
					
					if(mycallback!==""){
						mycallback();
					}
					
					if(items.newform){
						myform.parentNode.innerHTML=items.newform; 
					}
					
					if(items.newurl){
						history.pushState(null, null, items.newurl); 
					}
					
					//tinymce
				//if (typeof tinymce !== 'undefined'&& mytinymce) {
				if (mytinymce) {	
					tinymce.remove();
					tinymce.init({
					selector: "textarea.editme",
					//language : "fa",
					menubar : false,
					branding: false,
					convert_urls: false,
					image_title: true,
					entity_encoding : "raw",
					image_caption: true,
					image_dimensions: false,
					contextmenu: "",

					directionality : "rtl",
					content_css : "/admin/components/editors/tinymce/themes/custom/customstyle.css",

					plugins: ["contextmenu code link autoresize autolink nonbreaking paste image media hr charmap wordcount visualblocks searchreplace fullscreen nonbreaking table directionality textcolor colorpicker lists toc"],
					toolbar: [
				"advlist undo redo | link unlink image media table | bold italic underline strikethrough | forecolor backcolor | charmap hr removeformat visualblocks searchreplace fullscreen nonbreaking",
				"alignleft aligncenter alignright alignjustify | formatselect fontsizeselect | bullist numlist outdent indent blockquote ltr rtl | code | toc"
					],
					toc_depth: 3,
					//autoresize_max_height: 500,
					max_height: 600,
					setup: function (editor) {
						editor.on('change', function () {
							tinymce.triggerSave();
						});
					}
				});
				}//tinymce
					
				output='<span class="formalertinner">'+items.message+'</span>';	
				}
				
				for (i = 0; i < myoutputs.length; i++) {
					myoutputs[i].innerHTML =output;
				}
				
			}
		};

		xhttp.open("POST", myhandler, true);
		xhttp.send(myquery);
	}				
}
function myhttpGet(theUrl,myresponse){
	var xhttp;
	if(!myresponse){myresponse="";}
	if (window.XMLHttpRequest) {
			// code for modern browsers
			xhttp = new XMLHttpRequest();
		} else {
			// code for old IE browsers
			xhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		if(myresponse!==""){
			var myoutput=document.getElementById(myresponse);	
			myoutput.innerHTML ='<img src="/upload/system/ajax-loader.gif" alt="loading">';
		}
		xhttp.onreadystatechange = function() {
			if (this.readyState === 4 && this.status === 200) {
				var items =JSON.parse(this.responseText);
				if(myresponse!==""){
				myoutput.innerHTML =items.message;
				}	
			}
		};
		xhttp.open("GET", theUrl, true);
		xhttp.send();
}

function insertAfter(referenceNode, newNode) {
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

function myvideocontrol(videoid){
    var myvideo = document.getElementById(videoid);
    if (myvideo.paused === true) {
         myvideo.play();
    }   
}    

function addInput(item,name,comment){
    var myname=document.getElementById('replytoname');
	if(document.getElementsByName("replyto").length==0){
		var newdiv = document.createElement('input');
		newdiv.setAttribute("name","replyto");
		newdiv.setAttribute("type","hidden");
		newdiv.setAttribute("value",item);
		newdiv.setAttribute("id","replyto");
		document.getElementById("comment-form").appendChild(newdiv);
		myname.innerHTML ='<span class="alert-info p-3 d-block">پاسخ به '+name+'</span><span class="alert-info p-3 pt-0 d-block">'+comment+'</span>';
	}
	else if(document.getElementById("replyto").value!==item){
		document.getElementById("replyto").value=item;
		myname.innerHTML ='<span class="alert-info p-3 d-block">پاسخ به '+name+'</span><span class="alert-info p-3 pt-0 d-block">'+comment+'</span>';
	}
var ele = document.getElementById("comment-form");   
//window.scrollTo(myname.offsetLeft,myname.offsetTop);
ele.scrollIntoView(true);
}
/*
function adrge(tourutl1,tourutl2,tourutl3) {
	var readr = '/'+tourutl1+'/' + tourutl2;
	if (typeof tourutl3 !== 'undefined') {
    readr =readr+'/'+'page'+'/'+tourutl3;
	}
    window.location.assign(readr);
}
*/