function ClickAuthor() {
	GetAuthors(document.getElementById("SelectItemAuthors").value);
}


function ClickGenre() {
	GetGenreTexts(document.getElementById("SelectItemGenres").value,'page=1','25');
}


function CreateBlogItem(q) {
	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
      		LoadXML(elDOM, strXML, strXSL);
		xslDoc.setParameter(null, "v_blog", q);
        	TransformXML(xmlDoc,xslDoc,elDOM);

    	} else if (window.ActiveXObject) {

      		LoadXML(elDOM, strXML, strXSL);
		SetXSLVar(xslDoc,'v_blog',q);
        	TransformXML(xmlDoc,xslDoc,elDOM);
    	}

	document.getElementById("elPageTitle").innerHTML = document.getElementById("strItem").value;
}


function CreateMenu() {
	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
		menuXML = "/xml/menu.xml";
		menuXSL = "/xsl/menu.xsl";
		menuEl = "MenuRaven";

        	LoadXML(menuEl, menuXML, menuXSL);
		xslDoc.setParameter(null, "v_menu", pageTitle);
        	TransformXML(xmlDoc,xslDoc,menuEl);

    	} else if (window.ActiveXObject) {

      		LoadXML("MenuRaven", "/xml/menu.xml", "/xsl/menu.xsl");
		SetXSLVar(xslDoc,'v_menu',pageTitle);
        	TransformXML(xmlDoc,xslDoc,"MenuRaven");
    	}
}


function CreatePageData() {
	LoadXML(elDOM, strXML, strXSL);
	TransformXML(xmlDoc,xslDoc,elDOM);
}


function CreateTextsData() {
	genXML = "/xml/texts_genres.xml";
	genXSL = "/xsl/genres.xsl";
	genEL = "XMLContent";
	LoadXML(genEL, genXML, genXSL);
	TransformXML(xmlDoc,xslDoc,genEL);

	altXML = "/xml/texts_authors.xml";
	altXSL = "/xsl/authors.xsl";
	altEl = "XMLContentAlt";
	LoadXML(altEl, altXML, altXSL);
	TransformXML(xmlDoc,xslDoc,altEl);    

	textnowXML = "/php/GetXML.php?p=/dev/raven/edit/xmlTexts.asp";
	textnowXSL = "/xsl/current_texts.xsl";
	textnowEl = "XMLContentCurrent";
	LoadXML(textnowEl, textnowXML, textnowXSL);
	TransformXML(xmlDoc,xslDoc,textnowEl);   

	textarchXML = "/php/GetXML.php?p=/dev/raven/edit/xmlTextsArchive.asp";
	textarchXSL = "/xsl/archive_texts.xsl";
	textarchEl = "ArchiveContent";
	LoadXML(textarchEl, textarchXML, textarchXSL);
	TransformXML(xmlDoc,xslDoc,textarchEl);   
}


function CreateSplash() {
	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
		pagesXML = "/xml/pages.xml";
		pagesXSL = "/xsl/pages.xsl";
		pagesEl = "MainPane";

        	LoadXML(pagesEl, pagesXML, pagesXSL);
		xslDoc.setParameter(null, "v_page", pageRef);
        	TransformXML(xmlDoc,xslDoc,pagesEl);

    	} else if (window.ActiveXObject) {

      		LoadXML("MainPane", "/xml/pages.xml", "/xsl/pages.xsl");
		SetXSLVar(xslDoc,'v_page',pageRef);
        	TransformXML(xmlDoc,xslDoc,"MainPane");
    	}
}


function GetArchive() {
	archiveListXML = "/php/GetXML.php?p=/dev/raven/edit/xmlArchive.asp";
	archiveListXSL = "/xsl/DistinctArchive.xsl";
	archiveListEl = "xml_archive";
	LoadXML(archiveListEl, archiveListXML, archiveListXSL);
	TransformXML(xmlDoc,xslDoc,archiveListEl);
}


function GetArchiveDistinctList() {
	archiveListXML = "/php/GetXML.php?p=/dev/raven/edit/xmlArchiveList.asp";
	archiveListXSL = "/xsl/DistinctArchiveList.xsl";
	archiveListEl = "xml_archive";
	LoadXML(archiveListEl, archiveListXML, archiveListXSL);
	TransformXML(xmlDoc,xslDoc,archiveListEl);
}


function GetRecent() {
	recentListXML = "/php/GetXML.php?p=/dev/raven/edit/xmlArchive.asp";
	recentListXSL = "/xsl/recentposts.xsl";
	recentListEl = "xml_recent";
	LoadXML(recentListEl, recentListXML, recentListXSL);
	TransformXML(xmlDoc,xslDoc,recentListEl);
}


function GetRecentBlog() {
	recentListBlogXML = "/php/GetXML.php?p=/dev/raven/edit/xmlArchive.asp";
	recentListBlogXSL = "/xsl/recentpostsblog.xsl";
	recentListBlogEl = "xml_recent";
	LoadXML(recentListBlogEl, recentListBlogXML, recentListBlogXSL);
	TransformXML(xmlDoc,xslDoc,recentListBlogEl);
}


function GetAuthors(a) {
	itemXML = "/php/GetXML.php?p=/dev/rxml/EXPORT_XML_QUERY_AUTHOR.asp?a="+a;
	itemXSL = "/xsl/xml_texts_by_author.xsl";
	itemEl = "TextItems";
	LoadXML(itemEl, itemXML, itemXSL);
	TransformXML(xmlDoc,xslDoc,itemEl);
}


function GetGenreTexts(g,n,o) {
	genreXML = "/php/GetXMLQS.php?p=/dev/rxml/EXPORT_XML_GENRES_TEXTS_PAGE.asp?g="+g;
	genreXSL = "/xsl/xml_texts_by_genre_rev.xsl";
	genreEl = "TextItems";

	LoadXML(genreEl,genreXML,genreXSL);

    	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
		xslDoc.setParameter(null, "genre", g);
    	}
    	else if (window.ActiveXObject) {
		SetXSLVar(xslDoc,'genre',g);
	}

	TransformXML(xmlDoc,xslDoc,genreEl);
}


function GetGenreTextsRev(g,n,o) {
	genreXML = "/php/GetXMLQS.php?p=/dev/rxml/EXPORT_XML_GENRES_TEXTS_PAGE.asp?g="+g+"&"+n+"&set="+o;
	genreXSL = "/xsl/xml_texts_by_genre_rev.xsl";
	genreEl = "TextItems";
	LoadXML(genreEl,genreXML,genreXSL);

    	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
		xslDoc.setParameter(null, "genre", g);
    	}
    	else if (window.ActiveXObject) {
		SetXSLVar(xslDoc,'genre',g);
	}

	TransformXML(xmlDoc,xslDoc,genreEl);
}


function GetText(t) {
	textXML = "/php/GetXML.php?p=/dev/rxml/EXPORT_XML_text.asp?t="+t;
	textXSL = "/xsl/xml_text.xsl";
	textEl = "TextItems";
	LoadXML(textEl, textXML, textXSL);
	TransformXML(xmlDoc,xslDoc,textEl);
}


function SelectArchive(a) {
	ArchivedXML = "/php/GetXML.php?p=/dev/raven/edit/xmlArchiveCurrentMonth.asp";
	ArchivedXSL = "/xsl/recentposts.xsl";
	ArchivedEl = "XMLContent";

	LoadXML(ArchivedEl,ArchivedXML,ArchivedXSL);

    	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
		    xslDoc.setParameter(null, "xslarchive", a);
		    xslDoc.setParameter(null, "xsltype", "2");
    	}
    	else if (window.ActiveXObject) {
		    SetXSLVar(xslDoc,'xslarchive',a);
		    SetXSLVar(xslDoc,'xsltype', '2');
	}

	TransformXML(xmlDoc,xslDoc,ArchivedEl);
}


function SelectFile(a,s) {
	ArchivedXML = "/xml/"+a;
	ArchivedXSL = "/xsl/recentposts.xsl";
	ArchivedEl = "XMLContent";

	LoadXML(ArchivedEl,ArchivedXML,ArchivedXSL);

    	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
		    xslDoc.setParameter(null, "xslarchive", s);
		    xslDoc.setParameter(null, "xsltype", "2");
    	}
    	else if (window.ActiveXObject) {
		    SetXSLVar(xslDoc,'xslarchive',s);
		    SetXSLVar(xslDoc,'xsltype', '2');
	}

	TransformXML(xmlDoc,xslDoc,ArchivedEl);
}


function LoadXML(vDOM,vXML,vXSL) {
    // Mozilla/Safari
    if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
    	  xslDoc = new XSLTProcessor();
    	  myXMLHTTPRequest = new XMLHttpRequest();
    	  myXMLHTTPRequest.open("GET", vXSL, false);
    	  myXMLHTTPRequest.send(null);
    	  xslStylesheet = myXMLHTTPRequest.responseXML;
    	  xslDoc.importStylesheet(xslStylesheet);

    	  myXMLHTTPRequest = new XMLHttpRequest();
    	  myXMLHTTPRequest.open("GET", vXML, false);
    	  myXMLHTTPRequest.send(null);	
	  xmlDoc = myXMLHTTPRequest.responseXML;
    }

    // IE
    else if (window.ActiveXObject) {
    	  xmlDoc = new ActiveXObject("MSXML2.DomDocument.3.0");
        xmlDoc.async="false";
        xmlDoc.load(vXML);
        xslDoc = new ActiveXObject("MSXML2.DomDocument.3.0");
        xslDoc.async="false";
        xslDoc.load(vXSL);
    }
}


function SetXSLVar(myXSL,myVar,myVal){
	myXSL.setProperty("SelectionNamespaces","xmlns:foo='http://www.w3.org/1999/XSL/Transform'");
    	var vars = myXSL.documentElement.selectNodes("//foo:param");
    	for (var x = 0; x<vars.length; x++){
      	if(vars[x].getAttribute("name") == myVar){
            	while(vars[x].childNodes.length > 0){
                	vars[x].removeChild(vars[x].firstChild);
                	}
            	vars[x].appendChild(myXSL.createTextNode(myVal));
      	}
	}
}


function SwapItem(obj) {
	var el = document.getElementById(obj);
		if (el.className == "displayNone") {
			el.className = "ContentItem";
		} else {
			el.className = "displayNone";
		}
}


function TransformXML(eXML,eXSL,eDOM) {
	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
    		elementMain = document.getElementById(eDOM);
 		var fragment = eXSL.transformToFragment(eXML, document);
		elementMain.innerHTML = "";
		elementMain.appendChild(fragment);
      		window.stop();
	}

	else if (window.ActiveXObject) {
    		elementMain = document.getElementById(eDOM);
    		strReturn = eXML.transformNode(eXSL);
    		elementMain.innerHTML = strReturn;
	}
}


function WriteXML(eXML,eXSL,eDOM) {
	if ((window.XMLHttpRequest) && (typeof XSLTProcessor != "undefined")) {
    		elementMain = document.getElementById(eDOM);
 		var fragment = eXSL.transformToFragment(eXML, document);
		elementMain.appendChild(fragment);
	}

	else if (window.ActiveXObject) {
    		elementMain = document.getElementById(eDOM);
    		strReturn = eXML.transformNode(eXSL);
    		elementMain.innerHTML = strReturn;
	}
}