var xmlHttp;
var historystack = new Array();

function back_button() {
	historystack.pop();
	var url = historystack[historystack.length-1];
	if( url && url != '' ) {
		return srv_call_history(historystack[historystack.length-1]);
	} else {
		return false;
	}
}

function bookmark_us(url, title){
	if (window.sidebar) // firefox
		window.external.addPanel(title, url, "");
	else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} else if(document.all)// ie
		window.external.AddFavorite(url, title);
}

function search() {
	var query = document.searchform.query.value;
	var what = document.searchform.what.value;

	if( query == '' || query.length<2 ) { return false; }

	return srv_call('search',Base64.encode(query+'|'+what));
}

function validate_email(field,alerttxt)
{
	with (field)
	{
		apos=value.indexOf("@")
		dotpos=value.lastIndexOf(".")
		if (apos<1||dotpos-apos<2) 
			{ alert(alerttxt);return false }
		else {return true}
	}
}
function contact() {
	var name	= document.contactform.name.value;
	var email	= document.contactform.email.value;
	var site	= document.contactform.site.value;
	var message	= document.contactform.message.value;

	if( name == '' || name.length<2 )
		{ alert('Please enter your name.'); return false; }
	if( email == '' || email.length<5 || email.indexOf("@")=='-1' || email.indexOf(".")=='-1' )
		{ alert('Please enter your Email.'); return false; }
	if( message == '' || message.length<5 )
		{ alert('Please enter your Message.'); return false; }

	return srv_call('contact',Base64.encode(name+'|'+email+'|'+site+'|'+message));
}


function createXMLHttpRequest()
 {
    if (window.ActiveXObject)
    {
	xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest)
    {
	xmlHttp = new XMLHttpRequest();
    }
}

function createXMLHttpRequest2()
{
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 xmlHttp = new XMLHttpRequest();
	 if (xmlHttp.overrideMimeType) {
	 	// set type accordingly to anticipated content type
	    //xmlHttp.overrideMimeType('text/xml');
	    xmlHttp.overrideMimeType('text/html');
	 }
      } else if (window.ActiveXObject) { // IE
	 try {
	    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	    try {
	       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (e) {}
	 }
      }
      if (!xmlHttp) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
      }
}

function srv_call_get(action,data)
{
	xmlHttp = false;
//	document.getElementById('data').innerHTML = '<div id="loader"><img src="/images/searching.gif" border="0"></div>';
	document.getElementById('loader').style.display = 'block';

	var submitURL = ''
	+ '/ajax_version/srv.php?'
	+ 'action='  + action
	+ '&data='   + data;

	createXMLHttpRequest();
	xmlHttp.onreadystatechange = handleStateChange;
	xmlHttp.open("GET", submitURL, true);
	xmlHttp.send(null);
	return false;
}

function srv_call(action,data)
{
	xmlHttp = false;
//	document.getElementById('data').innerHTML = '<div id="loader"><img src="/images/searching.gif" border="0"></div>';
	document.getElementById('loader').style.display = 'block';

	var submitURL	= '/srv.php';
	var parameters	= 'action=' + action + '&data=' + data;

	historystack.push(parameters);

	createXMLHttpRequest();

	xmlHttp.onreadystatechange = handleStateChange;
	xmlHttp.open('POST', submitURL, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
	return false;
}

function srv_call_history(parameters)
{
	xmlHttp = false;
//	document.getElementById('data').innerHTML = '<div id="loader"><img src="/images/searching.gif" border="0"></div>';
	document.getElementById('loader').style.display = 'block';

	var submitURL	= '/ajax_version/srv.php';

	createXMLHttpRequest();

	xmlHttp.onreadystatechange = handleStateChange;
	xmlHttp.open('POST', submitURL, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
	return false;
}

function handleStateChange() {
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
//			var serverResponse = xmlHttp.responseText;
			document.getElementById('data').innerHTML = xmlHttp.responseText;
			document.getElementById('loader').style.display = 'none';
//			alert(serverResponse);
		} else {
			alert("Error in AJAX "+xmlHttp.status);
		}
	}
	return true;
}
