<?xml version="1.0" encoding="utf-8"?>
<!-- 
   Copyright (c) 2009- Boreal - Information Strategies, published under the BSD license.
   See http://geoprisma.org/license for the full text of the license.
 --> 

<xsl:stylesheet version="1.0" xmlns:php="http://php.net/xsl"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:dyn="http://exslt.org/dynamic"
    xmlns:multiprojectionmouseposition="http://geoprisma.org/multiprojectionmouseposition"
    extension-element-prefixes="dyn">
  <xsl:namespace-alias stylesheet-prefix="php" result-prefix="xsl" />

<!-- 
     Function : printWidgetSource

     Print the source code for this widget
-->
  <!-- Call for each widget type-->
  <xsl:template name="multiprojectionmouseposition:printWidgetSource">
    <script>
        <xsl:attribute name="src" >
             <xsl:value-of select="$g_widgets_url"/>
             <xsl:text>/multiprojectionmouseposition/multiprojectionmouseposition.js</xsl:text>
        </xsl:attribute>
    </script>
    <link rel="stylesheet" type="text/css" >
      <xsl:attribute name="href" >
        <xsl:value-of select="$g_widgets_url"/>
        <xsl:text>/multiprojectionmouseposition/MultiProjectionMousePosition.css</xsl:text>
      </xsl:attribute>
    </link>
  </xsl:template>

<!-- 
     Function : printWidgetExecution

     Print the execution code for this widget
-->
  <!-- Call for each widget name-->
  <xsl:template name="multiprojectionmouseposition:printWidgetExecution">
    <xsl:param name="pWidgetName" />
    <xsl:param name="pMapName" />

    <!-- get draw mode  -->
    <xsl:variable name="pDrawMode">
      <xsl:value-of select="$drawmode" />
    </xsl:variable>

    <!-- javascript START -->
    <script type="text/javascript">
	
	objWidgetOptions ={
      <xsl:for-each select="./options">
      <xsl:variable name="i18n_domain" select="./i18n_domain"/>      
        "projections": [
            <xsl:for-each select="./projections/projection">{"label":<xsl:value-of select="php:functionString('multiprojectionmouseposition::getText',string(.),$i18n_domain,'JS')" />
          ,"displayprojection":"<xsl:value-of select="php:function('multiprojectionmouseposition::getDisplayProjectionfromTxt',string(.))" />",
           "format":"<xsl:value-of select="php:function('multiprojectionmouseposition::getFormatfromTxt',string(.))" />",
           "projection": "<xsl:value-of select="."/>"}
          <xsl:if test="not(position()=last())">
            <xsl:text>, </xsl:text>
          </xsl:if>
          </xsl:for-each>], "defaultprojection": "<xsl:value-of select="defaultprojection"/>"
      </xsl:for-each>};

	objGPWidget<xsl:value-of select="$pWidgetName" /> = new OpenLayers.Control.MultiProjectionMousePosition();
	objGPWidget<xsl:value-of select="$pWidgetName" />.widgetOptions = objWidgetOptions;
	oMap.addControl(objGPWidget<xsl:value-of select="$pWidgetName" />);  

    </script>
    <!-- javascript END -->
  </xsl:template>

<!-- 
     Function : drawWidget

     Output the widget depending on the render type
-->
  <!-- Call for each widget name -->
  <xsl:template name="multiprojectionmouseposition:drawWidget">
    <xsl:param name="pWidgetName" />
      
  </xsl:template>


<!--
    Function: getWidgetDepedencies

    Return the list of dependencies for this widget
-->
  <!-- Call for each widget type-->
  <xsl:template name="multiprojectionmouseposition:getWidgetDepedencies">

  </xsl:template>

</xsl:stylesheet>