/** ------------------------------------------ **/
/** GENERIC CONTENT LOADER FUCNTION **/
/** ------------------------------------------ **/

/* namespacing object */
var inet={}; //new Object();
inet.READY_STATE_UNINITIALIZED=0;
inet.READY_STATE_LOADING=1;
inet.READY_STATE_LOADED=2;
inet.READY_STATE_INTERACTIVE=3;
inet.READY_STATE_COMPLETE=4;

/* content loader object for cross-browser requests */
inet.ContentLoader=function(url,method,params,onload,contentType){
    this.req=null;
    this.onload=onload;
    this.loadXMLDoc(url,method,params);
}
inet.ContentLoader.prototype={
    loadXMLDoc:function(url,method,params,contentType){
        if (!method){
            method="GET";
        }
        if(!contentType && method=="POST"){
            contentType="application/x-www-form-urlencoded";
        }
        if (window.XMLHttpRequest){
            this.req=new XMLHttpRequest();
        } else if (window.ActiveXObject){
            this.req=new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (this.req){
            try{
                var loader=this;
                this.req.onreadystatechange=function(){
                    loader.onReadyState();
                }
                this.req.open(method,url,true);
                if (contentType){
                    this.req.setRequestHeader("Content-Type", contentType);
                }
                this.req.send(params);
                }
            catch (err){
            }
        }
    },
    onReadyState:function(loading){
        var req=this.req;
        var ready=req.readyState;
        if (ready==inet.READY_STATE_LOADING){
            loading;
        }
        if (ready==inet.READY_STATE_COMPLETE){
            var httpStatus=req.status;
            if (httpStatus==200 || httpStatus==0){
                this.onload(req);
            }
        }
    } 
}

/** ------------------------------------------ **/
/** SUBMIT REVIEW VOTE  **/
/** ------------------------------------------ **/
function was_review_helpfulx(id,answer,url){
    if (answer == "No"){
        reviewType = "unhelpful=No";
    } else {
        reviewType = "helpful=Yes";
    }
    params="review_id="+id+"&review_"+reviewType;
    new inet.ContentLoader(
        url,
        "POST",
        params,
        function(response){
            var myThis = '';
            document.getElementById("helpful_"+id).innerHTML="<img src=\"/lovefilm/images/buttons/review-"+answer.toLowerCase()+".gif\" width=\"24\" height=\"29\" alt=\""+answer+"\" align=\"absmiddle\" /> You said '"+answer+"'. Thanks!";
            if (document.getElementById("reviewThis"+id)){
                if (answer == "Yes"){
                    myThis = document.getElementById("reviewThis"+id).firstChild.nodeValue;
                    myThis = (myThis * 1) + 1;
                    document.getElementById("reviewThis"+id).innerHTML = myThis;
                }
                myThat = document.getElementById("reviewThat"+id).firstChild.nodeValue;
                myThat = (myThat * 1) + 1;
                document.getElementById("reviewThat"+id).innerHTML = myThat;
            }
        },
        document.getElementById("helpful_"+id).innerHTML="<img src=\"/images/icons/ajax_load_black.gif\"> Saving..."
    );
}

function vote_review(id,yes,no) {
    var itemId = "helpful_"+id;
    $(itemId).innerHTML='<img src="/images/icons/ajax_load_black.gif"> Saving...';
    var myAjax = new Ajax.Request(
        '/ajax/reviews/vote_yes_no.html', {
            method: 'get',
            parameters: {
                review_id: id,
                review_helpful: yes,
                review_unhelpful: no
            },
            onComplete: function(originalRequest) {
                $(itemId).innerHTML = originalRequest.responseText;
            }
        }
    );
}

