function Ajax(){
	var ajax_box;
	var req;
	
	this.Init=function (){
	    try{
	        req=new ActiveXObject("Msxml2.XMLHTTP");
	    }
	    catch(e){
	        try{
	            req=new ActiveXObject("Microsoft.XMLHTTP");
	        }
	        catch(oc){
	            req=null;
	        }
	    }
	    if(!req&&typeof XMLHttpRequest!="undefined"){
	        req = new XMLHttpRequest();
		}
	}
	
	this.get=function(url,div){
	  	this.Init();
	  	if(req!=null){
	  		ajax_box=div;
		    req.onreadystatechange = this.getResult;
		    document.getElementById(ajax_box).innerHTML="<div style=\"text-align:center\"><img alt=\"Loading...\" src=\"images/loading.gif\" /></div>";
		    url=url.replace(/&amp;/g,'&');
		    req.open("get", baseurl+url, true);
		    try {
		       req.send(null);
		    } catch (ex) { document.getElementById(ajax_box).innerHTML="Your browser does not support this feature!";}
		}
	}
	
	this.post=function(url,data,div){
		this.Init();
	  	if(req!=null){
	  		ajax_box=div;
		    req.onreadystatechange = this.getResult;
		    document.getElementById(ajax_box).innerHTML="<div style=\"text-align:center\"><img alt=\"Loading...\" src=\"images/loading.gif\" /></div>";
		    url=url.replace(/&amp;/g,'&');
		    req.open("post", baseurl+url, true);
		    try {
		       req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
		       req.send(data);
		    } catch (ex) { document.getElementById(ajax_box).innerHTML="Your browser does not support this feature!";}
		}
	}
	
	
	
	this.getResult=function (){
	  if (req.readyState == 4){
	    if (req.status == 200){
	      if(ajax_box!='comments_box'){
		      changeOpacity(0,ajax_box);
		      fadeIn(ajax_box);
	      }
	      document.getElementById(ajax_box).innerHTML=req.responseText;
	    }
	    else {
	        document.getElementById(ajax_box).innerHTML="Internal Server Error!";
	    }
	  }
	}
}

function Init(){
    try{
        req=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e){
        try{
            req=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(oc){
            req=null;
        }
    }
    if(!req&&typeof XMLHttpRequest!="undefined"){
        req = new XMLHttpRequest();
	}
}

function get_url_contents(url,div){
	var ajax=new Ajax();
	ajax.get(url,div);
}

function rate(id,rate){
	var ajax=new Ajax();
	ajax.get("index.php?m=rate&id="+id+"&rate="+rate+"&asynch",'ajax_rate');
}

function add_to_favorites(id){
  	Init();
  	if(req!=null){
	    req.onreadystatechange = getResult_alert;
	    req.open("get", baseurl+"index.php?m=favorites_add&id="+id+"&asynch", true);
	    try {
	       req.send(null);
	    } catch (ex) { }
	}
}

function add_to_playlist(id, plid){
  	Init();
  	if(req!=null && plid!=0 && plid!="new"){
	    req.onreadystatechange = getResult_alert;
	    req.open("get", baseurl+"index.php?m=favorites_add&id="+id+"&p="+plid+"&asynch", true);
	    try {
	       req.send(null);
	    } catch (ex) { }
	}else if (plid=="new"){
		location.href=baseurl+"index.php?m=users.create_playlist";
	}
}

function report_video(id){
  	Init();
  	if(req!=null){
	    req.onreadystatechange = getResult_alert;
	    req.open("get", baseurl+"index.php?m=report_video&id="+id+"&asynch", true);
	    try {
	       req.send(null);
	    } catch (ex) { }
	}
}

function report_comment(id){
  	Init();
  	if(req!=null){
	    req.onreadystatechange = getResult_alert;
	    req.open("get", baseurl+"index.php?m=report_comment&id="+id, true);
	    try {
	       req.send(null);
	    } catch (ex) { }
	}
}

function show_playlist(id, pub, title){
	    
    document.getElementById('playlist_id').value=id;
    document.getElementById('edit_playlist').style.display="block";
    
    //if(pub==1) document.getElementById('public').checked=true;
    //else document.getElementById('public').checked=false;
    
    var ajax=new Ajax();
	ajax.get("index.php?m=playlist&p="+id,'ajax_box');
    
    document.getElementById('pl_description').value=title.getAttribute('title');

}

function post_comment(url, form){
	var send="";
    var i;
	for(i=0; i<form.elements.length; i++){
	  var el=form.elements[i];
	  send+=form.elements[i].name+"="+escape(el.value)+"&";
	}
	var ajax=new Ajax();
	ajax.post(url,send,'comments_box');
}

function getResult_alert(){
  if (req.readyState == 4){
    if (req.status == 200){
      alert(req.responseText);
    }
    else {
      alert("Internal Server Error!");
    }
  }
}