// JScript source code
	var ajaxObjSoftXML=null;
	var xmlDOMObjSoftXML=null;
	var rssvalidationurl = "http://validator.w3.org/feed/check.cgi?url=";
	
	
	function createAjaxObject(){
		if(window.XMLHttpRequest){
			try{
				ajaxObjSoftXML = new XMLHttpRequest(); 
					
			}
			catch(e){
				alert("Problem creating AJAX!");
			}
			
		}
		else{
			try{
				ajaxObjSoftXML = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				alert("Problem creating AJAX!");
			}	
		}
		return ajaxObjSoftXML;
	}
	
	
	
	function errorHandler(message, url, line)
		{
			alert("Error loading file!" + "\n" + message + "=" + line);
		    return true;
		}
	
	var docSoftXML;
	function load(xmlfile){
		if (document.implementation && document.implementation.createDocument)
			{
				xmlDOMObjSoftXML = document.implementation.createDocument("", "", null);
				
				xmlDOMObjSoftXML.async=false;
			}
			else if (window.ActiveXObject)
			{
				xmlDOMObjSoftXML = new ActiveXObject("Microsoft.XMLDOM");
				xmlDOMObjSoftXML.async=false;
			}
			else
			{
				alert('Your browser can\'t handle this script');
				return;
			}
			
			lSoftXML=xmlDOMObjSoftXML.load(xmlfile);
			if(!lSoftXML){
				this.loadError = 1;
			}
			else{
				
				SoftXMLLib.prototype.documentElement = xmlDOMObjSoftXML.documentElement;
			}
			
			
			
	}
	
	function getDocXML(){
		try{
			var serializer = new XMLSerializer();
			var xmlstring = serializer.serializeToString(this.documentElement);
		}
		catch(e){
			var xmlstring = this.documentElement.xml;
		};	
		return xmlstring;

	}
	
	function loadXML(xmlString){
		if (document.implementation && document.implementation.createDocument)
			{
				var parserSoftXML = new DOMParser();
				try{
					var docSoftXML = parserSoftXML.parseFromString(xmlString, "text/xml");
					
				}
				catch(e){alert("XML file is not valid!");};	
				if(docSoftXML.documentElement.nodeName=="parsererror"){
					this.loadXMLError = 1;
				}
				else{
					SoftXMLLib.prototype.DOM = docSoftXML;
					SoftXMLLib.prototype.documentElement = docSoftXML.documentElement;
				}
				
				

			}
			else if (window.ActiveXObject)
			{
				xmlDOMObjSoftXML = new ActiveXObject("Microsoft.XMLDOM");
				xmlDOMObjSoftXML.async=false;
				lSoftXML = xmlDOMObjSoftXML.loadXML(xmlString);
				
				if(!lSoftXML){
					this.loadXMLError = 1;
				}
				else{
					SoftXMLLib.prototype.DOM = xmlDOMObjSoftXML;
					SoftXMLLib.prototype.documentElement = xmlDOMObjSoftXML.documentElement;
				}
				
			}
			else
			{
				alert('Your browser can\'t handle this script');
				return;
			}
			
			
	}
	
	var prefSoftXML,namespacesSoftXML;
	function NSResolver(prefix) {
		if(prefix == prefSoftXML) {
			return namespacesSoftXML;
		}
		else {
			return null;
		}
	}


	
	function selectNodes(xpath){
			var selectedNodes = new Array();
			docSoftXML = this.documentElement;
			if(docSoftXML==null){
				alert("Error loading file!");
				return;
			}
			prefSoftXML = this.prefix;
			namespacesSoftXML = this.nameSpace;
			if(document.all){
				var cxpath = new String(xpath).toLowerCase();
				f = docSoftXML.selectNodes(xpath);
				for(var i=0;i<f.length;i++){
					var elemattr="";
					if(f[i].nodeType=="1"){
						var curAttributes = f[i].attributes;
						if(curAttributes.length>0){
							for(y=0;y<curAttributes.length;y++){
								if(y<curAttributes.length-1){
									var dt=",";
								}
								else{
									var dt="";
								}
								elemattr+=curAttributes[y].name + ":\"" + curAttributes[y].text + "\"" + dt;
							}
						}
					}
					else{
							if(i<f.length-f.length){
								var dts=",";
							}
							else{
								var dts="";
							}
									
								elemattr+=f[i].name + ":\"" + f[i].text + "\"" + dts;
					}		
					
					var t = eval("[{" + elemattr + "}]");
					if(f[i].nodeType=="1"){
						if(f[i].parentNode.nodeName == this.documentElement.nodeName){
							
							this.self = f[i];
						}
						else{
							this.self = f[i].parentNode;
						}
					}
					else{
						this.self = f[i];
					}
					selectedNodes[selectedNodes.length] = {innerText:f[i].text,attributes:t,self:this.self,object:f[i].childNodes(0),objectN:f[i]};
				}
				return selectedNodes;
			}
			else{
				if(navigator.userAgent.indexOf("Firefox")!=-1 || navigator.userAgent.indexOf("SeaMonkey")!=-1 || navigator.userAgent.indexOf("Netscape")!=-1){
						var xpe = new XPathEvaluator();
						var nsResolver = xpe.createNSResolver(docSoftXML.ownerDocument.documentElement==null ? docSoftXML.documentElement : docSoftXML.ownerDocument.documentElement);
						var headings = xpe.evaluate(xpath, docSoftXML, NSResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
				}
				else{
						var headings = document.evaluate(xpath, docSoftXML, null, XPathResult.ANY_TYPE,null);
				}
				try{
					
					var thisHeading = headings.iterateNext();
					while (thisHeading) {
					    var elemattr="";
						var curAttributes = thisHeading.attributes;
						if(curAttributes.length>0){
							for(var i=0;i<curAttributes.length;i++){
								if(i<curAttributes.length-1){
									var dt=",";
								}
								else{
									var dt="";
								}
								elemattr+=thisHeading.attributes[i].nodeName + ":\"" + thisHeading.attributes[i].nodeValue + "\"" + dt;
							}
						}	
						var t = eval("[{" + elemattr + "}]");
						if(thisHeading.parentNode.nodeName == this.documentElement.nodeName){
							
							this.self = thisHeading;
						}
						else{
							this.self = thisHeading.parentNode;
						}
						selectedNodes[selectedNodes.length] = {innerText:thisHeading.childNodes[0].nodeValue,attributes:t,self:this.self,object:f[i].childNodes(0),objectN:f[i]};
						thisHeading = headings.iterateNext();
					}
				}
				catch(e){
					
					for(var y=0;y<headings.snapshotLength;y++){
						var elemattr="";
						if(headings.snapshotItem(y).attributes){
							var curAttributes = headings.snapshotItem(y).attributes;
							if(curAttributes.length>0){
								for(var i=0;i<curAttributes.length;i++){
									var curattrval = new String(headings.snapshotItem(y).attributes[i].nodeName);
									curattrval = curattrval.replace("xmlns:","");
									if(i<curAttributes.length-1){
										var dt=",";
									}
									else{
										var dt="";
									}
									
										elemattr+=curattrval + ":\"" + headings.snapshotItem(y).attributes[i].nodeValue + "\"" + dt;
								}
							}
							
						}	
						var t = eval("[{" + elemattr + "}]");
						
						if(headings.snapshotItem(y).nodeType=="1"){
							if(headings.snapshotItem(y).parentNode.nodeName == this.documentElement.nodeName){
								
								this.self = headings.snapshotItem(y);
							}
							else{
								this.self = headings.snapshotItem(y).parentNode;
							}
						}
						else{
								this.self = headings.snapshotItem(y);
						}	
						selectedNodes[selectedNodes.length] = {innerText:headings.snapshotItem(y).textContent,attributes:t,self:this.self,object:headings.snapshotItem(y).childNodes[0],objectN:headings.snapshotItem(y)};
					}
				}	
				return selectedNodes;
			}	
		;
	}
	
	
	function Decode(str){
		var decoded = "";
		var curStr = new String(str);
		var spl = curStr.split(",");
		
		for(var i=0;i<spl.length;i++){
			decoded+=String.fromCharCode(spl[i])
		}
		return decoded;
	}


	function Encode(str){
		var encoded = "";
		var curStr = new String(str);
		for(var i=0;i<curStr.length;i++){
			if(i<curStr.length-1){
				var dt=",";
			}
			else{
				var dt="";
			}
			encoded+=curStr.charCodeAt(i) + dt;
		}
		return encoded;
	}
	
	var docAttributes = new Array();
	var docAllAttributes = new Array();
	
	var srtout = new Array();
	var srtout1 = new Array();
	
	function getAllAttributes(obj){
		
		for(var i=0;i<obj.childNodes.length;i++){
			if(obj.childNodes[i].attributes){
				var curElem = obj.childNodes[i].attributes;
				for(var j=0;j<curElem.length;j++){
					docAttributes[docAttributes.length] = {nodeName:curElem[j].nodeName,nodeValue:curElem[j].nodeValue};
				}
			}
			getAllAttributes(obj.childNodes[i]);
		}
		return docAttributes;
	}
	
	function getAttributes(obj){
		for(var i=0;i<obj.childNodes.length;i++){
			if(obj.childNodes[i].attributes){
				var curElem = obj.childNodes[i].attributes;
				for(var j=0;j<curElem.length;j++){
					docAllAttributes[docAllAttributes.length] = {nodeName:curElem[j].nodeName,nodeValue:curElem[j].nodeValue};
				}
			}
			getAttributes(obj.childNodes[i]);
		}
		
	}
	
	
	
	function getUniqueAttributes(){
		srtout.length=0;
		getAllAttributes(this.documentElement);
		docAttributes.sort(sortOut);
		var curNode = "";
		for(var y=0;y<docAttributes.length;y++){
			if(curNode!=docAttributes[y].nodeName){
				srtout[srtout.length] = {nodeName:docAttributes[y].nodeName};
			}
			curNode = docAttributes[y].nodeName;
		}
		return srtout;
	}
	
	function getDocAttributes(){
		docAttributes.length=0;
		return getAllAttributes(this.documentElement);
	}
	
	
	var docElements = new Array();
	function getAllDocElements(obj){
		for(var i=0;i<obj.childNodes.length;i++){
			if(obj.childNodes[i].nodeName!="#text"){
				if(obj.childNodes[i].childNodes.length=="1"){
					docElements[docElements.length] = {nodeName:obj.childNodes[i].nodeName,nodeValue:(!window.ActiveXObject)?obj.childNodes[i].textContent:obj.childNodes[i].text};
				}
				else{
					docElements[docElements.length] = {nodeName:obj.childNodes[i].nodeName,nodeValue:obj.childNodes[i].nodeValue};	
				}
			}
			getAllDocElements(obj.childNodes[i]);
		}
		return docElements;
	}
	
	var stroutelem = new Array();
	function getDocElements(){
		docElements.length=0;
		return getAllDocElements(this.documentElement);
	}
	
	var stroutuniquelem = new Array();
	function getUniqueElements(){
		stroutuniquelem.length=0;
		getAllDocElements(this.documentElement);
		docElements.sort(sortOut);
		var curNode = "";
		for(var y=0;y<docElements.length;y++){
			if(curNode!=docElements[y].nodeName){
				stroutuniquelem[stroutuniquelem.length] = {nodeName:docElements[y].nodeName};
			}
			curNode = docElements[y].nodeName;
		}
		return stroutuniquelem;
	}
	
	
	function sortOut(a,b){
		if(a.nodeName<b.nodeName) return -1;
		if(a.nodeName>b.nodeName) return 1;
		return 0;
	}
	
	
	function setPrefix(obj){
		this.prefix = obj;
		
	}
	
	function setNameSpace(obj){
		this.nameSpace = obj;
		
	}
	
	function createXML4Add(){
		var outputXML="<root templateid='" + checkedValue + "'>";
		for(var i=0;i<this.inputData.length;i++){
				outputXML+="<url alias='" + this.inputData[i].alias + "' newsnum='" + this.inputData[i].newsnum + "' id='" + this.inputData[i].id + "'><![CDATA[" + this.inputData[i].URL + "]]></url>";
		}
		outputXML+="</root>";
		return outputXML;
	
	}
	
	var outputXML;
	var xfiles;
	var abc = new SoftXMLLib();
	function createXML4RSS(){
		var self=this.inputData;
		var rr1 = new SoftXMLLib();
		var rr = new SoftXMLLib();
		var dataextraction = new SoftXMLLib();
		var ajaxObjdataextraction = dataextraction.createAjaxObject();
		
		var ajaxObjdataextraction1 = dataextraction.createAjaxObject();
		//alert(checkedValue);
		var activetmp = checkedValue + ".xml";
		var fullpath = "templates/" + activetmp;
		var myxml = "<root><xml>" + fullpath + "</xml></root>";
		rr.loadXML(myxml);
		
		
		ajaxObjdataextraction.onreadystatechange = function(){
			if(ajaxObjdataextraction.readyState==4){
				if(ajaxObjdataextraction.status==200){
					abc.loadXML(ajaxObjdataextraction.responseText);
					var bordercolor = abc.selectNodes("//@bordercolor")[0].innerText;
					var backgroundcolor = abc.selectNodes("//@backgroundcolor")[0].innerText;
					var titlebackgroundcolor = abc.selectNodes("//@titlebackgroundcolor")[0].innerText;
					var titlecolor = abc.selectNodes("//@titlecolor")[0].innerText;
					var titlefontfamily = abc.selectNodes("//@titlefontfamily")[0].innerText;
					var titlefontsize = abc.selectNodes("//@titlefontsize")[0].innerText;
					var titlefontweight = abc.selectNodes("//@titlefontweight")[0].innerText;
					var descriptioncolor = abc.selectNodes("//@descriptioncolor")[0].innerText;
					var descriptionfontfamily = abc.selectNodes("//@descriptionfontfamily")[0].innerText;
					var descriptionfontsize = abc.selectNodes("//@descriptionfontsize")[0].innerText;
					var descriptionfontweight = abc.selectNodes("//@descriptionfontweight")[0].innerText;
					var direction = abc.selectNodes("//@direction")[0].innerText;
					outputXML="<root direction='" + direction + "' templateid='" + checkedValue + "' titlefontsize='" + titlefontsize + "' titlefontweight='" + titlefontweight + "' titlebackgroundcolor='" + titlebackgroundcolor + "' titlefontfamily='" + titlefontfamily + "' titlecolor='" + titlecolor + "' descriptionfontsize='" + descriptionfontsize + "' descriptionfontfamily='" + descriptionfontfamily + "' descriptionfontweight='" + descriptionfontweight + "' descriptioncolor='" + descriptioncolor + "' bordercolor='" + bordercolor + "' backgroundcolor='" + backgroundcolor + "'>";
					for(var i=0;i<self.length;i++){
						
						outputXML+="<url alias='" + self[i].alias + "' newsnum='" + self[i].newsnum + "' id='" + self[i].id + "'><![CDATA[" + self[i].URL + "]]></url>";
					}
					outputXML+="</root>";
					
					rr1.loadXML(outputXML);
					
					ajaxObjdataextraction1.open("POST","saveURLS.asp",true);
					ajaxObjdataextraction1.onreadystatechange=function(){
						if(ajaxObjdataextraction1.readyState==4){
							if(ajaxObjdataextraction1.status==200){
								if(document.all){
									window.setTimeout("reloadcombo()",50);
								}	
								else{
									displayURLS(checkedValue,new Date().getTime());
									document.getElementById("newsid").innerHTML = "";
								}
								
							}
						}
					}	
					ajaxObjdataextraction1.send(rr1.DOM);
				}
			}
					
		}
		ajaxObjdataextraction.open("POST","getXML.asp?time=" + new Date().getTime(),true);
		ajaxObjdataextraction.send(rr.DOM);
		//alert(xfiles);
		
		
		
		
		
		
		
		
	}
	
	
	function dda(d){
		xfiles = d;
		
	}
	
	function createXML4RSSValid(){
		var outputXML="<root>";
		
		for(var i=0;i<this.inputData.length;i++){
			outputXML+="<url><![CDATA[" + this.inputData[i].URL + "]]></url>";
		}
		outputXML+="</root>";
		
		return outputXML;
	}
	
	function createXML4AllRSS(){
		var outputXML="<root>";
		
		for(var i=0;i<this.inputData.length;i++){
			outputXML+="<folder>" + this.inputData[i].curfolder + "</folder>";
		}
		outputXML+="</root>";
		
		return outputXML;
	}
	
	function createId2Delete(){
		var outputXMLs="<root templateid='" + checkedValue + "'>";
		for(var i=0;i<this.inputDatad.length;i++){
			outputXMLs+="<element id='" + this.inputDatad[i].id + "'/>";
		}
		outputXMLs+="</root>";
		return outputXMLs;
	}
	
	
	
	function SoftXMLLib(){
		this.createAjaxObject = createAjaxObject;
		this.loadXMLError = 0;
		this.loadError = 0;
		this.load = load;
		this.selectNodes = selectNodes;
		this.loadXML = loadXML;
		this.self = null;
		this.Decode = Decode;
		this.Encode = Encode;
		this.getAllAttributes = getAllAttributes;
		this.getUniqueAttributes = getUniqueAttributes;
		this.getAttributes = getAttributes;
		this.getDocAttributes = getDocAttributes;
		this.getDocElements = getDocElements;
		this.getUniqueElements = getUniqueElements;
		this.setPrefix = setPrefix;
		this.prefix = null;
		this.nameSpace = null;
		this.setNameSpace = setNameSpace;
		this.getDocXML = getDocXML;
		this.createXML4RSS = createXML4RSS;
		this.createXML4Add = createXML4Add;
		this.createId2Delete = createId2Delete;
		this.createXML4RSSValid = createXML4RSSValid;
		this.createXML4AllRSS = createXML4AllRSS;
		this.inputData="";
		this.inputDatad="";
	}
	
	
	var IFrameObj; // our IFrame object
function callToServer(userid,obj) {
	if (!document.createElement) {return true};
	var IFrameDoc;
	var URL = "server.asp?uid="+userid+"&objid="+obj;
	
	if (!IFrameObj && document.createElement) {
    // create the IFrame and assign a reference to the
    // object to our global variable IFrameObj.
    // this will only happen the first time 
    // callToServer() is called
   try {
      var tempIFrame=document.createElement('iframe');
      tempIFrame.setAttribute('id','RSIFrame');
      tempIFrame.style.border='0px';
      tempIFrame.style.width='0px';
      tempIFrame.style.height='0px';
      IFrameObj = document.body.appendChild(tempIFrame);
      
      if (document.frames) {
        // this is for IE5 Mac, because it will only
        // allow access to the document object
        // of the IFrame if we access it through
        // the document.frames array
        IFrameObj = document.frames['RSIFrame'];
      }
    } catch(exception) {
      // This is for IE5 PC, which does not allow dynamic creation
      // and manipulation of an iframe object. Instead, we'll fake
      // it up by creating our own objects.
      iframeHTML='\<iframe id="RSIFrame" style="';
      iframeHTML+='border:0px;';
      iframeHTML+='width:0px;';
      iframeHTML+='height:0px;';
      iframeHTML+='"><\/iframe>';
      document.body.innerHTML+=iframeHTML;
      IFrameObj = new Object();
      IFrameObj.document = new Object();
      IFrameObj.document.location = new Object();
      IFrameObj.document.location.iframe = document.getElementById('RSIFrame');
      IFrameObj.document.location.replace = function(location) {
        this.iframe.src = location;
      }
    }
  }
	
	if (navigator.userAgent.indexOf('Gecko') !=-1 && !IFrameObj.contentDocument) {
		
		setTimeout('callToServer()',10);
		return false;
	}
	
	if (IFrameObj.contentDocument) {
		
		IFrameDoc = IFrameObj.contentDocument; 
	} else if (IFrameObj.contentWindow) {
		
		IFrameDoc = IFrameObj.contentWindow.document;
	} else if (IFrameObj.document) {
		
		IFrameDoc = IFrameObj.document;
	} else {
		return true;
	}
	//alert(URL);
	IFrameDoc.location.replace(URL);
	return false;
}
	
function handleResponse(msg,obj) {
	var lib = new SoftXMLLib();
	
	document.getElementById(obj).innerHTML=msg;
	
	
	var titleelems = document.getElementsByName("titlecolorch");
	var shortdesccolors = document.getElementsByName("shortdesccolor");
	for(s=0;s<titleelems.length;s++){
		titleelems[s].innerHTML = lib.Decode(titleelems[s].innerHTML);
	}
						
	for(s=0;s<shortdesccolors.length;s++){
		shortdesccolors[s].innerHTML = lib.Decode(shortdesccolors[s].innerHTML);
	}
	//document.write(document.getElementById(obj).innerHTML);
	//document.close();
	//document.getElementById("code").value=document.getElementById(obj).innerHTML;
}
	
		
