//کتابخانه xml نوشته شده توسط فرهاد رساپور و سید حسین اسداللهی 870530-2200
var oXslProcessor ='';
//////////////////////////////////////////////////////////////
//این تابع یک رشته XML  را لود می کند
function fncLoadXMLDoc(fname)
{	
	var xmlDoc;
	// code for IE
	if (window.ActiveXObject)
	  {
			  xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
	  }//end of if of activex
	// code for Mozilla, Firefox, Opera, etc.
	else if (document.implementation 
	&& document.implementation.createDocument)
	  {
	  xmlDoc=document.implementation.createDocument("","",null);
	  }
	else
	  {
	  alert('Your browser cannot handle this script');
	  }
	xmlDoc.async=false;
	xmlDoc.load(fname);
	//
	return xmlDoc ;
}
//////////////////////////////////////////////////////////////////////////////////////
function fncLoadXMLString(strInput){
	try //Internet Explorer
	  {
		  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		  xmlDoc.async="false";
		  xmlDoc.loadXML(strInput);
		  return(xmlDoc); 
	  }
	catch(e)
	  {
	  try //Firefox, Mozilla, Opera, etc.
		{
			parser=new DOMParser();
			xmlDoc=parser.parseFromString(strInput,"text/xml");
			return(xmlDoc);
		}
	  catch(e) {alert(e.message)}
	  }
	return(null);
}
//////////////////////////////////////////////////////////////////////////////////////
//این تابع با گرفتن یه 
function fncTransformToHTML(xmlDoc , xslDoc)
{
	// code for IE
	if (window.ActiveXObject)
	  {
    var oXmlDoc = window.ActiveXObject ? new ActiveXObject("MSXML2.DOMDocument.3.0") :
                                        document.implementation.createDocument("","",null);
	  //alert('transfer xmldoc : '+xmlDoc);
	  oXmlDoc.loadXML(xmlDoc);
		  resultDocument=oXmlDoc.transformNode(xslDoc);
	  }
	// code for Mozilla, Firefox, Opera, etc.
	else if (document.implementation 
	&& document.implementation.createDocument)
	  {
		  xsltProcessor=new XSLTProcessor();
		  xsltProcessor.importStylesheet(xslDoc);
		  resultDocument = xsltProcessor.transformToFragment(xmlDoc,document);
		  sSerializer=new XMLSerializer();
		  resultDocument=sSerializer.serializeToString(resultDocument);
	  }
	  return resultDocument;
}//end of fncTransformToHTML
/////////////////////////////////////////////////////////////////////////////////////////
//تابعی که با گرفتن شماره فرم محتویات آنرا گرفته و رشته ارسالی به تابع آجاکس را تنظیم می کند
function fncSetQueryString(intFormNumber) {
		var oForm = document.forms[intFormNumber]
		var aParams = new Array();
		
		for (var i=0 ; i < oForm.elements.length; i++) {
			var sParam = encodeURIComponent(oForm.elements[i].name);
			sParam += "=";
			sParam += encodeURIComponent(oForm.elements[i].value);
			aParams.push(sParam);
		} 
		//strQueryString= aParams;   
		return aParams.join("&");  
		  
}//end of fncSetQueryString