function ajaxRequestTranscript(pid, segId, contentModel) {
	var xhri = xhrRequest();
    var csm = fromContextMode ? "true" : "false";
    xhr[xhri].open('GET', addRandomSeed("transcript.metaInfo?pid="+pid+"&id="+segId+"&contentModel="+contentModel + "&contextSearchMode="+csm), true);
	xhr[xhri].onreadystatechange = function() {
		if (xhr[xhri].readyState == 4 && xhr[xhri].status == 200) {		
			ajaxProcessTranscript(xhr[xhri].responseXML);
			xi[xhri] = 1;
			xhr[xhri] = null;
		}
	};
	xhr[xhri].send(null);
}

function ajaxProcessTranscript(responseXML) {
	occCount = 0;

    var xmldoc = responseXML;
    transcripts = new Array();
    var indexes = xmldoc.getElementsByTagName("p");
    for (var i = 0; i<indexes.length; i++) {
        var ep = document.createElement("p");
        var xmlid = indexes.item(i).getAttribute("xmlid");
        ep.setAttribute("id",xmlid);

        if (indexes.item(i).hasChildNodes()){
            var children = indexes.item(i).childNodes;
            var appNode = null;
            for (var j = 0; j < children.length; j++){
                if (children[j].tagName == "search:hi"){
                    appNode = doHighlight(children[j]);
                } else if (children[j].tagName == "br"){
                    appNode = document.createElement("br"); 
                } else {
                    appNode = document._importNode(children[j],true);
                }
                ep.appendChild(appNode);
            }
        }

        transcripts[i] = {
			type : "TRANSCRIPT",
			text : ep,
            xmlid: xmlid
        };

    }
	transcriptDone = true;
	showTranscript();
    searchHighLightFirst();
}

function parceContextSearch(xmlDoc){
    var segments = xmlDoc.getElementsByTagName("segment");
    searchIndexes = new Array();
    var id;

    for (var i = 0; i < segments.length; i++){
        var anchs = segments[i].getElementsByTagName("chapter");

        searchAnchors = new Array();

        for (var j = 0; j < anchs.length; j++){
            var phrs = anchs[j].getElementsByTagName("phrase");

            searchPhrases = new Array();

            for (var k = 0; k < phrs.length; k++){
                id = phrs[k].getAttribute("id");
                searchPhrases[k]  = id;
            }
            id = anchs[j].getAttribute("id");
            searchAnchors[j] = {
                                chapter: leaveDigits(id),
                                phrases: searchPhrases
                             }
        }
        id = segments[i].getAttribute("id");
        searchIndexes[i] = {
                     segment: leaveDigits(id) - 1,
                     chapters: searchAnchors
                    }
    }

    searchInit();
}
