﻿
var ua = navigator.userAgent.toLowerCase();

var is_opera = ((ua.indexOf('opera') != -1) || (typeof(window.opera) != 'undefined'));

var is_saf = ((ua.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));

var is_webtv = (ua.indexOf('webtv') != -1);

var is_ie = ((ua.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));

var is_ie4 = ((is_ie) && (ua.indexOf('msie 4.') != -1));

var is_moz = ((!is_saf) && (navigator.product == 'Gecko'));

var is_kon = (ua.indexOf('konqueror') != -1);

var is_ns = ((ua.indexOf('compatible') == -1) && (ua.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));

var is_ns4 = ((parseInt(navigator.appVersion) == 4) && (is_ns));

var is_mac = (ua.indexOf('mac') != -1);

var pointer_cursor = (is_ie ? 'hand' : 'pointer');

function do_an_e(eventobj)
{
	if (!eventobj || is_ie)
	{
		window.event.returnValue = false;
		window.event.cancelBubble = true;
		return window.event;
	}
	else
	{
		eventobj.stopPropagation();
		eventobj.preventDefault();
		return eventobj;
	}
}

function array_push(a, value)
{
	a[a.length] = value;
	return a.length;
}

function array_pop(a)
{
	if (typeof a != 'object' || !a.length)
	{
		return null;
	}
	else
	{
		var response = a[a.length - 1];
		a.length--;
		return response;
	}
}

function e_by_gum(eventobj)
{
	if (!eventobj || is_ie)
	{
		window.event.cancelBubble = true;
		return window.event;
	}
	else
	{
		if (eventobj.target.type == 'submit')
		{
			eventobj.target.form.submit();
		}
		eventobj.stopPropagation();
		return eventobj;
	}
}

function fetch_object(idname)
{
	if (document.getElementById)
	{
		return document.getElementById(idname);
	}
	else if (document.all)
	{
		return document.all[idname];
	}
	else if (document.layers)
	{
		return document.layers[idname];
	}
	else
	{
		return null;
	}
}

function fetch_tags(parentobj, tag)
{
	if (parentobj == null)
	{
		return new Array();
	}
	else if (typeof parentobj.getElementsByTagName != 'undefined')
	{
		return parentobj.getElementsByTagName(tag);
	}
	else if (parentobj.all && parentobj.all.tags)
	{
		return parentobj.all.tags(tag);
	}
	else
	{
		return new Array();
	}
}


function AJAX_Global(async)
{
	this.async = async ? true : false;
}

AJAX_Global.prototype.init = function()
{
	try
	{
		this.handler = new XMLHttpRequest();
		return (this.handler.setRequestHeader ? true : false);
	}
	catch(e)
	{
		try
		{
			this.handler = eval("new A" + "ctiv" + "eX" + "Ob" + "ject('Micr" + "osoft.XM" + "LHTTP');");
			return true;
		}
		catch(e)
		{
			return false;
		}
	}
};

AJAX_Global.prototype.is_compatible = function()
{
	if (is_ie && !is_ie4)
	{
		return true;
	}
	else if (typeof XMLHttpRequest != 'undefined')
	{
		try {
			return XMLHttpRequest.prototype.setRequestHeader ? true : false;
		}
		catch(e)
		{
			try {
				var tester = new XMLHttpRequest(); return tester.setRequestHeader ? true : false;
			}
			catch(e)
			{
				return false;
			}
		}
	}
	else
	{
		return false;
	}
};

AJAX_Global.prototype.not_ready = function()
{
	return (this.handler.readyState && (this.handler.readyState < 4));
};

AJAX_Global.prototype.onreadystatechange = function(event)
{
	if (!this.handler)
	{
		if  (!this.init())
		{
			return false;
		}
	}
	if (typeof event == 'function')
	{
		this.handler.onreadystatechange = event;
	}
	else
	{
		alert('XML Sender OnReadyState event is not a function');
	}
};

AJAX_Global.prototype.send = function(desturl, datastream)
{
	if (!this.handler)
	{
		if (!this.init())
		{
			return false;
		}
	}
	if (!this.not_ready())
	{
		this.handler.open('POST', desturl, this.async);
		this.handler.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		this.handler.send(datastream + '&s=' + fetch_random());

		if (!this.async && this.handler.readyState == 4 && this.handler.status == 200)
		{
			return true;
		}
	}
	return false;
};

AJAX_Global.prototype.fetch_data = function(xml_node)
{
	if (xml_node && xml_node.firstChild && xml_node.firstChild.nodeValue)
	{
		var str = PHP.unescdata(xml_node.firstChild.nodeValue);

		var latin5 = new Array("ı","İ","ş","Ş","ö","Ö","ç","Ç","ü","Ü","ğ","Ğ");
		var utf8 = new Array("Ä±","Ä°","ÅŸ","Åž","Ã¶","Ã–","Ã§","Ã‡","Ã¼","Ãœ","ÄŸ","Äž");
		
		for(i = 1; i <= latin5.length; i++)
		{
			str = str.replace(utf8[i],latin5[i]);
		}
		return str;
	}
	else
	{
		return '';
	}
}

AJAX_Compatible = AJAX_Global.prototype.is_compatible();

function php_execute()
{
}

php_execute.prototype.unescdata = function(text)
{
	return text.replace(/<\=\!\=\[\=C\=D\=A\=T\=A\=\[/g,'<![CDATA[').replace(/\]\=\]\=>/g, ']]>');
};

var PHP = new php_execute();

function fetch_random()
{
	var rand = Math.random() * 5000000000;
	return rand;
}
