function o_xmlHttp(){
	var xmlHttp;
	try {// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {// Internet Explorer
		try {xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e) {
			try {xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e) {
				//alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	return xmlHttp;
} 
function generateBoundary(){
	var b='-----------------------------';
	for(var i=0;i<14;i++)b+=Math.round(Math.random()*11);
	return b;
}

function parseArrayToMultipartFormData(array,boundary){
	var key;
	var rvar='';
	for (key in array){
		if( key == 'selectionStart' )continue;
		if( key == 'selectionEnd' )continue;
		if (typeof(array[key]) == 'object'){
			for (var i in array[key]){
				rvar+='--'+boundary+"\n";
				rvar+='Content-Disposition: form-data; name="'+key+'['+i+']'+'"\n\n';
				rvar+=array[key][i]+'\n';
			}
		}
		else
		{
			rvar+='--'+boundary+"\n";
			rvar+='Content-Disposition: form-data; name="'+key+'"\n\n';
			rvar+=array[key]+'\n';
		}
	}
	rvar+="--"+boundary+'--\n';
	return rvar;
} 

function DJOajaxFunction(aUrlGenre ,aCallbackF )
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      //alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
      aCallbackF(xmlHttp.responseText);
      }
    }
  xmlHttp.open("GET","cue.php?g="+aUrlGenre+"&"+Math.round((Math.random()*600)),true);
  xmlHttp.send(null);
  }

