var ajax_box;

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){
  	Init();
  	if(req!=null){
  		ajax_box=div;
	    req.onreadystatechange = getResult;
	    document.getElementById(ajax_box).innerHTML="<img src=\"images/loading.gif\" /> Loading...";
	    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!";}
	}
}


function rate(id,rate){
  	Init();
  	if(req!=null){
	    req.onreadystatechange = getResult_rate;
	    req.open("get", baseurl+"index.php?m=rate&id="+id+"&rate="+rate+"&asynch", true);
	    try {
	       req.send(null);
	    } catch (ex) { }
	}
}

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, item){
  	Init();
  	if(req!=null){
  		ajax_box='ajax_box';
	    req.onreadystatechange = getResult;
	    
	    document.getElementById('playlist').value=id;
	    document.getElementById('edit_playlist').style.display="block";
	    
	    //if(pub==1) document.getElementById('public').checked=true;
	    //else document.getElementById('public').checked=false;
	    
	    if(item.title!=undefined)document.getElementById('description').innerHTML=item.title;
	    else document.getElementById('description').innerHTML=item;
	    
	    document.getElementById(ajax_box).innerHTML="<img src=\"images/loading.gif\" /> Loading...";
	    req.open("get", baseurl+"index.php?m=playlist&p="+id, true);
	    try {
	       req.send(null);
	    } catch (ex) { }
	}
}

function post_comment(url, form){
  	Init();
  	if(req!=null){
  		ajax_box='comments_box';
	    req.onreadystatechange = getResult;
	    req.open("post", baseurl+url, true);
	    try {
	       req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	       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)+"&";
  		   }
	       req.send(send);
	    } catch (ex) { }
	}	
}

function getResult(){
  if (req.readyState == 4){
    if (req.status == 200){
      document.getElementById(ajax_box).innerHTML=req.responseText;
    }
    else {
        document.getElementById(ajax_box).innerHTML="Internal Server Error!";
    }
  }
}

function getResult_rate(){
  if (req.readyState == 4){
    if (req.status == 200){
      document.getElementById("ajax_rate").innerHTML=req.responseText;
    }
    else {
        document.getElementById("ajax_rate").innerHTML="Internal Server Error!";
    }
  }
}

function getResult_alert(){
  if (req.readyState == 4){
    if (req.status == 200){
      alert(req.responseText);
    }
    else {
      alert("Internal Server Error!");
    }
  }
}
