var sending = 0;

function el( element_id ) /// element
{
	return document.getElementById( element_id );
}






 function Trim(TRIM_VALUE)
 {
 	if(TRIM_VALUE.length < 1){ return""; }
 	TRIM_VALUE = RTrim(TRIM_VALUE);
 	TRIM_VALUE = LTrim(TRIM_VALUE);
 	 if(TRIM_VALUE==""){ return ""; } else{ return TRIM_VALUE; }
  }

  function RTrim(VALUE){
  	var w_space = String.fromCharCode(32);
  	var w_newline = String.fromCharCode(10);
  	var v_length = VALUE.length;
  	var strTemp = ""; 
  	if(v_length < 0){ return""; }
  	var iTemp = v_length -1;
  	while(iTemp > -1){ 
  		if(VALUE.charAt(iTemp) == w_space || VALUE.charAt(iTemp) == w_newline){}
  		else{ strTemp = VALUE.substring(0,iTemp +1); break; } 
  		iTemp = iTemp-1; }
  		return strTemp; }

  	function LTrim(VALUE){
  		var w_space = String.fromCharCode(32);
  	    var w_newline = String.fromCharCode(10);
  		if(v_length < 1){ return""; }
  		var v_length = VALUE.length; 
  		var strTemp = "";
  		var iTemp = 0;
  		while(iTemp < v_length){ if(VALUE.charAt(iTemp) == w_space || VALUE.charAt(iTemp) == w_newline){} 
  		else{ strTemp = VALUE.substring(iTemp,v_length);
  		break; }
  		iTemp = iTemp + 1; } return strTemp;
  	 }
  	 


function createRequest()
    {
        var a_new_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            a_new_request = new XMLHttpRequest();
            if (a_new_request.overrideMimeType) {
                a_new_request.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                a_new_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    a_new_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        
        return a_new_request;
    }
    

function load(contenttype,id)
{
	ajaxForLoad = createRequest();	
	
	var reqType = typeof(ajaxForLoad);
	if ( reqType != 'object' ) { alert('برای استفاده از پالپ تاک لطفا جاوا اسکریپت را روی مرورگر خود فعال نمایید.'); return false; }
	
	showSubPage('wait_div',0);
	
	ajaxForLoad.onreadystatechange = function() { verifyLoadReturnedValue( ajaxForLoad ); }

	actionpage = 'get-'+contenttype+'.php?id='+id;
	ajaxForLoad.open('GET',actionpage,true);
	ajaxForLoad.send(null);
	
	return false;
}
    
    
function verifyLoadReturnedValue( http_req )
{
	if (http_req.readyState == 4) {
		if (http_req.status == 200) {

			var t = http_req.responseText;
			el('maincontent').innerHTML = '';
			el('maincontent').innerHTML = t;
			setTimeout("hideSubPage('wait_div',0);",100);
		}
	}
}




function ajaxComment()
{
	var cname = encodeURIComponent ( Trim( el('cname').value ) );
	var cemail = encodeURIComponent ( Trim(el('cemail').value ) );
	var cweb = encodeURIComponent ( Trim( el('cweb').value ));
	var ctxt = encodeURIComponent ( Trim( el('ctxt').value ) );
	var postid = el('postid').value;

	if( cname.length<1 || ctxt.length<1 )
	{
		alert("برای ثبت نظر، وارد کردن نام و نظر اجباری است.");
		return false;
	}
	
	ajaxForComment = createRequest();	
	
	var reqType = typeof(ajaxForComment);
	if ( reqType != 'object' ) { alert('برای استفاده از پالپ تاک لطفا جاوا اسکریپت را روی مرورگر خود فعال نمایید.'); return false; }
	
	showSubPage('wait_div',0);
	
	ajaxForComment.onreadystatechange = function() { verifyCommentReturnedValue( ajaxForComment ); }

	actionpage = 'add-comment.php';
	var q = 'postid='+postid+'&cname='+cname+'&cemail='+cemail+'&cweb='+cweb+'&ctxt='+ctxt;
	
	//alert(q);
	
	ajaxForComment.open('POST',actionpage,true);
	ajaxForComment.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajaxForComment.send(q);
	return false;
}

function ajaxPulpComment( sendit )
{
	var cname = encodeURIComponent( Trim( el('cname').value ) );
	var cemail = encodeURIComponent( Trim(el('cemail').value ) );
	var cweb = encodeURIComponent( Trim( el('cweb').value ));
	var inviz = 0;
	if( el('inviz').checked )
	{
		inviz = 1;
	}

	
	if( sendit == 1 )
	{
		sending = 1;
		var ctxt = encodeURIComponent( Trim( el('ctxt').value ) );
	}
	else
	{
		var ctxt = '';
	}
	
	var postid = el('postid').value;
	
	var nn = el('nn').innerHTML;

//	if( cname.length<1 || ctxt.length<1 )
//	{
//		alert("برای ثبت نظر، وارد کردن نام و نظر اجباری است.");
//		return false;
//	}
	
	ajaxForComment = createRequest();	
	
	
	
	var reqType = typeof(ajaxForComment);
	if ( reqType != 'object' ) { alert('برای استفاده از پالپ تاک لطفا جاوا اسکریپت را روی مرورگر خود فعال نمایید.'); return false; }
	
	el('waitbox').innerHTML = '';
	el('waitbox').innerHTML = '<div style="color:white; background-color:#ff6633; padding:3px;">چند لحظه صبر کن ازیز...</div>';
	
	ajaxForComment.onreadystatechange = function() { verifyPulpCommentReturnedValue( ajaxForComment , sendit ); }

	actionpage = 'add-pulp-comment.php';
	var q = 'nn='+nn+'&postid='+postid+'&cname='+cname+'&cemail='+cemail+'&cweb='+cweb+'&ctxt='+ctxt+'&inviz='+inviz;
	
	//alert(q);
	
	ajaxForComment.open('POST',actionpage,true);
	ajaxForComment.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajaxForComment.send(q);
	return false;
}

function verifyCommentReturnedValue( http_req )
{
	if (http_req.readyState == 4) {
		if (http_req.status == 200) {

			var t = http_req.responseText;
			
			
			var newCommentsDiv = el('new_comments_container').getElementsByTagName("div");
			var ln = newCommentsDiv.length;

			newCommentsDiv[ln-1].innerHTML = '';
			newCommentsDiv[ln-1].innerHTML = t;
			el('ctxt').value = '';
			
			setTimeout("hideSubPage('wait_div',0);",100);
		}
	}
}


function verifyPulpCommentReturnedValue( http_req , sendit )
{
	if (http_req.readyState == 4) {
		if (http_req.status == 200) {
			
			var ret = http_req.responseText.split('_,FN,_');
			
			if( ret[2] != 'undefined' )
			{
			
			var newCommentsDiv = el('new_comments_container').getElementsByTagName("div");
			var ln = newCommentsDiv.length;
			
	//		alert( http_req.responseText );

			newCommentsDiv[ln-1].innerHTML = '';
			newCommentsDiv[ln-1].innerHTML = ret[1];
			
			el('nn').innerHTML = '';
			el('nn').innerHTML = ret[0];
			
			if( sendit == 1 )
			{
				el('ctxt').value = '';
				sending = 0;
			}
			
			el('online').innerHTML = '';
			el('online').innerHTML = ret[2];
			
			el('people').innerHTML = '';
			el('people').innerHTML = ret[3];
			}
			
			el('waitbox').innerHTML = '';
			
			if(ret[4]=='1')
			{
				alert("آخ جون! پالپ پست جدید زده... بدو برو تو کامنتدونی پست جدید شاید اول شی به امید خدا.");
			}
		}
	}
}

function answerTo(num,name) 
{
	if( confirm("به همراه متن کامنت؟") )
	{
		var said = el('p_'+num).innerHTML;
		said = Trim( said );
		said = said.replace(/\<br\>/gi , " ");
		said = said.replace(/\<br \/\>/gi , " ");
		said = said.replace(/\<br\/\>/gi , " ");

		var addtxt = '<i>در جواب ' + name + ' که گفت:</i><blockquote>' + said + '</blockquote>';
	}
	else
	{
		var addtxt = '<i>در جواب ' + name + ':</i>';
	}
	
	var cur = el('ctxt').value;
	var cur2 = Trim( cur );
	
	if( cur2.length == 0 )
	{
		var newtxt = addtxt + '\n';
	}
	else
	{
		var newtxt = cur2 + '\n' + addtxt + '\n';
	}
	
	el('ctxt').value = newtxt;
}
	
	 

function author(authorid)
{
	window.open( 'author.php?authorid='+authorid ,'','menubar=no,scrollbars=yes,toolbar=no,location=no,width=450,height=550');
}



function showSubPage(div_id , i)
{
	var pwidth = getWindowDims(true,false);
	var pheight = getWindowDims(false,true);
	
	var pleft = 0;
	var ptop = 0;
	
	var dwidth = getElementWidth(div_id);
	var dheight = getElementHeight(div_id);
	
	
	var dleft = pleft + pwidth/2 - (dwidth/2);
	var dtop = ptop + pheight/2 - (dheight/2);


	el(div_id).style.top = dtop+'px';
	el(div_id).style.left = dleft+'px';
	el('effect').style.display = 'none';
	el(div_id).style.visibility = 'visible';
}


function hideSubPage( div_id , i )
{
	dwidth = getElementWidth(div_id);
	dheight = getElementHeight(div_id);
	dleft = getElementLeft(div_id);
	dtop = getElementTop(div_id);	
	el(div_id).style.visibility = 'hidden';
	el('effect').style.display = 'block';
	
	var grow_x = dwidth / 20;
	var grow_y = dheight / 20;
	
	el('effect').style.width= ((20-i) * grow_x) + 'px';
	el('effect').style.height= ( (20-i) * grow_y) + 'px';
	el('effect').style.left = ( dleft+ (dwidth/2) - ( (20-i)*grow_x /2) ) + "px";
	el('effect').style.top = dtop + "px";
	
	if( i >= 19)
	{
		el('effect').style.display = 'none';
	}
	else
	{
		i++;
		var x = "hideSubPage('"+div_id+"',"+i+")";
		setTimeout(x,1);
	}
}

function getWindowDims(getWid,getHei)
{
var x,y;
if (self.innerHeight) // all except Explorer
{
	x = self.innerWidth;
	y = self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict Mode
{
	x = document.documentElement.clientWidth;
	y = document.documentElement.clientHeight;
}
else if (document.body) // other Explorers
{
	x = document.body.clientWidth;
	y = document.body.clientHeight;
}
if(getWid)
{
	return x;
}
else
{
	return y;
}
}

function getElementWidth(Elem) {
	var elem = el(Elem);
	xPos = elem.offsetWidth;
	return xPos;
}

function getElementHeight(Elem) {
	var elem = el(Elem);
	yPos = elem.offsetHeight;
	return yPos;
}

function getElementLeft(Elem) {
	var elem = el(Elem);
	xPos = elem.offsetLeft;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		xPos += tempEl.offsetLeft;
		tempEl = tempEl.offsetParent;
		}
		return xPos;
}	

function getElementTop(Elem) {
	var elem = el(Elem);
	yPos = elem.offsetTop;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		yPos += tempEl.offsetTop;
		tempEl = tempEl.offsetParent;
		}
		return yPos;
}

function showComments()
{
	var stat = el('commentsdiv').style.display;
	if( stat != 'block' )
	{
		el('commentsdiv').style.display = 'block';
	}
	else
	{
		el('commentsdiv').style.display = 'none';
	}
}