
var PFRequest = getXMLHttpRequestObject();
var OnTime;

function getXMLHttpRequestObject()
	{
	var xmlobj;
	// check for existing requests
	if(xmlobj!=null&&xmlobj.readyState!=0&&xmlobj.readyState!=4)
		{
		xmlobj.abort();
		}
	try
		{
		// instantiate object for Mozilla, Nestcape, etc.
		xmlobj=new XMLHttpRequest();
		}
	catch(e)
		{
		try
			{
			// instantiate object for Internet Explorer
			xmlobj=new ActiveXObject('Microsoft.XMLHTTP');
			}
		catch(e)
			{
			// Ajax is not supported by the browser
			xmlobj=null;
			return false;
 			}
		}
	return xmlobj;
	}

function state_Change(dids)
{
	if(PFRequest.readyState == 4)
	{
		document.getElementById(dids).innerHTML=PFRequest.responseText;
	}
	/*
	alert('degismek uzere');
	document.getElementById(dids).innerHTML=PFRequest.responseText;
	alert('degisti');
	*/
}


function ajaxstatus(location,ids,showItem)
{
	//alert(location +"&item=" + document.getElementById(ids).value);

	PFRequest.open("GET", ""+ location +"?item=" + document.getElementById(ids).value +"", true);

	PFRequest.onreadystatechange= function ()
		{
			state_Change(showItem);
		}

	
	PFRequest.send(null);
}

function gulumse(location,id,showItem)
{
	//alert(location +"&item=" + document.getElementById(ids).value);
	 var date = new Date();
    var timestamp = date.getTime();
	PFRequest.open("GET", "ajax/gulumse.php?id=" + id +"&time=" + timestamp , true);
	

	PFRequest.onreadystatechange= function ()
		{
			state_Change_gulumse(showItem);
		}

	
	PFRequest.send(null);
}

function favori(location,id,showItem)
{
    var date = new Date();
    var timestamp = date.getTime();
	PFRequest.open("GET", "ajax/favori.php?id=" + id +"&time=" + timestamp, true); 
	

	PFRequest.onreadystatechange= function ()
		{
			state_Change_favori(showItem);
		}

	
	PFRequest.send(null);
}
function engelle(location,id,showItem)
{
    var date = new Date();
    var timestamp = date.getTime();
	PFRequest.open("GET", "ajax/engelle.php?id=" + id +"&time=" + timestamp, true); 
	

	PFRequest.onreadystatechange= function ()
		{
			state_Change_engelle(showItem);
		}

	
	PFRequest.send(null);
}
function state_Change_favori(dids)
{
	if(PFRequest.readyState == 4)
	{  
		var donen=PFRequest.responseText;
		
		if(donen==1){
			
			document.getElementById('favori'+dids).innerHTML="&nbsp;Eklendi";
			document.getElementById('favori_icon'+dids).innerHTML="&nbsp;<img src='images/favori2.jpg' border=0>";
		}
		else if(donen==0){
			
			document.getElementById('favori'+dids).innerHTML="&nbsp;Çıkarıldı";
			document.getElementById('favori_icon'+dids).innerHTML="&nbsp;<img src='images/favori1.jpg' border=0>";
		}
	       
		
	}
	/*
	alert('degismek uzere');
	document.getElementById(dids).innerHTML=PFRequest.responseText;
	alert('degisti');
	*/
}
function state_Change_engelle(dids)
{
	if(PFRequest.readyState == 4)
	{  
		var donen=PFRequest.responseText;
		
		if(donen==1){
	
			document.getElementById('engelle'+dids).innerHTML="&nbsp;Engellendi";
			document.getElementById('engelle_icon'+dids).innerHTML="<img src='images/engelle2.jpg' border=0>";
		}
		else if(donen==0){
	
			document.getElementById('engelle'+dids).innerHTML="&nbsp;Engel kaldırıldı";
			document.getElementById('engelle_icon'+dids).innerHTML="<img src='images/engelle1.jpg' border=0>";
		}
	       
		
	}
	/*
	alert('degismek uzere');
	document.getElementById(dids).innerHTML=PFRequest.responseText;
	alert('degisti');
	*/
}

function state_Change_gulumse(dids)
{
	if(PFRequest.readyState == 4)
	{  
		var donen=PFRequest.responseText;
	
		
		if(donen==1)
		{   
		   document.getElementById("gulumse"+dids).innerHTML="<img src='images/temp/gulumsendi.gif' border=0>";
	       document.getElementById("gulumse_yazi"+dids).innerHTML="Gülümsediniz.";
		}
	}
	/*
	alert('degismek uzere');
	document.getElementById(dids).innerHTML=PFRequest.responseText;
	alert('degisti');
	*/
}

function passConfirm(location,ids,ids2,showItem)
{
	PFRequest.open("GET", ""+ location +"&item=" + document.getElementById(ids).value +"&value=" + document.getElementById(ids2).value +"", true);

	PFRequest.onreadystatechange= function ()
		{
			state_Change(showItem);
		}

	PFRequest.send(null);
}

function vbRun(location)
{
	PFRequest.open("GET",location, true)
	PFRequest.send(null);
}

// INITIALIZE REFRESH
function UpdateSectionBullets (rURL, rSeconds, rTheme)
	{
	var RefreshRequest = getXMLHttpRequestObject();
	var RefreshURL = rURL;
	var RefreshSeconds = rSeconds;
	var Theme = rTheme;
	getSBData(RefreshRequest, RefreshURL, RefreshSeconds, Theme);
	}


// GET POST FORM DATA
function getSBData(PassedRequest, rURL, rSeconds, rTheme) 
	{
	var RefreshRequest = PassedRequest;
	var RefreshURL = rURL;
	var RefreshSeconds = rSeconds;
	var Theme = rTheme;
	//alert("test");
	if (RefreshRequest.readyState == 4 || RefreshRequest.readyState == 0) 
		{
		RefreshRequest.open("GET", RefreshURL + '/ajaxdata.php?type=sectionbullets&theme=' + Theme, true);
		//alert ("test"+RefreshURL + '/ajaxdata.php?type=sectionbullets');
		RefreshRequest.onreadystatechange = function ()
			{
			handleSBData(RefreshRequest, RefreshURL, RefreshSeconds, Theme);
			} 
		RefreshRequest.send(null);
		}			
	}


// HANDLE REFRESH
function handleSBData(PassedRequest, rURL, rSeconds, rTheme) 
	{
	var RefreshRequest = PassedRequest;
	var RefreshURL = rURL;
	var RefreshSeconds = rSeconds;
	var Theme = rTheme;
	if (RefreshRequest.readyState == 4) 
		{
		var ResponseData = RefreshRequest.responseText;
		//document.write(ResponseData
		var DataArray = ResponseData.split('|');
		//alert("testing:"+ResponseData);
		for (i=0; i < DataArray.length; i++)
			{
			//document.write("test");
			var EachPair = DataArray[i].split("=");
			var SectionID = EachPair[0];
			var ImgURL = EachPair[1];
			var SectionBulletID = "SectionBullet" + SectionID;
			if (document.getElementById(SectionBulletID))
				{
				//document.write(ImgURL);
				document.getElementById(SectionBulletID).src = ImgURL;
				}
			}
		RefreshTime = setTimeout( function()
			{
			getSBData(RefreshRequest, RefreshURL, RefreshSeconds, Theme);
			}
		,(RefreshSeconds * 1000));
		}
	}



// INITIALIZE POST FORM
function InitializePF (HomeDirPath, ArgItemID, ArgIDType, ArgBoA)
	{
	//document.write(ArgItemID);
	var BaseDir = HomeDirPath;
	var ItemID = ArgItemID;
	var IDType = ArgIDType;
	var BoA = ArgBoA;
	getPFData(BaseDir, ItemID, IDType, BoA);
	}


// GET POST FORM DATA
function getPFData(HomeDirPath, ArgItemID, ArgIDType, ArgBoA) 
	{
	//document.write(ArgItemID);
	var ThisID = ArgItemID;
	var ThisType = ArgIDType;
	var BoA = ArgBoA;
	if (PFRequest.readyState == 4 || PFRequest.readyState == 0) 
		{
		// EDITING A POST
		if (ThisType == 'pid')
			{
			var urlIDType = 'pid';
			var IsAQuote = "ignore";
			var IsAQuoteURL = '';
			var WhatToChange = 'POST' + ThisID;
			}
		// QUOTING A POST
		else if (ThisType == 'pidq')
			{
			var urlIDType = 'pid';
			var IsAQuoteURL = "&quote=1";
			var IsAQuote = '1';
			var WhatToChange = 'POST' + ThisID;
			}
		// ADDING A POST
		else
			{
			var urlIDType = 'id';
			var IsAQuote = "ignore";
			var IsAQuoteURL = '';
			var WhatToChange = 'Post_Form_Area';
			}
		PFRequest.open("GET", HomeDirPath + '/ajaxdata.php?type=postform&' + urlIDType + '=' + ThisID + IsAQuoteURL, true);
		PFRequest.onreadystatechange = function ()
			{
			handlePFData(WhatToChange, IsAQuote, 'ignore', BoA);
			}
		PFRequest.send(null);
		}			
	}


// HANDLE THE POST FORM DATA
function handlePFData(DivToChange, IsQuoted, Collapse, BoA) 
	{
	if (PFRequest.readyState == 4) 
		{
		var PostFormArea = document.getElementById(DivToChange);
		if (Collapse != 'ignore')
			{
			//document.write('test');
			var PostItem = document.getElementById('PostFormSurround');
			PostItem.innerHTML = '';
			}
		if (IsQuoted != 'ignore')
			{
			if (BoA == '0')
				{
				PostFormArea.innerHTML = PFRequest.responseText + PostFormArea.innerHTML;
				}
			else
				{
				PostFormArea.innerHTML += PFRequest.responseText;
				}
			}
		else
			{
		//document.write(DivToChange + "---" + IsQuoted + "---" + Collapse);
			PostFormArea.innerHTML = PFRequest.responseText;
			}
		}
	}


function ProcessPFData (BaseDir, PassItemID, ArgIDType, IsQuoteProcess)
	{
	var ThisID = PassItemID;
	var ThisType = ArgIDType;
	if (IsQuoteProcess != '1')
		{
		var IsQuoteProcess = '0';
		}
	//document.write(BaseDir + "---" + ThisID + "---" + ThisType);
	if (PFRequest.readyState == 4 || PFRequest.readyState == 0) 
		{
		if (ThisType == 'pid')
			{
			var urlIDType = 'pid';
			var CollapseID = 'ignore';
			var WhatToChange = 'POST' + ThisID;
			}
		else if (ThisType == 'pidq')
			{
			var urlIDType = 'id';
			var CollapseID = 'ignore';
			var WhatToChange = 'POST' + ThisID;
			}
		// USED WHEN HANDLING ADDING A QUOTED POST
		else if (IsQuoteProcess == '1')
			{
			//document.write(ArgIDType);
			var urlIDType = 'id';
			var CollapseID = '1';
			var WhatToChange = 'Post_Form_Area';
			}
		else
			{
			var urlIDType = 'id';
			var CollapseID = 'ignore';
			var WhatToChange = 'Post_Form_Area';
			}
		PFRequest.open("POST", BaseDir + '/ajaxdata.php?type=postform&' + urlIDType + '=' + ThisID, true);
		PFRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		var PostForm = document.getElementById('PostForm');
		var PostQuery = MakeQueryString(PostForm);
		PFRequest.send(PostQuery);
		PFRequest.onreadystatechange = function()
			{
			handlePFData(WhatToChange, 'ignore', CollapseID);
			}
		}
	}



// INITIALIZE REFRESH
function InitializeRefresh (rURL, rSeconds, rDiv)
	{
	var RefreshRequest = getXMLHttpRequestObject();
	//BaseDir = HomeDirPath;
	var RefreshURL = rURL;
	var RefreshSeconds = rSeconds;
	var DivElement = rDiv;

	setTimeout( function()
		{
		getRefreshData(RefreshRequest, RefreshURL, RefreshSeconds, DivElement);
		}
	,(RefreshSeconds * 1000));

	//getRefreshData(RefreshRequest, RefreshURL, RefreshSeconds, DivElement);
	}

// GET POST FORM DATA
function getRefreshData(PassedRequest, rURL, rSeconds, rDiv) 
	{

	var RefreshRequest = PassedRequest;
	var RefreshURL = rURL;
	var RefreshSeconds = rSeconds;
	var DivElement = rDiv;
	if (RefreshRequest.readyState == 4 || RefreshRequest.readyState == 0) 
		{
		RefreshRequest.open("GET", RefreshURL, true);
		RefreshRequest.onreadystatechange = function ()
			{
			handleRefreshData(RefreshRequest, RefreshURL, RefreshSeconds, DivElement);
			} 
		RefreshRequest.send(null);
		}			
	}


// HANDLE REFRESH
function handleRefreshData(PassedRequest, rURL, rSeconds, rDiv) 
	{
	var RefreshRequest = PassedRequest;
	var RefreshURL = rURL;
	var RefreshSeconds = rSeconds;
	var DivElement = rDiv;
	if (RefreshRequest.readyState == 4) 
		{
		var DivName = document.getElementById(DivElement);
		ResponseData = RefreshRequest.responseText;
		if (DivElement == 'NewMessage')
			{
			if (ResponseData == '1')
				{
				opacity('InboxButton','0','100','3000','1');
				}
			}
		else
			{
			DivName.innerHTML = ResponseData;
			}
		RefreshTime = setTimeout( function()
			{
			getRefreshData(RefreshRequest, RefreshURL, RefreshSeconds, DivElement);
			}
		,(RefreshSeconds * 1000));
		}
	}


function MakeQueryString(formname) {
    var str = "";
    var element, i = 0;
    while ((element = formname.elements[i++]) != null) {
        var qc = MakeQueryElement(element);
        if (qc != "") str += "&" + qc;
    }
    return str.substring(1);
}


function MakeQueryElement(input) {
    if (!input.name || input.disabled)
        return "";

    var n = urlencode(input.name);

    switch (input.type) {
    case "text":
    case "password":
    case "submit":
    case "hidden":
        return n + "=" + urlencode(input.value);
    case "textarea":
        // normalize line breaks as CR LF pairs as per RFC 1866
        

	// OLD METHOD ---> var v = input.value.split(/\r\n|\r|\n/).join("\r\n");
	// RECOMMENDED FIX --->

	var v = input.value.replace(/(\r\n)|\r|\n/g, "\r\n");

        return n + "=" + urlencode(v);
    case "checkbox":
    case "radio":
        if (!input.checked)
            return "";
        var v = getRealValue(input);
        if (v === null) v = "on";
        return n + "=" + urlencode(v);
    case "select-one":
    case "select-multiple":
        var nvp = [];
        var opt, i = 0;
        while ((opt = input.options[i++]) != null) {
            if (opt.selected) {
                var v = getRealValue(opt);
                if (v === null) v = opt.text;
                // older versions of IE do not support Array.push
                nvp[nvp.length] = n + "=" + urlencode(v);
            }
        }
        return nvp.join("&");
    default:
        // input types reset, button, image, and file not implemented
        return "";
    }
}

function urlencode(str) {
    var v;
    try { v = encodeURIComponent(str); } catch (e) { v = escape(str); }
    return v.replace(/%20/g,"+");
}

function getRealValue(input) {
    var attr = input.getAttributeNode("value");
    return (attr && attr.specified) ? input.getAttribute("value") : null;
}



