var i;
var lati;
var longi;
var position;
var locdone;
var mo;
var yr;
var epheloc;
var offset;

function setDefUserPos()
{
   setAppletParms();
   document.getElementById("panchangam").value = document.WesternCalendarApplet.getCalendarXML();
   doTransform();

}

function doTransform()
{
}

function changeLoc()
{
}

function nextMonth()
{
}

function setMoYr()
{
}

function prevMonth()
{
}

function setTmZn()
{
}
function setAppletParms()
{

   document.WesternCalendarApplet.setCalendarParms(yr,mo+1,lati,longi,offset,epheloc);
}

function initPage()
{
   epheloc = "http\://www.ssarc.com/";
    document.getElementById("panchangam").value = "Waiting..."; 
   setDefaultParms();
}

function setDefaultParms()
{
   
   var curdate = new Date();
   var datestr = curdate + "k";
   var hyph = datestr.lastIndexOf("-");
   offset = datestr.substring(hyph-3,hyph+5);
   mo = curdate.getMonth();
   yr = curdate.getFullYear();

    navigator.geolocation.getCurrentPosition(function(position) {lati = position.coords.latitude;
   longi = position.coords.longitude; setDefUserPos();} ); 
}


//* XML transformation code below *//

function loadRemFile (filename)
{
    var xmlDoc;
    var newxmlnode;

    if (window.ActiveXObject) //* - for IE
    {
        xmlDoc=new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0"); 
        xmlDoc.async=false;
        xmlDoc.load(fname); 
        return(xmlDoc);
    }
    else  //* for non-IE
    {
        var xmlhttp = new window.XMLHttpRequest();
        xmlhttp.open("GET",fname,false);
        xmlhttp.send(null);
        xmlDoc = xmlhttp.responseXML.documentElement;
        newxmlnode = document.importNode(xmlDoc,true);
        return(newxmlnode);  
    }
}

function transformXML(xmlname, xslname)
{
if (document.implementation && document.implementation.createDocument) //* - for non-IE
	{
	var xmltxt
	xmltxt=document.getElementById("xmlcode").value
	if (xmltxt=="")
		{
		alert("The XML is empty")
		return false
		}
	var doc=new DOMParser();
	var xml=doc.parseFromString(xmltxt,"text/xml");

	if (xml.documentElement.nodeName=="parsererror")
		{
		document.write("Error in XML<br /><br />" + xml.documentElement.childNodes[0].nodeValue);
		alert("Error in XML\n\n" + xml.documentElement.childNodes[0].nodeValue);
		return false;
		}
	// XSL:
	var xsltPrs=new XSLTProcessor();
	var xsltxt
	xsltxt=document.getElementById("xsltcode").value
	if (xsltxt=="")
		{
		alert("The XSLT is empty")
		return false
		}
	xsl=doc.parseFromString(xsltxt,"text/xml");
	if (xsl.documentElement.nodeName=="parsererror")
		{
		document.write("Error in XSLT<br /><br />" + xsl.documentElement.childNodes[0].nodeValue);		
		alert("Error in XSLT\n\n" + xsl.documentElement.childNodes[0].nodeValue);
		return false;
		}

	xsltPrs.importStylesheet(xsl);
		
	// Transform:
	var result=xsltPrs.transformToFragment(xml,document);
  	document.getElementById("result_output").appendChild(result);
//	document.replaceChild(result,window.document.childNodes[0])
	}
else if (window.ActiveXObject)
	{
	// IE

	// XML:
	var xmltxt
	xmltxt=document.getElementById("xmlcode").value
	if (xmltxt=="")
		{
		alert("The XML is empty")
		return false;
		}
	xml=new ActiveXObject("MSXML2.DOMDocument");
	xml.async=false
	xml.loadXML(xmltxt)
	if (xml.parseError.errorCode!=0)
		{
		document.write("Error in XML<br /><br />Line " + xml.parseError.line + ": " + xml.parseError.reason);			
		alert("Error in XML\n\nLine " + xml.parseError.line + ": " + xml.parseError.reason);
		return false
		}
	// XSL:
	var xsltxt
	xsltxt=document.getElementById("xsltcode").value
	if (xsltxt=="")
		{
		alert("The XSLT is empty")
		return false
		}
	xsl=new ActiveXObject("Microsoft.XMLDOM")
	xsl.async=false
	xsl.loadXML(xsltxt)
	if (xsl.parseError.errorCode!=0)
		{
		document.write("Error in XSLT<br /><br />Line " + xsl.parseError.line + ": " + xsl.parseError.reason);					
		alert("Error in XSLT\n\nLine " + xsl.parseError.line + ": " + xsl.parseError.reason);
		return false
		}

	// Transform:
	document.write(xml.transformNode(xsl));			
	}
else
	{
	// No Browser support:
	alert("Your browser does not support this example.");
	}
}

