| | |
| | | <AppDesignerFolder>Properties</AppDesignerFolder> |
| | | <RootNamespace>Terra.YaoGan.Common</RootNamespace> |
| | | <AssemblyName>Terra.YaoGan.Common</AssemblyName> |
| | | <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> |
| | | <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
| | | <FileAlignment>512</FileAlignment> |
| | | <Deterministic>true</Deterministic> |
| | | <TargetFrameworkProfile /> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
| | | <DebugSymbols>true</DebugSymbols> |
| | |
| | | <AppDesignerFolder>Properties</AppDesignerFolder> |
| | | <RootNamespace>Terra.YaoGan.Model</RootNamespace> |
| | | <AssemblyName>Terra.YaoGan.Model</AssemblyName> |
| | | <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> |
| | | <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
| | | <FileAlignment>512</FileAlignment> |
| | | <Deterministic>true</Deterministic> |
| | | <TargetFrameworkProfile /> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
| | | <DebugSymbols>true</DebugSymbols> |
| | |
| | | <AppDesignerFolder>Properties</AppDesignerFolder> |
| | | <RootNamespace>Terra.YaoGan.Service</RootNamespace> |
| | | <AssemblyName>Terra.YaoGan.Service</AssemblyName> |
| | | <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> |
| | | <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
| | | <FileAlignment>512</FileAlignment> |
| | | <Deterministic>true</Deterministic> |
| | | <TargetFrameworkProfile /> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
| | | <DebugSymbols>true</DebugSymbols> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | SGLang.lang = $.extend(SGLang.lang,{ |
| | | ToolTitle: "SkylineGlobe - Skyline Software Systems, Inc.", |
| | | ToolName: "Image Comparison", |
| | | ToolName1: "Image Comparison", |
| | | help: "Help", |
| | | Text_ImageryBtn: "Swipe<br>Imagery", |
| | | Text_SnapshotBtn: "Swipe<br>Snapshots", |
| | | Text_3DMLBtn: "Swipe<br>3D Mesh", |
| | | Text_BIMBtn: "Swipe<br>BIM", |
| | | Text1: "Swipe &<br> Fade", |
| | | Text2: "Zoom to an area with an imagery layer <b>OR</b> select an imagery layer from the Project Tree and click:", |
| | | Text3: "Unexpected Error: ", |
| | | Text4: "Swipe<br>& Fade", |
| | | Text_StartSwipe: "Start", |
| | | Text_Freeze: "Freeze", |
| | | Text_Sides: "Sides", |
| | | Text_UpDown: "Up-Down", |
| | | Text_CouldNotDetect: "No imagery layers were detected in the view.<br/> Zoom in to an area with a visible imagery layer and ", |
| | | Text_TryAgain: "try again", |
| | | Text_NoMeshSelected: "Select two different 3D Mesh layers from the list, or zoom in to an area of interest and click Refresh & Detect", |
| | | Text_NotIntersect: "One or more of the selected layers is not in the current view. Zoom in to an area of interest and click Refresh & Detect", |
| | | Text6: "Swipe Snapshots", |
| | | Text7: "Swipe Snapshots Tool", |
| | | Text8: "Swipe 3D Mesh Layers", |
| | | Text9: "Swipe Display Style", |
| | | Text12: "You must capture scenarios A and B before starting comparison operation", |
| | | Text13: "Error while trying to load snapshot file. ", |
| | | Text14: "Compare", |
| | | Text15: "Image Comparison", |
| | | Text16: "Imagery Layer Comparison", |
| | | Text17: "Layer: ", |
| | | Text20: "Error while trying to compare imagery layers. ", |
| | | Text_MeshError: "Error while trying to compare 3D Mesh Layers. ", |
| | | Text21: "Transparency", |
| | | Text22: "Swipe: ", |
| | | Text23: "right-left", |
| | | Text24: "left-right", |
| | | Text25: "top-bottom", |
| | | Text26: "bottom-top", |
| | | Text_Refresh: "Refresh & Detect", |
| | | Text_ModelName: "Layer Name: ", |
| | | Text_Select: "select", |
| | | Text_SelectLayer: "-- Select a Layer --", |
| | | Text_Texture: "Texture", |
| | | Text_TextureWire: "Texture + Wireframe", |
| | | Text_Solid: "Solid", |
| | | Text_SolidWire: "Solid + Wireframe", |
| | | Text_Xray: "X-ray", |
| | | Text_None: "None", |
| | | Text27: "Auto", |
| | | Text29: "Could not detect an imagery layer. Please zoom to an area with a visible imagery layer ", |
| | | Text30: "Dynamic Comparison", |
| | | Text31: "Loading Comparison", |
| | | Text32: "Generating a high quality snapshot. This process may take a few seconds.", |
| | | Text33: "Create a modified scene by showing or hiding objects in the Project Tree,<br/> and then click <b>Compare</b>", |
| | | Text_BIMNotFound: "Unexpected error occurred while trying to get layer ID. ", |
| | | Text_Terrain: "Base Map", |
| | | Text_AlertCaption: "TerraExplorer", |
| | | |
| | | |
| | | Text99: "Finish" |
| | | }); |
¶Ô±ÈÐÂÎļþ |
| | |
| | |  |
| | | <HTML lang=en-US><HEAD> |
| | | <META http-equiv=Content-Type content="text/html; charset=utf-8"><TITLE>TerraExplorer Pro - Skyline Software Systems, Inc.</TITLE><LINK |
| | | href="../Style.css" type=text/css rel=StyleSheet> |
| | | <META content="MSHTML 6.00.2900.5512" name=GENERATOR></HEAD> |
| | | <BODY> |
| | | <TABLE class=s9 cellSpacing=0 cellPadding=0 width="100%" border=0> |
| | | <TBODY> |
| | | <TR> |
| | | <TD class=s12b align=middle>Image Comparison tool </TD></TR> |
| | | <TR> |
| | | <TD><BR> |
| | | <DIV class=WordSection1> |
| | | <P class=MsoNormal>The Image Comparison tool helps you detect changes |
| | | between two aerial images of the same location.</P> |
| | | <P class=MsoNormal> The Image Comparison provides two useful tools |
| | | allowing you easy manual detection of changes between two aerial images or |
| | | between two project scenarios.</P> |
| | | <H3>Using the Imagery Layer Swipe & Fade </H3> |
| | | <P class=MsoNormal> The Imagery Layer Swipe & Fade tool let you |
| | | compare the 3D view with and without an Imagery layer</P> |
| | | <P class=MsoNormal> 1. Zoom to an area with visible Imagery Layer |
| | | </P> |
| | | <P class=MsoNormal> 2. Click the <B>Swipe & Fade</B> button</P> |
| | | <P class=MsoNormal> <B>The Imagery Layer Swipe & Fade tool opens |
| | | with the following controls:</B></P> |
| | | <P class=MsoNormal> 1. Transparency Slider â change the transparency |
| | | slider to control the imagery layer opacity.</P> |
| | | <P class=MsoNormal> 2. Clicking the <B>Auto</B> button automatically |
| | | change the layer opacity value between 0-100%. </P> |
| | | <P class=MsoNormal> 3. Clip Slider â change the Clip slider to reveal |
| | | the base terrain under the Imagery Layer.</P> |
| | | <P class=MsoNormal> 4. Clicking the <B>Auto</B> button automatically |
| | | change the clipping value between 0-100%. </P> |
| | | <H3>Using the 3D View Comparison</H3> |
| | | <P class=MsoNormal> The 3D View Comparison tool let you compare |
| | | snapshots of two project scenarios. </P> |
| | | <P class=MsoNormal> 1. Fly to a location of you desire</P> |
| | | <P class=MsoNormal> 2. click <B>Capture A</B></P> |
| | | <P class=MsoNormal> 3. Turn on the different layers in the Project |
| | | Tree</P> |
| | | <P class=MsoNormal> 4. click <B>Capture B</B></P> |
| | | <P class=MsoNormal> 5. click <B>Compare</B></P> |
| | | <P class=MsoNormal> <B>The 3D View Comparison tool opens with the |
| | | following controls:</B></P> |
| | | <P class=MsoNormal> 1. Transparency Slider â change the transparency |
| | | slider to control the Scenario B snapshot transparency and slowly reveal |
| | | the underneath Scenario A snapshot.</P> |
| | | <P class=MsoNormal> 2. Clip Slider â change the Clip slider to reveal |
| | | part of the underneath Scenario A |
| | | snapshot.</P></DIV></TD></TR></TBODY></TABLE></BODY></HTML> |
| | | |
| | | |
| | | <!--Sig:00000040LMIMguTRvc.IHUlNpFi2t3e58ysj2UYQhtue0haSGrd3Oq9TReU7fmvbhSFY6zJhRrQCDK3PNScCxO8HAHGPJQJJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | SGLang.lang = $.extend(SGLang.lang,{ |
| | | ToolTitle: "SmartEarth - æ³°çæ°åç§æï¼åäº¬ï¼æéå
¬å¸", |
| | | ToolName: "å½±å对æ¯", |
| | | ToolName1: "å½±å对æ¯", |
| | | help: "帮å©", |
| | | Text_ImageryBtn: "æ»å¨<br>å½±å", |
| | | Text_SnapshotBtn: "æ»å¨<br>æªå±", |
| | | Text_3DMLBtn: "æ»å¨<br>3Dç½æ ¼", |
| | | Text_BIMBtn: "æ»å¨<br>BIM", |
| | | Text1: "å·å¸ &<br> æ¸å", |
| | | Text2: "缩æ¾å°å
å«å½±åå¾å±çåºå<b>æ</b>å¨å·¥ç¨æ ä¸éæ©å½±åå¾å±ç¶åç¹å»:", |
| | | Text3: "æå¤é误:", |
| | | Text4: "å·å¸<br>& æ¸å", |
| | | Text_StartSwipe: "å¼å§", |
| | | Text_Freeze: "å»ç»", |
| | | Text_Sides: "è¾¹ç", |
| | | Text_UpDown: "ä¸-ä¸", |
| | | Text_CouldNotDetect: "è§å¾ä¸æ²¡ææ£æµå°ä»»ä½å½±åå¾å±. <br/> 请æ¾å¤§å°å½±åå¾å±çå¯è§åºåå¹¶", |
| | | Text_TryAgain: "éè¯", |
| | | Text_NoMeshSelected: "ä»å表ä¸éæ©ä¸¤ä¸ªä¸åç3DMLå¾å±ï¼ææ¾å¤§å°æå
´è¶£çåºåï¼ç¶ååå»å·æ°&æ£æµ", |
| | | Text_NotIntersect: "ä¸ä¸ªæå¤ä¸ªéå®çå¾å±ä¸å¨å½åè§å¾ä¸. æ¾å¤§å°æå
´è¶£çåºåå¹¶åå»å·æ°&æ£æµ", |
| | | Text6: "æ»å¨å¯¹æ¯æªå±", |
| | | Text7: "æ»å¨å¯¹æ¯æªå±", |
| | | Text8: "æ»å¨å¯¹æ¯3Dç½æ ¼å¾å±", |
| | | Text9: "æ»å¨æ¾ç¤ºæ¨¡å¼", |
| | | Text12: "å¨è¿è¡å¯¹æ¯æä½åç¨æ·å¿
é¡»å
æªååºæ¯Aååºæ¯B. ", |
| | | Text13: "å°è¯å è½½æªå±æä»¶å¤±è´¥", |
| | | Text14: "对æ¯", |
| | | Text15: "å½±å对æ¯", |
| | | Text16: "å½±åå¾å±å¯¹æ¯", |
| | | Text17: "å¾å±: ", |
| | | Text20: "è¯å¾å¯¹æ¯å½±åå¾å±æ¶åºé. ", |
| | | Text_MeshError: "è¯å¾å¯¹æ¯3DMLå¾å±æ¶åºé. ", |
| | | Text21: "éæåº¦", |
| | | Text22: "æ»å¨å¯¹æ¯: ", |
| | | Text23: "å³-å·¦", |
| | | Text24: "å·¦-å³", |
| | | Text25: "é¡¶-åº", |
| | | Text26: "åº-é¡¶", |
| | | Text_Refresh: "å·æ°&æ£æµ", |
| | | Text_ModelName: "å¾å±åç§°: ", |
| | | Text_Select: "éæ©", |
| | | Text_SelectLayer: "-- éæ©å¾å± --", |
| | | Text_Texture: "纹ç", |
| | | Text_TextureWire: "纹ç + ä¸è§ç½", |
| | | Text_Solid: "ç½æ¨¡", |
| | | Text_SolidWire: "ç½æ¨¡ + ä¸è§ç½", |
| | | Text_Xray: "Xå°çº¿", |
| | | Text_None: "æ ", |
| | | Text27: "èªå¨", |
| | | Text29: "æ¥çä¸å°å½±åå¾å±. 请缩æ¾å°å
å«å¯è§å½±åå¾å±çåºå. ", |
| | | Text30: "卿坹æ¯", |
| | | Text31: "å 载对æ¯", |
| | | Text32: "çæé«ç²¾åº¦æªå±æ°æ®. 该è¿ç®è¿ç¨ä¼æç»å ç§é. ", |
| | | Text33: "éè¿å¨å·¥ç¨æ 䏿¾ç¤ºåéè对象æ¥å建修æ¹çåºæ¯ï¼ç¶åç¹å»<b>对æ¯</b>", |
| | | Text_BIMNotFound: "å°è¯è·åå¾å±IDæ¶åçæå¤é误. ", |
| | | Text_Terrain: "åºç¡å°å½¢", |
| | | Text_AlertCaption: "·", |
| | | |
| | | |
| | | Text99: "宿" |
| | | }); |
¶Ô±ÈÐÂÎļþ |
| | |
| | |  |
| | | <HTML lang=zh-CN><HEAD> |
| | | <META http-equiv=Content-Type content="text/html; charset=utf-8"><TITLE>TerraExplorer Pro - æ³°çæ°åç§æï¼åäº¬ï¼æéå
¬å¸</TITLE><LINK |
| | | href="../Style.css" type=text/css rel=StyleSheet> |
| | | <META content="MSHTML 6.00.2900.5512" name=GENERATOR></HEAD> |
| | | <BODY> |
| | | <TABLE class=s9 cellSpacing=0 cellPadding=0 width="100%" border=0> |
| | | <TBODY> |
| | | <TR> |
| | | <TD class=s12b align=middle>å½±å对æ¯å·¥å
·</TD></TR> |
| | | <TR> |
| | | <TD><BR> |
| | | <DIV class=WordSection1> |
| | | <P class=MsoNormal>å½±å对æ¯å·¥å
·å¯å¸®å©ç¨æ·è§å¯åºåä¸ä½ç½®ç两个影åä¹é´çåºå«. </P> |
| | | <P class=MsoNormal>å½±åå¯¹æ¯æä¾äºä¸¤ä¸ªæç¨çå·¥å
·ï¼å¸®å©ç¨æ·è½»æ¾å°æå¨å¯¹æ¯åºä¸¤ä¸ªå½±åæä¸¤ä¸ªå·¥ç¨åºæ¯ä¹é´çåºå«. </P> |
| | | <H3>使ç¨å½±åå¾å±å¯¹æ¯ & æ¸å对æ¯</H3> |
| | | <P class=MsoNormal>å½±åå¾å±å¯¹æ¯ & æ¸åå·¥å
·è®©ç¨æ·å¯ä»¥å°3Dçªå£ä¸æ·»å çå½±åå¾å±åMPTå½±åè¿è¡å¯¹æ¯. </P> |
| | | <P class=MsoNormal>1.æ¾å¤§å°å
å«å½±åå¾å±çåºå</P> |
| | | <P class=MsoNormal>2.ç¹å»<B>对æ¯& æ¸å</B>æé®. </P> |
| | | <P class=MsoNormal><B>æå¼å½±åå¾å±å¯¹æ¯& æ¸åå·¥å
·ï¼å
å«å¦ä¸æ§ä»¶:</B></P> |
| | | <P class=MsoNormal>1.éæåº¦æ»å-æ´æ¹éæåº¦æ»åæ¥æ§å¶å½±åéæåº¦. </P> |
| | | <P class=MsoNormal>2.ç¹å»<B>èªå¨</B>æé®æ¥èªå¨æ´æ¹å¾å±çéæåº¦å¼ï¼è¯¥å¼å¨0-100%ä¹é´. </P> |
| | | <P class=MsoNormal>3.è£åªæ»å-æ»å¨è£åªæ»åæ¥æ¾ç¤ºå½±åå¾å±ä¸çåºç¡å°å½¢æ°æ®. </P> |
| | | <P class=MsoNormal>4.ç¹å»<B>èªå¨</B>æé®æ¥èªå¨æ´æ¹è£åå¼ï¼è¯¥å¼å¨0-100%ä¹é´. </P> |
| | | <H3>使ç¨ä¸ç»´è§å¾å¯¹æ¯</H3> |
| | | <P class=MsoNormal>ä¸ç»´è§å¾å¯¹æ¯å·¥å
·å¯ä½¿ç¨æ·å¯¹æ¯å·¥ç¨ä¸ä¸¤ä¸ªåºæ¯çæªå±æ°æ®. </P> |
| | | <P class=MsoNormal>1.é£å°æå®ä½ç½®</P> |
| | | <P class=MsoNormal>2.ç¹å»<B>ææA</B></P> |
| | | <P class=MsoNormal>3.å¼å¯å·¥ç¨æ ä¸ä¸åçå¾å±. </P> |
| | | <P class=MsoNormal>4.ç¹å»<B>ææB</B></P> |
| | | <P class=MsoNormal>5.ç¹å»<B>对æ¯</B></P> |
| | | <P class=MsoNormal><B>ä¸ç»´è§å¾å¯¹æ¯å·¥å
·è¢«æå¼ï¼å
å«å¦ä¸æ§ä»¶ï¼</B></P> |
| | | <P class=MsoNormal>1.éæåº¦æ»å-æ»å¨éæåº¦æ»åæ¥æ§å¶åºæ¯Bçéæåº¦ï¼æ
¢æ
¢é²åºä¸æ¹çåºæ¯Açæªå±. </P> |
| | | <P class=MsoNormal>2.è£åæ»å-æ»å¨è£åæ»åæ¥é²åºä¸æ¹åºæ¯Açé¨ååºå. |
| | | </P></DIV></TD></TR></TBODY></TABLE></BODY></HTML> |
| | | |
| | | |
| | | <!--Sig:00000040iXnHat0m4i35MLkJ7R9q4TbhR9OYkaGsv3qJVyjhS5uB8Qe0fsXvkVrhZ9OO9#V8g5tMbHa8Gl3otmyWlNC3MrJJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <html> |
| | | <head> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=9" /> |
| | | <title>Image Comparison Tool</title> |
| | | <script type="text/javascript" src="range.js"></script> |
| | | <script type="text/javascript" src="timer.js"></script> |
| | | <script type="text/javascript" src="slider.js"></script> |
| | | |
| | | <link type="text/css" rel="StyleSheet" href="slider.css" /> |
| | | <link rel="StyleSheet" href="../Style.css" type="text/css"> |
| | | <style> |
| | | </style> |
| | | </head> |
| | | <body leftmargin="0px" topmargin="0px" marginwidth="0" marginheight="0" style="border: 0px;overflow:hidden; background-color: #151515" id="Body" class="hideUntillTranslated" onload="Init()" onunload="exitTool();"> |
| | | <table cellpadding ="5" cellspacing = "0" border="0" width="100%" > |
| | | <tr > |
| | | <td> |
| | | <span class="i18n s8w">Text_ModelName</span> |
| | | <b><span id="modelNameID" class="s8w"></span></b> |
| | | </td> |
| | | </tr> |
| | | |
| | | </table> |
| | | |
| | | <table cellpadding ="3" cellspacing = "0" border="0" width="100%" > |
| | | <tr> |
| | | |
| | | <td style="width:215px;" align="center"> |
| | | <select id="Layer1Mode" class="SelectDark" style="width:210px; " onchange="SetLayerRenderMode(1,-1);"> |
| | | <option class="i18n" value=0 selected="selected">Text_Texture</option> |
| | | <option class="i18n" value=32768 >Text_TextureWire</option> |
| | | <option class="i18n" value=3 >Text_Solid</option> |
| | | <option class="i18n" value=32771 >Text_SolidWire</option> |
| | | <option class="i18n" value=2 >Text_Xray</option> |
| | | <option class="i18n" value=-1 >Text_None</option> |
| | | |
| | | </select> |
| | | </td> |
| | | <td style="width:50px;" align="center"> |
| | | <img style="margin-left:5px;" src=".\images\swipeicon.png" alt="" /> |
| | | </td> |
| | | <td style="width:215px;" align="center"> |
| | | <select id="Layer2Mode" class="SelectDark" style="width:210px; " onchange="SetLayerRenderMode(2,-1);"> |
| | | <option class="i18n" value=0 >Text_Texture</option> |
| | | <option class="i18n" value=32768 >Text_TextureWire</option> |
| | | <option class="i18n" value=3 >Text_Solid</option> |
| | | <option class="i18n" value=32771 >Text_SolidWire</option> |
| | | <option class="i18n" value=2 selected="selected">Text_Xray</option> |
| | | <option class="i18n" value=-1 >Text_None</option> |
| | | </select> |
| | | </td> |
| | | </tr> |
| | | <tr style="height: 10px;"><td></td></tr> |
| | | </table> |
| | | |
| | | <table cellpadding ="3" cellspacing = "0" border="0" width="100%" > |
| | | <tr > |
| | | <td style=" width:80px;" align="center"><button id="DirectionID" style="width: 100%;" class="MenuButtonSmallWhite MenuButtonLast" onclick="ChangeDirection();" ><span class="i18n">Text_UpDown</span></button></td> |
| | | <td style=" width:300px;" align="left"> |
| | | <div id="SliderID"> |
| | | <span id="gSliderClip" style="display:inline-block; width: 300px;"><input type="text" id="gSliderClipID" /></span></td> |
| | | </div> |
| | | <td style="width:35px;" align="left"> <span id="clipSpan" class="s8w">100%</span></td> |
| | | <td style="width:35px;" align="center" class="SectionText" onclick="autoPlay(true);" style="cursor:pointer;"><img id="clipIcon" src="Images/autoOff.png" alt="" align="absmiddle"/> </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | |
| | | <script src="../jquery/jquery-1.10.2.js" type="text/javascript"></script> |
| | | <script language="javascript" src="../ToolsCommon71.js"></script> |
| | | <script language="jscript"> |
| | | |
| | | var SGWorld = new ActiveXObject("TerraExplorerX.SGWorld71"); |
| | | |
| | | var gDebug = false; |
| | | var gLayer1ID; |
| | | var gLayer2ID; |
| | | var gLayer1Obj; |
| | | var gLayer2Obj; |
| | | var gLayer1Visibility = true; |
| | | var gLayer1RenderMode; |
| | | var gStartSwipe = false; |
| | | var gLastLevel = 100; |
| | | var gAutoOnOff = false; |
| | | var gCliptimeout; |
| | | var gClipUpdatetimeout; |
| | | var gClipPosition; |
| | | var gSliderClip; |
| | | var gSwipeDirection=1; |
| | | var gDirection = 1; |
| | | var gCameraPos; |
| | | |
| | | //-------------- |
| | | // Init |
| | | function Init() { |
| | | //debugger |
| | | try { |
| | | gLayer1ID = GetParamValue("ID", ""); |
| | | if (gLayer1ID=="") |
| | | { |
| | | gLayer1ID = SGWorld.ProjectTree.GetNextItem (SGWorld.ProjectTree.RootID,10); |
| | | gLayer1Obj = SGWorld.Creator.GetObject(gLayer1ID); |
| | | if (gLayer1Obj.ObjectType == 39){ // feature layer under 3DML - get the parent 3DML |
| | | gLayer1ID = SGWorld.ProjectTree.GetNextItem (gLayer1ID,15); |
| | | gLayer1Obj = SGWorld.Creator.GetObject(gLayer1ID); |
| | | } |
| | | if (gLayer1Obj.ObjectType != 38){ |
| | | TEAlert (SGLang.i18n("Text_AlertCaption"), SGLang.i18n("Text_BIMNotFound")); |
| | | return; |
| | | } |
| | | } |
| | | $("#modelNameID").text(SGWorld.ProjectTree.GetItemName(gLayer1ID)); |
| | | gLayer1Obj= SGWorld.Creator.GetObject(gLayer1ID); |
| | | } |
| | | catch (e) { TEAlert (SGLang.i18n("Text_AlertCaption"),SGLang.i18n("Text_BIMNotFound") ); exitTool();return;} |
| | | |
| | | try { |
| | | |
| | | // Create temporary layer |
| | | var Path = gLayer1Obj.Path; |
| | | var questionmark = Path.indexOf("?"); |
| | | if (checkUrl(Path)) |
| | | gLayer2Obj=SGWorld.Creator.CreateMeshLayerFromSGS(Path.substring(0,questionmark),Path.substring(questionmark+7,Path.length),SGWorld.ProjectTree.HiddenGroupID); |
| | | else |
| | | gLayer2Obj=SGWorld.Creator.CreateMeshLayerFromFile(Path,SGWorld.ProjectTree.HiddenGroupID); |
| | | |
| | | gLayer2ID = gLayer2Obj.ID; |
| | | gLayer2Obj.Position = gLayer1Obj.Position.Copy(); |
| | | gLayer2Obj.Position.Pitch = 0; // This is to overcome a TE bug |
| | | gLayer2Obj.ScaleX = gLayer1Obj.ScaleX; |
| | | gLayer2Obj.ScaleX = gLayer1Obj.ScaleX; |
| | | gLayer2Obj.ScaleY = gLayer1Obj.ScaleY; |
| | | gLayer2Obj.ScaleZ = gLayer1Obj.ScaleZ; |
| | | //gLayer2Obj.SaveInFlyFile = 0; |
| | | |
| | | |
| | | SetLayerRenderMode(1,-1); |
| | | SetLayerRenderMode(2,-1); |
| | | |
| | | SGWorld.AttachEvent("OnProjectTreeAction", OnProjectTreeAction); |
| | | |
| | | } |
| | | catch (e) { TEAlert (SGLang.i18n("Text_AlertCaption"),SGLang.i18n("Text_BIMNotFound") + e.message); return;} |
| | | |
| | | StartSwipe(); |
| | | } |
| | | |
| | | //-------------- |
| | | // checkUrl |
| | | function ChangeDirection(){ |
| | | if (gDirection==1){ |
| | | gDirection=0; |
| | | $("#DirectionID").text(SGLang.i18n("Text_Sides")); |
| | | } |
| | | else { |
| | | |
| | | gDirection=1; |
| | | $("#DirectionID").text(SGLang.i18n("Text_UpDown")); |
| | | } |
| | | SetClipTrans(gSliderClip.getValue(), true); |
| | | |
| | | } |
| | | //-------------- |
| | | // checkUrl |
| | | function checkUrl(s) { |
| | | var regexp = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/ |
| | | return regexp.test(s); |
| | | } |
| | | //-------------- |
| | | // StartSwipe |
| | | function StartSwipe(){ |
| | | try { |
| | | |
| | | gStartSwipe = true; |
| | | gLayer1Visibility = SGWorld.ProjectTree.GetVisibility (gLayer1ID); |
| | | gLayer1RenderMode = gLayer1Obj.DisplayStyle; |
| | | SetLayerRenderMode (1,gLayer1RenderMode); |
| | | gCameraPos = SGWorld.Navigate.GetPosition (); |
| | | SGWorld.ProjectTree.SetVisibility (gLayer1ID,true); |
| | | SGWorld.ProjectTree.SetVisibility (gLayer2ID,true); |
| | | setTimeout ("relocateCamera();",100); // We need it to overcomae a problem of camera "jump" when we turn on layers |
| | | |
| | | SGWorld.Analysis.SetCompareGroup(gLayer1ID, 1); |
| | | SGWorld.Analysis.SetCompareGroup(gLayer2ID, 2); |
| | | |
| | | gSliderClip = new Slider(document.getElementById("gSliderClip"), document.getElementById("gSliderClipID")); |
| | | gSliderClip.setValue(50); |
| | | gSliderClip.setMinimum(0); |
| | | gSliderClip.setMaximum(99); |
| | | gSliderClip.onchange = function () { |
| | | SetClipTrans(gSliderClip.getValue(), false); |
| | | }; |
| | | SetClipTrans(gSliderClip.getValue(), true); |
| | | SGWorld.SetParam(450, 1); |
| | | |
| | | } |
| | | catch (e) { if (gDebug) alert(SGLang.i18n("Text_MeshError") + e.message); } |
| | | } |
| | | |
| | | //-------------- |
| | | // relocateCamera |
| | | // We need it to overcomae a problem of camera "jump" when we turn on layers |
| | | function relocateCamera() { |
| | | SGWorld.Navigate.SetPosition (gCameraPos); |
| | | } |
| | | |
| | | //-------------- |
| | | // |
| | | function SetClipTrans(level, force) { |
| | | if (level == gLastLevel && force == false ) |
| | | return; |
| | | gLastLevel = level; |
| | | |
| | | // Clipping |
| | | try { |
| | | document.getElementById("clipSpan").innerHTML = level + "%"; |
| | | |
| | | var vertices = []; |
| | | |
| | | switch (gDirection){ |
| | | case 0: // Sides |
| | | var boxWidth = Math.max(500, SGWorld.Navigate.GetPosition(0).Altitude*20); // 1000;//LeftPos.DistanceTo(RightPos)*10; |
| | | var Pos = SGWorld.Window.PixelToWorld(SGWorld.Window.Rect.Width* (level) / 100.0, (SGWorld.Window.Rect.Height)-10, 0).Position; |
| | | var Pos1 = SGWorld.Window.PixelToWorld(SGWorld.Window.Rect.Width* (level) / 100.0, (SGWorld.Window.Rect.Height)-50, 0).Position; |
| | | var boxYaw = Pos.AimTo(Pos1).Yaw; |
| | | Pos = Pos.Move (boxWidth,boxYaw ,0); |
| | | Pos = Pos.Move (boxWidth/4,0,-90); |
| | | vertices[0] = Pos; |
| | | Pos = Pos.Move(boxWidth, boxYaw+90 , 0); |
| | | vertices[1] = Pos; |
| | | Pos = Pos.Move(boxWidth*2, boxYaw + 180, 0); |
| | | vertices[2] = Pos; |
| | | Pos = Pos.Move(boxWidth, boxYaw+270, 0); |
| | | vertices[3] = Pos; |
| | | vertices[4] = vertices[0].Move(boxWidth, 0, 90); |
| | | vertices[5] = vertices[1].Move(boxWidth, 0, 90); |
| | | vertices[6] = vertices[2].Move(boxWidth, 0, 90); |
| | | vertices[7] = vertices[3].Move(boxWidth, 0, 90); |
| | | break; |
| | | |
| | | case 1: // Up-Down |
| | | var MinX = gLayer1Obj.BBox.MinX; |
| | | var MinY = gLayer1Obj.BBox.MinY; |
| | | var MaxX = gLayer1Obj.BBox.MaxX; |
| | | var MaxY = gLayer1Obj.BBox.MaxY; |
| | | var MinHeight = gLayer1Obj.BBox.MinHeight + (gLayer1Obj.BBox.MaxHeight-gLayer1Obj.BBox.MinHeight)* (level / 100.0)*1.05; |
| | | var MaxHeight = gLayer1Obj.BBox.MaxHeight*1.05; |
| | | |
| | | vertices[0] = SGWorld.Creator.CreatePosition(MinX,MinY,MinHeight,3,0,0,0,1); |
| | | vertices[1] = SGWorld.Creator.CreatePosition(MinX,MaxY,MinHeight,3,0,0,0,1); |
| | | vertices[2] = SGWorld.Creator.CreatePosition(MaxX,MaxY,MinHeight,3,0,0,0,1); |
| | | vertices[3] = SGWorld.Creator.CreatePosition(MaxX,MinY,MinHeight,3,0,0,0,1); |
| | | vertices[4] = SGWorld.Creator.CreatePosition(MinX,MinY,MaxHeight,3,0,0,0,1); |
| | | vertices[5] = SGWorld.Creator.CreatePosition(MinX,MaxY,MaxHeight,3,0,0,0,1); |
| | | vertices[6] = SGWorld.Creator.CreatePosition(MaxX,MaxY,MaxHeight,3,0,0,0,1); |
| | | vertices[7] = SGWorld.Creator.CreatePosition(MaxX,MinY,MaxHeight,3,0,0,0,1); |
| | | break; |
| | | |
| | | // case 3: // depth |
| | | // var boxWidth = Math.max(50, SGWorld.Navigate.GetPosition(0).Altitude)*10; // 1000;//LeftPos.DistanceTo(RightPos)*10; |
| | | // var Pos = SGWorld.Window.PixelToWorld(5, (SGWorld.Window.Rect.Height)-5, 0).Position; |
| | | // var boxYaw = SGWorld.Navigate.GetPosition(0).Yaw; |
| | | |
| | | // Pos = Pos.Move (boxWidth*level/ 100.0,boxYaw ,0); |
| | | // Pos = Pos.Move (boxWidth/4,0,-90); |
| | | // vertices[0] = Pos; |
| | | // Pos = Pos.Move(boxWidth, boxYaw+90 , 0); |
| | | // vertices[1] = Pos; |
| | | // Pos = Pos.Move(boxWidth, boxYaw+180 , 0); |
| | | // vertices[2] = Pos; |
| | | // Pos = Pos.Move(boxWidth, boxYaw+270, 0); |
| | | // vertices[3] = Pos; |
| | | // vertices[4] = vertices[0].Move(boxWidth, 0, 90); |
| | | // vertices[5] = vertices[1].Move(boxWidth, 0, 90); |
| | | // vertices[6] = vertices[2].Move(boxWidth, 0, 90); |
| | | // vertices[7] = vertices[3].Move(boxWidth, 0, 90); |
| | | // break; |
| | | } |
| | | var BoxGeometry = SGWorld.Creator.GeometryCreator.CreateLineStringGeometry(vertices); |
| | | SGWorld.Analysis.ShowCompareBox(BoxGeometry, false, "#ffffffff"); |
| | | //SGWorld.Creator.CreatePolyline (BoxGeometry,542346, 3); |
| | | |
| | | gClipPosition = SGWorld.Navigate.GetPosition(); |
| | | clearTimeout(gClipUpdatetimeout); |
| | | gClipUpdatetimeout = setTimeout("checkClipUpdate()", 100); |
| | | } |
| | | catch (e) { if (gDebug) alert(SGLang.i18n("Text3") + e.message); } |
| | | } |
| | | //-------------- |
| | | // |
| | | function checkClipUpdate() { |
| | | var currPosition = SGWorld.Navigate.GetPosition() |
| | | if (currPosition.IsEqual(gClipPosition) == false) { |
| | | SetClipTrans(gLastLevel, true); |
| | | } |
| | | else { |
| | | clearTimeout(gClipUpdatetimeout); |
| | | gClipUpdatetimeout = setTimeout("checkClipUpdate()", 100); |
| | | } |
| | | } |
| | | //-------------- |
| | | // |
| | | function autoPlay(fromClick) { |
| | | //debugger |
| | | if (fromClick) { |
| | | gAutoOnOff = !gAutoOnOff; |
| | | } |
| | | |
| | | if (gAutoOnOff) { |
| | | document.getElementById("clipIcon").src = "Images/autoOn.png"; |
| | | var a = gSliderClip.getValue(); |
| | | a = (a + 2) % 101; |
| | | gSliderClip.setValue(a); |
| | | |
| | | gCliptimeout = setTimeout("autoPlay(false)", 20); |
| | | |
| | | } |
| | | else { |
| | | document.getElementById("clipIcon").src = "Images/autoOff.png"; |
| | | clearTimeout(gCliptimeout); |
| | | } |
| | | } |
| | | |
| | | //-------------- |
| | | // SetLayerRenderMode |
| | | function SetLayerRenderMode (layerIndex,forceValue){ |
| | | var LayerID = (layerIndex==1)?gLayer1ID:gLayer2ID; |
| | | var modeID = (layerIndex==1)?$("#Layer1Mode"):$("#Layer2Mode"); |
| | | var obj = (layerIndex==1)?gLayer1Obj:gLayer2Obj; |
| | | var renderMode ; |
| | | if (forceValue==-1) |
| | | renderMode = (layerIndex==1)?$("#Layer1Mode").val():$("#Layer2Mode").val(); |
| | | else{ |
| | | renderMode=forceValue; |
| | | modeID.val(renderMode).change(); |
| | | } |
| | | if (renderMode != -1){ |
| | | obj.Visibility.Show = true; |
| | | obj.DisplayStyle=renderMode; |
| | | } |
| | | else { |
| | | obj.Visibility.Show = false; |
| | | } |
| | | } |
| | | //-------------- |
| | | // OnProjectTreeAction |
| | | function OnProjectTreeAction(ID,Action) { |
| | | try{ |
| | | if (Action.Code == 15 && ID ==gLayer1ID) |
| | | exitTool (); |
| | | } |
| | | catch (e) { if (gDebug) alert(SGLang.i18n("Text3") + e.message);} |
| | | } |
| | | |
| | | //-------------- |
| | | // exitTool |
| | | function exitTool() { |
| | | try { |
| | | SGWorld.ProjectTree.DeleteItem(gLayer2ID); |
| | | if (gStartSwipe){ |
| | | |
| | | if (gLayer1ID != -1) { |
| | | SGWorld.ProjectTree.SetVisibility (gLayer1ID,gLayer1Visibility); |
| | | SetLayerRenderMode (1,gLayer1RenderMode); |
| | | SGWorld.Analysis.SetCompareGroup(gLayer1ID, 0); |
| | | } |
| | | SGWorld.Analysis.HideCompareBox(); |
| | | SGWorld.SetParam(450, 0); |
| | | } |
| | | SGWorld.Window.RemovePopupByCaption(SGLang.i18n("Text9")); |
| | | } |
| | | catch (e) { if (gDebug) alert(SGLang.i18n("Text3") + e.message);} |
| | | } |
| | | |
| | | </script> |
| | | |
| | | </body> |
| | | </html> |
| | | |
| | | |
| | | |
| | | |
| | | <!--Sig:0000004014cB.cwfFPB6gOBTJYSuqR5uTzWVzBz5YczGqPtTrGGV.6bCmfp5bqxQObmf7WgJwnYv1gW2WiSdDjr28LS9JZJJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <html xmlns="http://www.w3.org/1999/xhtml"> |
| | | <head> |
| | | <title>ToolTitle</title> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=9" /> |
| | | |
| | | |
| | | <script language="javascript" src="../ToolsCommon.js"></script> |
| | | |
| | | <link rel="StyleSheet" href="../Style.css" type="text/css"> |
| | | <style> |
| | | .MenuButton |
| | | { |
| | | height: 78px; |
| | | width: 65px; |
| | | margin: 5px; |
| | | white-space: normal;s |
| | | } |
| | | .MenuButtonHighlight |
| | | { |
| | | color: Red; |
| | | font-weight: bold; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="border: 0; |
| | | overflow: auto;" id="Body" onload="Init()" onunload="exitTool();" > |
| | | <!--oncontextmenu="return false;" onclick="bHide=true;HideOptionsNow()" > --> |
| | | <table border="0" width="100%" cellspacing="0" cellpadding="2"> |
| | | <tr> |
| | | <td id="TopAreaTD" height="50px" width="100%" valign="middle" style="background-color: #CAD8E2"> |
| | | <table border="0" width="100%" cellspacing="0" cellpadding="0"> |
| | | <tr> |
| | | <td width="12px"> |
| | | </td> |
| | | <td width="55px"> |
| | | <img src="images/ImageComparisonIcon.gif" /> |
| | | </td> |
| | | <td id="TitleTD" align="center" class="s12b i18n"> |
| | | ToolName |
| | | </td> |
| | | <td valign="top" align="right" id="CloseHelpTd"> |
| | | <img src="../CommonImg/help.gif" border="0" class="i18n" alt="help" title="help" onclick="DisplayHelpPopup6 (SGLang.i18nFile('help.html'),SGLang.i18n('help'))" style="cursor: pointer;"> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </td> |
| | | </tr> |
| | | <tr height="1px"> |
| | | <td style="background-repeat: repeat-x;" background="../CommonImg/separator.gif"> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <br /> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <table> |
| | | |
| | | <tr class="s8"> |
| | | <td colspan="2"> |
| | | <button id="Button1" class="MenuButton" onclick="ImageryLayerCompare()"><span class="i18n">Text_ImageryBtn</span></button> |
| | | <button id="Button2" class="MenuButton" onclick="SnapshotCompare()"><span class="i18n">Text_SnapshotBtn</span></button> |
| | | <button id="Button3" class="MenuButton" onclick="MeshCompare()"><span class="i18n">Text_3DMLBtn</span></button> |
| | | <button id="Button4" class="MenuButton" onclick="BIMCompare()"><span class="i18n">Text_BIMBtn</span></button> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <object id="SGWorld" classid="CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1" style="visibility:hidden;height:0 "></object> |
| | | |
| | | <script language="JavaScript"> |
| | | |
| | | //-------------- |
| | | // Init |
| | | function Init() { |
| | | } |
| | | |
| | | //------------------ |
| | | // Reset |
| | | //------------------ |
| | | function Reset(FirstTime, FromMouseInputMode) { |
| | | |
| | | } |
| | | //--------------- |
| | | // exitTool |
| | | function exitTool() { |
| | | try { |
| | | } |
| | | catch (e) { return } |
| | | |
| | | |
| | | } |
| | | //-------------- |
| | | // SnapshotCompare |
| | | function SnapshotCompare() { |
| | | var url = abspath() + "/SnapshotComparison.html"; ; |
| | | var popupMsg = SGWorld.Creator.CreatePopupMessage(SGLang.i18n("Text6"), url, 10, 10, 480, 120, -1); |
| | | |
| | | popupMsg.Flags = 2 + 128 + 2048; |
| | | SGWorld.Window.ShowPopup(popupMsg); |
| | | } |
| | | |
| | | //-------------- |
| | | // ImageryLayerCompare |
| | | function ImageryLayerCompare() { |
| | | |
| | | var url = abspath() + "/ImageComparisonPopup.html"; |
| | | var popupMsg = SGWorld.Creator.CreatePopupMessage(SGLang.i18n("Text15"), url, 12, 10, 480, 120, -1); |
| | | |
| | | popupMsg.Flags = 2 + 128 ; |
| | | SGWorld.Window.ShowPopup(popupMsg); |
| | | |
| | | } |
| | | //-------------- |
| | | // 3DML MeshCompare |
| | | function MeshCompare() { |
| | | |
| | | var url = abspath() + "/MeshComparisonPopup.html" ; |
| | | var popupMsg = SGWorld.Creator.CreatePopupMessage(SGLang.i18n("Text8"), url, 10, 10, 480, 120, -1); |
| | | |
| | | popupMsg.Flags = 2 + 128 ; |
| | | SGWorld.Window.ShowPopup(popupMsg); |
| | | } |
| | | //-------------- |
| | | // BIM Compare |
| | | function BIMCompare() { |
| | | |
| | | var url = abspath() + "/BIMComparisonPopup.html"; ; |
| | | var popupMsg = SGWorld.Creator.CreatePopupMessage(SGLang.i18n("Text9"), url, 10, 10, 480, 120, -1); |
| | | |
| | | popupMsg.Flags = 2 + 128 ; |
| | | SGWorld.Window.ShowPopup(popupMsg); |
| | | } |
| | | </script> |
| | | |
| | | </body> |
| | | </html> |
| | | |
| | | |
| | | <!--Sig:00000040ZTK3kMKnzdOrjMmW6m#DM4O6vTkGv5AGJI7VidwyAYcD1zTELI12fUf##MmjUzXFKv#1RKrFHOiAd20WenvtG7JJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <html> |
| | | <head> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=9" /> |
| | | <title>Image Comparison Tool</title> |
| | | <script type="text/javascript" src="range.js"></script> |
| | | <script type="text/javascript" src="timer.js"></script> |
| | | <script type="text/javascript" src="slider.js"></script> |
| | | |
| | | <link type="text/css" rel="StyleSheet" href="slider.css" /> |
| | | <link rel="StyleSheet" href="../Style.css" type="text/css"> |
| | | <style> |
| | | </style> |
| | | </head> |
| | | <body onload="Init();" onunload="exitTool();" style="overflow:hidden; border:0;background-color: #151515" leftmargin='0' topmargin="0" marginwidth="0" marginheight="0"> <!-- oncontextmenu="return false;" >--> |
| | | |
| | | <div id="mainDiv" style="position:absolute; left:0px; top:0px; overflow:hidden; height:100%;"> |
| | | |
| | | <table cellpadding ="2" cellspacing = "1" border="0" width="100%" height="100%" > |
| | | <tr > |
| | | <td colspan="4" > |
| | | <span class="i18n NormalText s8w" >Text17</span> |
| | | <span class="i18n LayerHeader s8w" id="LayerNameSpan"></span> |
| | | </td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td style="width:140px;" align="center"> |
| | | <!-- <span class="i18n NormalText" >Text22</span> --> |
| | | <select class="directionSelect NormalText SelectDark" style="vertical-align:middle; width:120px;" id="clipDirectionID" onchange="SetClipTrans(gLastLevel,true);"> |
| | | <option value="0" class="i18n">Text23</option> |
| | | <option value="1" class="i18n">Text24</option> |
| | | <option value="2" class="i18n">Text25</option> |
| | | <option value="3" class="i18n">Text26</option> |
| | | <option value="4" class="i18n">Text21</option> |
| | | </select> |
| | | </td> |
| | | <td style=" width:250px;" align="left"><span id="gSliderClip" style="display:inline-block;width: 250px;"><input type="text" id="gSliderClipID" /></span></td> |
| | | |
| | | <td style="width:35px;" align="left"> <span id="clipSpan" class="NormalText s8w" >100%</span></td> |
| | | |
| | | <td style="width:35px;" align="center" class="SectionText" onclick="autoPlay(true);" style="cursor:pointer;"><img id="clipIcon" src="Images/autoOff.png" alt="" align="absmiddle"/> </td> |
| | | |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | |
| | | <div id="alertDiv" style="position:absolute; left:0px; top:0px; overflow:hidden; height:100%; width: 100%"> |
| | | <table cellpadding ="2" cellspacing = "1" border="0" width="100%" style="height:100%;" > |
| | | <tr > |
| | | <td valign="middle" align="center" class="s10b" style="width: 100%"> |
| | | <span class="i18n s9w" >Text_CouldNotDetect</span><br/> |
| | | <span class="i18n s9w" style="text-decoration: underline; cursor: pointer;" onclick="DetectLayer();" >Text_TryAgain</span> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | <object id="SGWorld" classid="CLSID:3a4f9197-65a8-11d5-85c1-0001023952c1"> |
| | | </object> |
| | | |
| | | |
| | | <script src="../jquery/jquery-1.10.2.js" type="text/javascript"></script> |
| | | <script language="javascript" src="../ToolsCommon71.js"></script> |
| | | <script language="jscript"> |
| | | |
| | | //var SGWorld = new ActiveXObject("TerraExplorerX.SGWorld70"); |
| | | |
| | | var gDebug = true; |
| | | |
| | | var gLastLevel = 100; |
| | | var gLayerObj = null; |
| | | var gImageryLayerGeometry; |
| | | var gAutoOnOff = false; |
| | | var gClipTimeout; |
| | | var gClipUpdatetimeout; |
| | | var gclipPosition; |
| | | var gSliderClip; |
| | | var gImageryLayerAlpha; |
| | | |
| | | |
| | | //-------------- |
| | | // Init |
| | | function Init() { |
| | | DetectLayer(); |
| | | |
| | | } |
| | | //-------------- |
| | | // DetectLayer |
| | | function DetectLayer(){ |
| | | try { |
| | | $("#alertDiv").hide(); |
| | | $("#mainDiv").hide(); |
| | | |
| | | var ObjectID = ""; |
| | | ObjectID = FindImageryLayer(); |
| | | if (ObjectID == "") { |
| | | $("#alertDiv").show(); |
| | | return; |
| | | } |
| | | |
| | | $("#mainDiv").show(); |
| | | gLayerObj = SGWorld.Creator.GetObject(ObjectID); |
| | | document.getElementById("LayerNameSpan").innerHTML = gLayerObj.TreeItem.Name + " " + gLayerObj.ID; |
| | | |
| | | gImageryLayerGeometry = gLayerObj.Geometry.Clone(); |
| | | gImageryLayerAlpha = gLayerObj.FillStyle.Color.GetAlpha(); |
| | | |
| | | gSliderClip = new Slider(document.getElementById("gSliderClip"), document.getElementById("gSliderClipID")); |
| | | gSliderClip.setValue(100); |
| | | gSliderClip.setMinimum(0); |
| | | gSliderClip.setMaximum(100); |
| | | gSliderClip.onchange = function () { |
| | | SetClipTrans(gSliderClip.getValue(), false); |
| | | }; |
| | | |
| | | SGWorld.SetParam(450, 1); |
| | | } |
| | | catch (e) { alert(SGLang.i18n("Text20") + e.message); } |
| | | } |
| | | |
| | | //------------ |
| | | // FindImageryLayer |
| | | function FindImageryLayer() { |
| | | |
| | | var ObjectID = ""; |
| | | var TEObj; |
| | | try { |
| | | // Try to detect if center of the screen points to a valid imagery layer |
| | | for (var i=0; i<200; i++){ |
| | | ObjectID = DetectImageryLayer((SGWorld.Window.Rect.Width-1) * Math.random(), (SGWorld.Window.Rect.Height-1) * Math.random()); |
| | | if (ObjectID != "") |
| | | return ObjectID; |
| | | } |
| | | } |
| | | catch (e) {alert(e.message); } |
| | | return ""; |
| | | } |
| | | //-------------- |
| | | // DetectImageryLayer |
| | | function DetectImageryLayer(x, y) |
| | | { |
| | | |
| | | var ObjectType =26 |
| | | var filter = 4; |
| | | |
| | | var WorldPoint = SGWorld.Window.PixelToWorld(x,y, filter); |
| | | if (WorldPoint.Type == filter) { |
| | | try { |
| | | var TEObj = SGWorld.Creator.GetObject(WorldPoint.ObjectID); |
| | | if (TEObj.ObjectType == ObjectType) { |
| | | return TEObj.ID; |
| | | } |
| | | } |
| | | catch (e) { } |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | //-------------- |
| | | // |
| | | function SetClipTrans(level, force) { |
| | | if (level == gLastLevel && force == false) |
| | | return; |
| | | gLastLevel = level; |
| | | |
| | | try { |
| | | |
| | | // Transparency |
| | | if (document.getElementById("clipDirectionID").value == "4") { |
| | | gLayerObj.Geometry = gImageryLayerGeometry; |
| | | gLayerObj.FillStyle.Color.SetAlpha(level / 100.0); |
| | | document.getElementById("clipSpan").innerHTML = level + "%"; |
| | | return; |
| | | } |
| | | |
| | | // Clipping |
| | | gLayerObj.FillStyle.Color.SetAlpha(gImageryLayerAlpha); |
| | | |
| | | if (level == 100) { |
| | | gLayerObj.Geometry = gImageryLayerGeometry; |
| | | document.getElementById("clipSpan").innerHTML = level + "%"; |
| | | return; |
| | | } |
| | | var RightSide = SGWorld.Window.Rect.Width - 1; |
| | | if (document.getElementById("clipDirectionID").value == "0") // Right 2 Left |
| | | RightSide = RightSide * (level) / 100.0; |
| | | var LeftSide = 0; |
| | | if (document.getElementById("clipDirectionID").value == "1") // Left 2 Right |
| | | LeftSide = RightSide * (100-level) / 100.0; |
| | | var BottomSide = SGWorld.Window.Rect.Height - 1; |
| | | if (document.getElementById("clipDirectionID").value == "3") // Bottom 2 Top |
| | | BottomSide = BottomSide * (level) / 100.0; |
| | | var TopSide = 0; |
| | | if (document.getElementById("clipDirectionID").value == "2") // Top 2 botton |
| | | TopSide = BottomSide * (100 - level) / 100.0; |
| | | |
| | | //Try to find the corners of the current terrain view |
| | | var UppLeft = SGWorld.Window.PixelToWorld(LeftSide, TopSide, 0); |
| | | var UppRight = SGWorld.Window.PixelToWorld(RightSide, TopSide, 0); |
| | | var LowerLeft = SGWorld.Window.PixelToWorld(LeftSide, BottomSide, 0); |
| | | var LowerRight = SGWorld.Window.PixelToWorld(RightSide, BottomSide, 0); |
| | | |
| | | while ((UppLeft.Type & 32) > 0 || (UppRight.Type & 32) > 0) { |
| | | TopSide += SGWorld.Window.Rect.Height / 20; |
| | | if (TopSide > (SGWorld.Window.Rect.Height * 0.9)) |
| | | return; |
| | | UppLeft = SGWorld.Window.PixelToWorld(LeftSide, TopSide, 0); |
| | | UppRight = SGWorld.Window.PixelToWorld(RightSide, TopSide, 0); |
| | | } |
| | | |
| | | var exteriorRing = SGWorld.Creator.GeometryCreator.CreateLinearRingGeometry(Array(UppLeft.Position.X, UppLeft.Position.Y, 0, UppRight.Position.X, UppRight.Position.Y, 0, LowerRight.Position.X, LowerRight.Position.Y, 0, LowerLeft.Position.X, LowerLeft.Position.Y, 0)); |
| | | var PolyGeometry = SGWorld.Creator.GeometryCreator.CreatePolygonGeometry(exteriorRing, null); |
| | | |
| | | gLayerObj.Geometry = PolyGeometry; |
| | | document.getElementById("clipSpan").innerHTML = level + "%"; |
| | | |
| | | gclipPosition = SGWorld.Navigate.GetPosition(); |
| | | clearTimeout(gClipUpdatetimeout); |
| | | gClipUpdatetimeout = setTimeout("checkClipUpdate()", 1000); |
| | | |
| | | |
| | | } |
| | | catch (e) { alert(SGLang.i18n("Text3") + e.message); } |
| | | |
| | | |
| | | } |
| | | //-------------- |
| | | // |
| | | function checkClipUpdate() { |
| | | var currPosition = SGWorld.Navigate.GetPosition() |
| | | if (currPosition.IsEqual(gclipPosition) == false) { |
| | | SetClipTrans(gLastLevel, true); |
| | | } |
| | | else { |
| | | clearTimeout(gClipUpdatetimeout); |
| | | gClipUpdatetimeout = setTimeout("checkClipUpdate()", 1000); |
| | | } |
| | | } |
| | | //-------------- |
| | | // |
| | | function autoPlay(fromClick) { |
| | | //debugger |
| | | if (fromClick) { |
| | | gAutoOnOff = !gAutoOnOff; |
| | | } |
| | | |
| | | if (gAutoOnOff) { |
| | | document.getElementById("clipIcon").src = "Images/autoOn.png"; |
| | | var a = gSliderClip.getValue(); |
| | | a = (a + 2) % 101; |
| | | gSliderClip.setValue(a); |
| | | |
| | | gClipTimeout = setTimeout("autoPlay(false)", 200); |
| | | |
| | | } |
| | | else { |
| | | document.getElementById("clipIcon").src = "Images/autoOff.png"; |
| | | clearTimeout(gClipTimeout); |
| | | } |
| | | } |
| | | |
| | | //-------------- |
| | | // |
| | | function exitTool() { |
| | | try { |
| | | |
| | | SGWorld.SetParam(450, 0); |
| | | if (gLayerObj != null) { |
| | | gLayerObj.FillStyle.Color.SetAlpha(gImageryLayerAlpha); |
| | | gLayerObj.Geometry = gImageryLayerGeometry; |
| | | } |
| | | SGWorld.Window.RemovePopupByCaption(SGLang.i18n("Text15")); |
| | | } |
| | | catch (e) { } |
| | | |
| | | } |
| | | |
| | | </script> |
| | | |
| | | |
| | | </body> |
| | | </html> |
| | | |
| | | |
| | | |
| | | |
| | | <!--Sig:00000040nlV4pRL0Hjcw1jnciBO0s1hTbWsuZjgttu4jOBCjdKg#gkLueGnlnTpKt0gKigfxQWdgGcozixR9mCDSEs5WJ3JJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | SGLang.lang = $.extend(SGLang.lang,{ |
| | | ToolTitle: "SkylineGlobe - Skyline Software Systems, Inc.", |
| | | ToolName: "Image Comparison", |
| | | ToolName1: "Image Comparison", |
| | | help: "Help", |
| | | Text_ImageryBtn: "Swipe<br>Imagery", |
| | | Text_SnapshotBtn: "Swipe<br>Snapshots", |
| | | Text_3DMLBtn: "Swipe<br>3D Mesh", |
| | | Text_BIMBtn: "Swipe<br>BIM", |
| | | Text1: "Swipe &<br> Fade", |
| | | Text2: "Zoom to an area with an imagery layer <b>OR</b> select an imagery layer from the Project Tree and click:", |
| | | Text3: "Unexpected Error: ", |
| | | Text4: "Swipe<br>& Fade", |
| | | Text_StartSwipe: "Start", |
| | | Text_Freeze: "Freeze", |
| | | Text_Sides: "Sides", |
| | | Text_UpDown: "Up-Down", |
| | | Text_CouldNotDetect: "No imagery layers were detected in the view.<br/> Zoom in to an area with a visible imagery layer and ", |
| | | Text_TryAgain: "try again", |
| | | Text_NoMeshSelected: "Select two different 3D Mesh layers from the list, or zoom in to an area of interest and click Refresh & Detect", |
| | | Text_NotIntersect: "One or more of the selected layers is not in the current view. Zoom in to an area of interest and click Refresh & Detect", |
| | | Text6: "Swipe Snapshots", |
| | | Text7: "Swipe Snapshots Tool", |
| | | Text8: "Swipe 3D Mesh Layers", |
| | | Text9: "Swipe Display Style", |
| | | Text12: "You must capture scenarios A and B before starting comparison operation", |
| | | Text13: "Error while trying to load snapshot file. ", |
| | | Text14: "Compare", |
| | | Text15: "Image Comparison", |
| | | Text16: "Imagery Layer Comparison", |
| | | Text17: "Layer: ", |
| | | Text20: "Error while trying to compare imagery layers. ", |
| | | Text_MeshError: "Error while trying to compare 3D Mesh Layers. ", |
| | | Text21: "Transparency", |
| | | Text22: "Swipe: ", |
| | | Text23: "right-left", |
| | | Text24: "left-right", |
| | | Text25: "top-bottom", |
| | | Text26: "bottom-top", |
| | | Text_Refresh: "Refresh & Detect", |
| | | Text_ModelName: "Layer Name: ", |
| | | Text_Select: "select", |
| | | Text_SelectLayer: "-- Select a Layer --", |
| | | Text_Texture: "Texture", |
| | | Text_TextureWire: "Texture + Wireframe", |
| | | Text_Solid: "Solid", |
| | | Text_SolidWire: "Solid + Wireframe", |
| | | Text_Xray: "X-ray", |
| | | Text_None: "None", |
| | | Text27: "Auto", |
| | | Text29: "Could not detect an imagery layer. Please zoom to an area with a visible imagery layer ", |
| | | Text30: "Dynamic Comparison", |
| | | Text31: "Loading Comparison", |
| | | Text32: "Generating a high quality snapshot. This process may take a few seconds.", |
| | | Text33: "Create a modified scene by showing or hiding objects in the Project Tree,<br/> and then click <b>Compare</b>", |
| | | Text_BIMNotFound: "Unexpected error occurred while trying to get layer ID. ", |
| | | Text_Terrain: "Base Map", |
| | | Text_AlertCaption: "TerraExplorer", |
| | | |
| | | |
| | | Text99: "Finish" |
| | | }); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <html> |
| | | <head> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=9" /> |
| | | <title>Image Comparison Tool</title> |
| | | <script type="text/javascript" src="range.js"></script> |
| | | <script type="text/javascript" src="timer.js"></script> |
| | | <script type="text/javascript" src="slider.js"></script> |
| | | |
| | | <link type="text/css" rel="StyleSheet" href="slider.css" /> |
| | | <link rel="StyleSheet" href="../Style.css" type="text/css"> |
| | | <style> |
| | | </style> |
| | | </head> |
| | | <body leftmargin="2px" topmargin="2px" marginwidth="0" marginheight="0" style="border: 0px;overflow:hidden;background-color: #151515" id="Body" class="hideUntillTranslated" onload="Init()" onunload="exitTool();"> |
| | | <div id="topDiv"> |
| | | <table cellpadding ="1" cellspacing = "0" border="0" width="100%" > |
| | | <tr > |
| | | <td> |
| | | <select id="List1ID" class="SelectDark" style="width:220px; " ></select> |
| | | <img style="margin-left:5px;" src=".\images\swipeicon.png" alt="" /> |
| | | <select id="List2ID" class="SelectDark" style="width:220px; " > </select> |
| | | </td> |
| | | </tr> |
| | | <tr id="refreshID"> |
| | | <td> |
| | | <span id="refresh" onclick="RefreshList();" style="text-decoration:underline;cursor:pointer;" class="i18n s8w">Text_Refresh</span> |
| | | </td> |
| | | </tr> |
| | | |
| | | </table> |
| | | </div> |
| | | |
| | | <div id="StartDiv" > |
| | | <table cellpadding ="3" cellspacing = "0" border="0" width="100%" > |
| | | <tr> |
| | | <td align="center" > |
| | | <button id="StartID" class="MenuButtonSmallWhite MenuButtonLast" onclick="StartSwipe(-1,-1);" > <span class="i18n">Text_StartSwipe</span></button> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | |
| | | <div id="SwipeDiv" > |
| | | <table cellpadding ="3" cellspacing = "0" border="0" width="100%" > |
| | | <tr> |
| | | <td style="width:225px;"> |
| | | <!-- <span onclick="selectLayer(1);" style="text-decoration:underline;cursor:pointer;" class="i18n">Text_Select</span> --> |
| | | <select id="Layer1Mode" class="SelectDark" style="width:170px; " onchange="SetLayerRenderMode(1,-1);"> |
| | | <option class="i18n" value=0 >Text_Texture</option> |
| | | <option class="i18n" value=32768 >Text_TextureWire</option> |
| | | <option class="i18n" value=3 >Text_Solid</option> |
| | | <option class="i18n" value=32771 >Text_SolidWire</option> |
| | | <option class="i18n" value=2 >Text_Xray</option> |
| | | </select> |
| | | |
| | | <!-- <span onclick="selectLayer(2);" style="text-decoration:underline;cursor:pointer;" class="i18n">Text_Select</span> --> |
| | | <select id="Layer2Mode" class="SelectDark" style="width:170px; margin-left:75px;" onchange="SetLayerRenderMode(2,-1);"> |
| | | <option class="i18n" value=0 >Text_Texture</option> |
| | | <option class="i18n" value=32768 >Text_TextureWire</option> |
| | | <option class="i18n" value=3 >Text_Solid</option> |
| | | <option class="i18n" value=32771 >Text_SolidWire</option> |
| | | <option class="i18n" value=2 >Text_Xray</option> |
| | | </select> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="height:5px"></td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <table cellpadding ="3" cellspacing = "0" border="0" width="100%" > |
| | | <tr> |
| | | <td style=" width:80px;" align="center"><button id="FreezeID" style="width: 100%;" class="MenuButtonSmallWhite MenuButtonLast" onclick="Freeze();" ><span class="i18n">Text_Freeze</span></button></td> |
| | | <td style=" width:300px;" align="left"> |
| | | <div id="SliderID"> |
| | | <span id="gSliderClip" style="display:inline-block; width: 300px;"><input type="text" id="gSliderClipID" /></span></td> |
| | | </div> |
| | | <td style="width:35px;" align="left"> <span id="clipSpan" class="s8w" >100%</span></td> |
| | | <td style="width:35px;" align="center" class="SectionText" onclick="autoPlay(true);" style="cursor:pointer;"><img id="clipIcon" src="Images/autoOff.png" alt="" align="absmiddle"/></td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | |
| | | |
| | | <script src="../jquery/jquery-1.10.2.js" type="text/javascript"></script> |
| | | <script language="javascript" src="../ToolsCommon71.js"></script> |
| | | <script language="jscript"> |
| | | |
| | | var SGWorld = new ActiveXObject("TerraExplorerX.SGWorld71"); |
| | | |
| | | var gDebug = false; |
| | | var gStartSwipe = false; |
| | | var gLastLevel = 100; |
| | | var gAutoOnOff = false; |
| | | var gCliptimeout; |
| | | var gClipUpdatetimeout; |
| | | var gClipPosition; |
| | | var gSliderClip; |
| | | var gLayer1Visibility = true; |
| | | var gLayer2Visibility = true; |
| | | var gLayer1RenderMode; |
| | | var gLayer2RenderMode; |
| | | var gFreeze = false; |
| | | var gInSwipe=false; |
| | | var gCameraPos; |
| | | //-------------- |
| | | // Init |
| | | function Init() { |
| | | SGWorld.Window.SetInputMode(1, abspath() + "/cursor_wait.cur"); |
| | | |
| | | var ObjectID = ""; |
| | | $("#StartDiv").show(); |
| | | $("#SwipeDiv").hide(); |
| | | RefreshList(); |
| | | |
| | | var Layer1ID = GetParamValue("Layer1ID", "-1"); |
| | | var Layer2ID = GetParamValue("Layer2ID", "-1"); |
| | | if (Layer1ID!="-1" && Layer2ID!="-1") |
| | | StartSwipe(Layer1ID,Layer2ID) |
| | | |
| | | SGWorld.AttachEvent("OnFrame", TEOnFrame); |
| | | SGWorld.Window.SetInputMode(0); |
| | | |
| | | } |
| | | //------------------- |
| | | // RefreshList |
| | | function RefreshList() { |
| | | try { |
| | | |
| | | var viewedIndex = 0; |
| | | |
| | | $("#List1ID").html(""); |
| | | $("#List2ID").html(""); |
| | | var Layers=[]; |
| | | BuildObjectsList(SGWorld.ProjectTree.RootID, Layers, 38); |
| | | |
| | | $("#List1ID").append("<option value=-1>" + SGLang.i18n("Text_SelectLayer") + "</option>"); |
| | | $("#List2ID").append("<option value=-1>" + SGLang.i18n("Text_SelectLayer") + "</option>"); |
| | | Layers.forEach (function (val){ |
| | | var layer1Selected=""; |
| | | var layer2Selected=""; |
| | | |
| | | if (checkIntersactionWithCamera (val)) |
| | | { |
| | | if (viewedIndex==0) |
| | | layer1Selected = " selected='selected' "; |
| | | if (viewedIndex==1) |
| | | layer2Selected = " selected='selected' "; |
| | | viewedIndex++; |
| | | } |
| | | |
| | | var name = SGWorld.ProjectTree.GetItemName (val); |
| | | $("#List1ID").append("<option value=" + val +layer1Selected+ ">" + name + "</option>"); |
| | | $("#List2ID").append("<option value=" + val +layer2Selected+ ">" + name + "</option>"); |
| | | |
| | | }); |
| | | } |
| | | catch (err) { if (gDebug) alert(err.message); } |
| | | } |
| | | //---------- |
| | | // checkIntersactionWithCamera |
| | | function checkIntersactionWithCamera (layer){ |
| | | try { |
| | | |
| | | var Coord0 = SGWorld.Window.pixelToWorld(10, 10, -1 & ~(128|1024)); |
| | | var Coord1 = SGWorld.Window.pixelToWorld(SGWorld.Window.Rect.Width-10, 10, -1 & ~(128|1024)); |
| | | var Coord2 = SGWorld.Window.pixelToWorld(SGWorld.Window.Rect.Width-10, SGWorld.Window.Rect.Height-10, -1 & ~(128|1024)); |
| | | var Coord3 = SGWorld.Window.pixelToWorld(10, SGWorld.Window.Rect.Height-10, -1 & ~(128|1024)); |
| | | var ring = SGWorld.Creator.GeometryCreator.CreateLinearRingGeometry([Coord0.Position.x,Coord0.Position.y,Coord0.Position.Altitude,Coord1.Position.x,Coord1.Position.y,Coord1.Position.Altitude,Coord2.Position.x,Coord2.Position.y,Coord2.Position.Altitude,Coord3.Position.x,Coord3.Position.y,Coord3.Position.Altitude]); |
| | | var geometry = SGWorld.Creator.GeometryCreator.CreatePolygonGeometry (ring,ring); |
| | | |
| | | var layerObj = SGWorld.Creator.GetObject(layer); |
| | | var layerRing = SGWorld.Creator.GeometryCreator.CreateLinearRingGeometry([layerObj.BBox.MinX, layerObj.BBox.MaxY, 0, layerObj.BBox.MaxX, layerObj.BBox.MaxY, 0,layerObj.BBox.MaxX, layerObj.BBox.MinY, 0, layerObj.BBox.MinX, layerObj.BBox.MinY, 0]); |
| | | layerGeometry = SGWorld.Creator.GeometryCreator.CreatePolygonGeometry (layerRing,layerRing); |
| | | |
| | | if (layerGeometry.SpatialRelation.Intersects(geometry) == false ) { |
| | | return false; |
| | | } |
| | | } |
| | | catch (err) { if (gDebug) alert(err.message); return false; } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | //-------------- |
| | | // StartSwipe |
| | | function StartSwipe(Layer1ID,Layer2ID){ |
| | | try { |
| | | if (Layer1ID!="-1" ) // If started from another tool - select the correct layers |
| | | $("#List1ID").val(Layer1ID); |
| | | if (Layer2ID !="-1") |
| | | $("#List2ID").val(Layer2ID); |
| | | |
| | | Layer1ID = $("#List1ID").val(); |
| | | Layer2ID = $("#List2ID").val(); |
| | | |
| | | if (Layer1ID==-1 || Layer2ID==-1 || Layer1ID==Layer2ID) { |
| | | //// need to display the error message div |
| | | TEAlert (SGLang.i18n("Text_AlertCaption"), SGLang.i18n("Text_NoMeshSelected")); |
| | | return; |
| | | } |
| | | |
| | | if (checkIntersactionWithCamera (Layer1ID) == false || checkIntersactionWithCamera (Layer2ID) == false){ |
| | | TEAlert (SGLang.i18n("Text_AlertCaption"), SGLang.i18n("Text_NotIntersect")); |
| | | return; |
| | | } |
| | | |
| | | $("#List1ID").attr('unselectable', 'on'); |
| | | $("#List2ID").attr('unselectable', 'on'); |
| | | $("#refreshID").hide(); |
| | | $("#StartDiv").hide(); |
| | | $("#SwipeDiv").show(); |
| | | $('#topDiv').attr('disabled', true); |
| | | |
| | | gStartSwipe = true; |
| | | gLayer1Visibility = SGWorld.ProjectTree.GetVisibility (Layer1ID); |
| | | gLayer2Visibility = SGWorld.ProjectTree.GetVisibility (Layer2ID); |
| | | gLayer1RenderMode = GetLayerRenderMode(1); |
| | | SetLayerRenderMode (1,gLayer1RenderMode); |
| | | gLayer2RenderMode = GetLayerRenderMode(2); |
| | | SetLayerRenderMode (2,gLayer2RenderMode); |
| | | gCameraPos = SGWorld.Navigate.GetPosition (); |
| | | SGWorld.ProjectTree.SetVisibility (Layer1ID,true); |
| | | SGWorld.ProjectTree.SetVisibility (Layer2ID,true); |
| | | setTimeout ("relocateCamera();",100); // We need it to overcomae a problem of camera "jump" when we turn on layers |
| | | |
| | | SGWorld.Analysis.SetCompareGroup(Layer1ID, 1); |
| | | SGWorld.Analysis.SetCompareGroup(Layer2ID, 2); |
| | | |
| | | gSliderClip = new Slider(document.getElementById("gSliderClip"), document.getElementById("gSliderClipID")); |
| | | gSliderClip.setValue(50); |
| | | gSliderClip.setMinimum(0); |
| | | gSliderClip.setMaximum(99); |
| | | gSliderClip.onchange = function () { |
| | | SetClipTrans(gSliderClip.getValue(), false); |
| | | }; |
| | | SetClipTrans(gSliderClip.getValue(), true); |
| | | SGWorld.SetParam(450, 1); |
| | | |
| | | } |
| | | catch (e) { if (gDebug) alert(SGLang.i18n("Text_MeshError") + e.message); } |
| | | } |
| | | |
| | | //-------------- |
| | | // relocateCamera |
| | | // We need it to overcomae a problem of camera "jump" when we turn on layers |
| | | function relocateCamera() { |
| | | SGWorld.Navigate.SetPosition (gCameraPos); |
| | | } |
| | | |
| | | //-------------- |
| | | // |
| | | function SetClipTrans(level, force) { |
| | | if (gFreeze) { |
| | | gSliderClip.setValue(gSliderFreezeValue); |
| | | return; |
| | | } |
| | | if (level == gLastLevel && force == false ) |
| | | return; |
| | | gLastLevel = level; |
| | | |
| | | // Clipping |
| | | try { |
| | | document.getElementById("clipSpan").innerHTML = level + "%"; |
| | | |
| | | var vertices = []; |
| | | /*** |
| | | vertices[0] = SGWorld.Window.PixelToWorld(SGWorld.Window.Rect.Width* (level) / 100.0, 2, 0).Position; |
| | | vertices[1] = SGWorld.Window.PixelToWorld(SGWorld.Window.Rect.Width-2, 2, 0).Position; |
| | | vertices[2] = SGWorld.Window.PixelToWorld(SGWorld.Window.Rect.Width-2, (SGWorld.Window.Rect.Height)-2, 0).Position; |
| | | vertices[3] = SGWorld.Window.PixelToWorld(SGWorld.Window.Rect.Width* (level) / 100.0, (SGWorld.Window.Rect.Height)-2, 0).Position; |
| | | // vertices[0] = vertices[0].Move(500, 0, -90); |
| | | // vertices[1] = vertices[1].Move(500, 0, -90); |
| | | // vertices[2] = vertices[2].Move(500, 0, -90); |
| | | // vertices[3] = vertices[3].Move(500, 0, -90); |
| | | vertices[4] = vertices[0].Move(1500, 0, 90); |
| | | vertices[5] = vertices[1].Move(1500, 0, 90); |
| | | vertices[6] = vertices[2].Move(1500, 0, 90); |
| | | vertices[7] = vertices[3].Move(1500, 0, 90); |
| | | ***/ |
| | | |
| | | |
| | | //var LeftPos = SGWorld.Window.PixelToWorld(1, (SGWorld.Window.Rect.Height)-1, 0).Position; |
| | | var boxWidth = Math.max(2000, SGWorld.Navigate.GetPosition(0).Altitude*40); // 1000;//LeftPos.DistanceTo(RightPos)*10; |
| | | //var boxYaw = SGWorld.Navigate.GetPosition().Yaw+90; |
| | | var Pos = SGWorld.Window.PixelToWorld(SGWorld.Window.Rect.Width* (level) / 100.0, (SGWorld.Window.Rect.Height)-10, 0).Position; |
| | | var Pos1 = SGWorld.Window.PixelToWorld(SGWorld.Window.Rect.Width* (level) / 100.0, (SGWorld.Window.Rect.Height)-50, 0).Position; |
| | | var boxYaw = Pos.AimTo(Pos1).Yaw; |
| | | //var boxYaw = SGWorld.Navigate.GetPosition().Yaw+90; |
| | | Pos = Pos.Move (boxWidth,boxYaw ,0); |
| | | Pos = Pos.Move (boxWidth/4,0,-90); |
| | | vertices[0] = Pos; |
| | | Pos = Pos.Move(boxWidth, boxYaw+90 , 0); |
| | | vertices[1] = Pos; |
| | | Pos = Pos.Move(boxWidth*2, boxYaw + 180, 0); |
| | | vertices[2] = Pos; |
| | | Pos = Pos.Move(boxWidth, boxYaw+270, 0); |
| | | vertices[3] = Pos; |
| | | |
| | | vertices[4] = vertices[0].Move(boxWidth, 0, 90); |
| | | vertices[5] = vertices[1].Move(boxWidth, 0, 90); |
| | | vertices[6] = vertices[2].Move(boxWidth, 0, 90); |
| | | vertices[7] = vertices[3].Move(boxWidth, 0, 90); |
| | | |
| | | var BoxGeometry = SGWorld.Creator.GeometryCreator.CreateLineStringGeometry(vertices); |
| | | SGWorld.Analysis.ShowCompareBox(BoxGeometry, false, "#ffffffff"); |
| | | //SGWorld.Creator.CreatePolyline (BoxGeometry,542346, 3); |
| | | |
| | | gClipPosition = SGWorld.Navigate.GetPosition(); |
| | | clearTimeout(gClipUpdatetimeout); |
| | | ///gClipUpdatetimeout = setTimeout("checkClipUpdate()", 20); |
| | | gInSwipe=true; |
| | | } |
| | | catch (e) { if (gDebug) alert(SGLang.i18n("Text3") + e.message); } |
| | | } |
| | | //-------------- |
| | | // |
| | | function checkClipUpdate() { |
| | | var currPosition = SGWorld.Navigate.GetPosition() |
| | | if (currPosition.IsEqual(gClipPosition) == false) { |
| | | SetClipTrans(gLastLevel, true); |
| | | } |
| | | // else { |
| | | // clearTimeout(gClipUpdatetimeout); |
| | | // gClipUpdatetimeout = setTimeout("checkClipUpdate()", 20); |
| | | // } |
| | | } |
| | | |
| | | function TEOnFrame() |
| | | { |
| | | if (gInSwipe) |
| | | checkClipUpdate(); |
| | | } |
| | | //-------------- |
| | | // selectLayer |
| | | function selectLayer(index) { |
| | | try { |
| | | var Layer1ID = $("#List1ID").val(); |
| | | var Layer2ID = $("#List2ID").val(); |
| | | |
| | | if (index==1 && Layer1ID!=-1) |
| | | SGWorld.ProjectTree.SelectItem (Layer1ID); |
| | | if (index==2 && Layer2ID!=-1) |
| | | SGWorld.ProjectTree.SelectItem (Layer2ID); |
| | | } |
| | | catch (e) {if (gDebug) alert(SGLang.i18n("Text3") + e.message); } |
| | | } |
| | | var gSliderFreezeValue=0; |
| | | //-------------- |
| | | // |
| | | function Freeze() { |
| | | if (gFreeze){ |
| | | gFreeze = !gFreeze; |
| | | $('#SliderID').on(); |
| | | $("#FreezeID").css( "background-color", "#ffffff" ); |
| | | SetClipTrans(gSliderClip.getValue(), true); |
| | | } |
| | | else { |
| | | $("#FreezeID").css( "background-color", "#0CC2DE" ); |
| | | gSliderFreezeValue = gSliderClip.getValue(); |
| | | gFreeze = !gFreeze; |
| | | } |
| | | } |
| | | //-------------- |
| | | // |
| | | function autoPlay(fromClick) { |
| | | //debugger |
| | | if (fromClick) { |
| | | gAutoOnOff = !gAutoOnOff; |
| | | } |
| | | |
| | | if (gAutoOnOff) { |
| | | document.getElementById("clipIcon").src = "Images/autoOn.png"; |
| | | var a = gSliderClip.getValue(); |
| | | a = (a + 2) % 101; |
| | | gSliderClip.setValue(a); |
| | | |
| | | gCliptimeout = setTimeout("autoPlay(false)", 20); |
| | | |
| | | } |
| | | else { |
| | | document.getElementById("clipIcon").src = "Images/autoOff.png"; |
| | | clearTimeout(gCliptimeout); |
| | | } |
| | | } |
| | | |
| | | //-------------- |
| | | // GetLayerRenderMode |
| | | function GetLayerRenderMode (layerIndex){ |
| | | LayerID = (layerIndex==1)?$("#List1ID").val():Layer2ID = $("#List2ID").val(); |
| | | var obj = SGWorld.Creator.GetObject(LayerID); |
| | | return obj.DisplayStyle; |
| | | } |
| | | //-------------- |
| | | // SetLayerRenderMode |
| | | function SetLayerRenderMode (layerIndex,forceValue){ |
| | | var Layer = (layerIndex==1)?$("#List1ID"):$("#List2ID"); |
| | | var modeID = (layerIndex==1)?$("#Layer1Mode"):$("#Layer2Mode"); |
| | | var LayerID= Layer.val(); |
| | | var obj = SGWorld.Creator.GetObject(LayerID); |
| | | var renderMode ; |
| | | if (forceValue==-1) |
| | | renderMode = (layerIndex==1)?$("#Layer1Mode").val():$("#Layer2Mode").val(); |
| | | else{ |
| | | renderMode=forceValue; |
| | | modeID.val(renderMode).change(); |
| | | } |
| | | obj.DisplayStyle=renderMode; |
| | | } |
| | | //-------------- |
| | | // exitTool |
| | | function exitTool() { |
| | | try { |
| | | if (gStartSwipe){ |
| | | var Layer1ID = $("#List1ID").val(); |
| | | var Layer2ID = $("#List2ID").val(); |
| | | |
| | | if (Layer1ID != -1) { |
| | | SGWorld.ProjectTree.SetVisibility (Layer1ID,gLayer1Visibility); |
| | | SetLayerRenderMode (1,gLayer1RenderMode); |
| | | SGWorld.Analysis.SetCompareGroup(Layer1ID, 0); |
| | | } |
| | | if (Layer2ID != -1) { |
| | | SGWorld.ProjectTree.SetVisibility (Layer2ID,gLayer2Visibility); |
| | | SetLayerRenderMode (2,gLayer2RenderMode); |
| | | SGWorld.Analysis.SetCompareGroup(Layer2ID, 0); |
| | | } |
| | | SGWorld.Analysis.HideCompareBox(); |
| | | SGWorld.SetParam(450, 0); |
| | | SGWorld.DetachEvent("OnFrame", TEOnFrame); |
| | | |
| | | } |
| | | SGWorld.Window.RemovePopupByCaption(SGLang.i18n("Text8")); |
| | | } |
| | | catch (e) { if (gDebug) alert(SGLang.i18n("Text3") + e.message);} |
| | | } |
| | | |
| | | </script> |
| | | |
| | | </body> |
| | | </html> |
| | | |
| | | |
| | | |
| | | |
| | | <!--Sig:000000407NQtd2hdjORvG.thlSAqQAzFU6ZpexE8bfZM7CZX.7XgRrWwRxejIjA1ftkAJGvsQJw5ILar4EneN37YT.DeXSJJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <html xmlns="http://www.w3.org/1999/xhtml"> |
| | | <head> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=9" /> |
| | | <title>ToolTitle</title> |
| | | <script language="javascript" src="../ToolsCommon65.js"></script> |
| | | <link rel="StyleSheet" href="../Style.css" type="text/css"> |
| | | <style> |
| | | </style> |
| | | </head> |
| | | <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="border: 0; overflow: hidden;background-color: #151515" id="Body" onload="Init()" > |
| | | <table border=0 cellPadding=0 CELLSPACING=0 class="s9" width=100%> |
| | | <tr><td class="s9w" align=center> |
| | | <div id="LoadingDiv" style="display:inline"><span class="i18n s9w" >Text32</span> |
| | | </div> |
| | | |
| | | <div id="CompareDiv" style="display:none"> |
| | | <span class="i18n s9w" >Text33</span><br /> |
| | | <br /> |
| | | <button onclick="LoadSnapshotPopup();" class="MenuButtonSmallWhite i18n" >Text14</button> |
| | | </div> |
| | | </td></tr> |
| | | <tr><td> |
| | | </td></tr> |
| | | </table> |
| | | <object id="SGWorld" classid="CLSID:3a4f9197-65a8-11d5-85c1-0001023952c1" style="visibility: hidden; height: 0"></object> |
| | | |
| | | <script language="JavaScript"> |
| | | var snapshotAImg; |
| | | var gStartPosition; |
| | | var gWidth; |
| | | var gHeight; |
| | | //-------------- |
| | | // Init |
| | | function Init() { |
| | | |
| | | gStartPosition = SGWorld.Navigate.GetPosition(3); |
| | | |
| | | window.setTimeout("CaptureA();", 100); |
| | | SGWorld.AttachEvent("OnFrame", onFrame); |
| | | |
| | | } |
| | | //-------------- |
| | | // CaptureA |
| | | function CaptureA() { |
| | | // try { |
| | | var ratio = SGWorld.Window.Rect.Width / SGWorld.Window.Rect.Height; |
| | | gWidth = Math.min(SGWorld.Window.Rect.Width, 1499); |
| | | gHeight = Math.min(gWidth / ratio, 1499); |
| | | snapshotAImg = SGWorld.Window.GetSnapShot(true, gWidth, gHeight, "JPeg75", 1); |
| | | // } |
| | | // catch (err) { alert(err); } |
| | | |
| | | document.getElementById("LoadingDiv").style.display = "none"; |
| | | document.getElementById("CompareDiv").style.display = "inline"; |
| | | } |
| | | //--------------- |
| | | // |
| | | function onFrame() { |
| | | try { |
| | | SGWorld.Navigate.SetPosition(gStartPosition); |
| | | } |
| | | catch (err) { } |
| | | } |
| | | //-------------- |
| | | // LoadSnapshotPopup |
| | | function LoadSnapshotPopup() |
| | | { |
| | | snapshotAImg = snapshotAImg.replace(".jpg", "#jpg"); |
| | | snapshotAImg = snapshotAImg.replace(".tif", "#tif"); |
| | | var url = abspath() + "/SnapshotDetectionPopup.html?A=" + encodeURI(snapshotAImg) + "&lang=" + SGLang.getCode(); |
| | | |
| | | var popupMsg1 = SGWorld.Creator.CreatePopupMessage(SGLang.i18n("Text7"), url, 15, 15, gWidth+18 , gHeight+65 , -1); |
| | | |
| | | popupMsg1.Flags = 2 + 64 + 128; |
| | | SGWorld.Window.ShowPopup(popupMsg1); |
| | | |
| | | |
| | | } |
| | | </script> |
| | | </body> |
| | | |
| | | |
| | | |
| | | |
| | | </html> |
| | | |
| | | |
| | | <!--Sig:00000040CRbVOy3W14WyvOrKDaNrKJ1E0E3J4eXT5SudwnLpaHcGq4s16##u4D4ZDKTMytgD#HW5EbDmb.w35rjt1LrVJhJJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <html> |
| | | <head> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=9" /> |
| | | <title>3D View Comparison</title> |
| | | <script type="text/javascript" src="range.js"></script> |
| | | <script type="text/javascript" src="timer.js"></script> |
| | | <script type="text/javascript" src="slider.js"></script> |
| | | <script language="javascript" src="../ToolsCommon65.js"></script> |
| | | <link type="text/css" rel="StyleSheet" href="slider.css" /> |
| | | |
| | | <link type="text/css" rel="StyleSheet" href="../Style.css" /> |
| | | |
| | | |
| | | <object id="SGWorld" classid="CLSID:3a4f9197-65a8-11d5-85c1-0001023952c1"> |
| | | </object> |
| | | <script language="jscript" type="text/javascript"> |
| | | |
| | | var snapshotAImg; |
| | | var snapshotBImg; |
| | | var sliderClip; |
| | | var lastlevelClip = 0; |
| | | var lastleveltran = 0; |
| | | var ImageryLayerObj; |
| | | var ImageryLayerGeometry; |
| | | var ClipAutoOnOff = false; |
| | | var Cliptimeout; |
| | | |
| | | //-------------- |
| | | // Init |
| | | function Init() { |
| | | |
| | | try { |
| | | |
| | | snapshotAImg = decodeURI(GetParamValue("A", "")); |
| | | snapshotAImg = snapshotAImg.replace("#", "."); |
| | | |
| | | if (snapshotAImg == "") |
| | | { |
| | | alert (SGLang.i18n("Text3") ); |
| | | return; |
| | | } |
| | | |
| | | CaptureB(); |
| | | |
| | | document.getElementById("SnapshotA").src = snapshotAImg; |
| | | document.getElementById("SnapshotB").src = snapshotBImg; |
| | | |
| | | sliderClip = new Slider(document.getElementById("sliderClip"), document.getElementById("sliderClipID")); |
| | | sliderClip.setValue(100); |
| | | sliderClip.setMinimum(0); |
| | | sliderClip.setMaximum(100); |
| | | sliderClip.onchange = function () { |
| | | SetClipTrans(sliderClip.getValue()); |
| | | }; |
| | | |
| | | |
| | | } |
| | | catch (e) { alert(SGLang.i18n("Text13") + e.message); } |
| | | |
| | | document.getElementById("mainTblID").style.visibility = "visible"; |
| | | SGWorld.Window.RemovePopupByCaption(SGLang.i18n("Text6")); |
| | | |
| | | } |
| | | |
| | | |
| | | //-------------- |
| | | // CaptureB |
| | | function CaptureB() { |
| | | try { |
| | | var ratio = SGWorld.Window.Rect.Width / SGWorld.Window.Rect.Height; |
| | | var width = Math.min(SGWorld.Window.Rect.Width, 1499); |
| | | var height = Math.min(width / ratio, 1499); |
| | | snapshotBImg = SGWorld.Window.GetSnapShot(true, width, height, "JPeg75", 0); |
| | | } |
| | | catch (err) {alert (err);} |
| | | |
| | | } |
| | | |
| | | //-------------- |
| | | // SetTransparency |
| | | function SetTransparency(level) { |
| | | try { |
| | | var imgB = document.getElementById("SnapshotB").style; |
| | | imgB.opacity = (level / 100.0); |
| | | imgB.MozOpacity = (level / 100.0); |
| | | imgB.KhtmlOpacity = (level / 100.0); |
| | | imgB.filter = 'alpha(opacity=' + level + ')'; |
| | | |
| | | // document.getElementById("SnapshotA").style.filters.alpha.opacity = level ; |
| | | // filter: alpha(opacity = 40); |
| | | |
| | | |
| | | // ImageryLayerObj.FillStyle.Color.SetAlpha(level / 100.0); |
| | | document.getElementById("clipSpan").innerHTML = level + "%"; |
| | | } |
| | | catch (e) { alert(SGLang.i18n("Text3") + e.message); } |
| | | } |
| | | |
| | | //-------------- |
| | | // SetClip |
| | | function SetClip(level) { |
| | | |
| | | var imgB = document.getElementById("SnapshotB"); |
| | | var divB = document.getElementById("snapshotBDiv").style; |
| | | |
| | | divB.left = 5 + "px"; |
| | | divB.top = 40 + "px"; |
| | | divB.height = imgB.clientHeight + "px"; |
| | | divB.width = imgB.clientWidth + "px"; |
| | | imgB.style.marginLeft = 0; |
| | | imgB.style.marginTop = 0; |
| | | |
| | | if (document.getElementById("clipDirectionID").value == "0") { |
| | | divB.width = imgB.clientWidth * level / 100.0 + "px"; |
| | | } |
| | | if (document.getElementById("clipDirectionID").value == "1") { |
| | | divB.width = imgB.clientWidth * level / 100.0 + "px"; |
| | | var offset = imgB.clientWidth - imgB.clientWidth * level / 100.0; |
| | | divB.left = offset + 5 + "px"; |
| | | imgB.style.marginLeft = -offset + "px"; |
| | | } |
| | | if (document.getElementById("clipDirectionID").value == "2") { |
| | | divB.height = imgB.clientHeight * level / 100.0 + "px"; |
| | | var offset = imgB.clientHeight - imgB.clientHeight * level / 100.0; |
| | | divB.top = offset + 40 + "px"; |
| | | imgB.style.marginTop = -offset + "px"; |
| | | } |
| | | if (document.getElementById("clipDirectionID").value == "3") { |
| | | divB.height = Math.max(1, imgB.clientHeight * level / 100.0) + "px"; |
| | | } |
| | | |
| | | document.getElementById("clipSpan").innerHTML = level + "%"; |
| | | |
| | | } |
| | | |
| | | //-------------- |
| | | // SetClipTrans |
| | | function SetClipTrans(level) { |
| | | |
| | | if (document.getElementById("clipDirectionID").value == "4") { // Transparency |
| | | SetClip(100); |
| | | SetTransparency(level); |
| | | return; |
| | | } |
| | | else { // Clipping |
| | | SetTransparency(100); |
| | | SetClip(level); |
| | | } |
| | | } |
| | | //-------------- |
| | | // DynamicCompare |
| | | function DynamicCompare() { |
| | | |
| | | |
| | | var url = abspath() + "/ImageComparisonPopup.html"; |
| | | var popupMsg = SGWorld.Creator.CreatePopupMessage(SGLang.i18n("Text15"), url, 0, 5, 480, 120, -1); |
| | | |
| | | popupMsg.Flags = 2 + 64 + 128 + 2048; |
| | | SGWorld.Window.ShowPopup(popupMsg); |
| | | |
| | | exitTool(); |
| | | } |
| | | |
| | | |
| | | //-------------- |
| | | // exitTool |
| | | function exitTool() { |
| | | SGWorld.Window.RemovePopupByCaption(SGLang.i18n("Text31")); |
| | | SGWorld.Window.RemovePopupByCaption(SGLang.i18n("Text16")); |
| | | } |
| | | |
| | | </script> |
| | | |
| | | </head> |
| | | <body onload="Init();" onunload="exitTool();" style="overflow:hidden; border: 0;background-color: #151515" leftmargin='2' topmargin="5" marginwidth="0" marginheight="0" > <!-- oncontextmenu="return false;">--> |
| | | <table id="mainTblID" cellpadding ="0" cellspacing = "1" border="0" style="visibility:_hidden;" > |
| | | |
| | | <tr style="color:White"> |
| | | <td style="color:White" > |
| | | <!-- <span class="i18n" >Text22</span> --> |
| | | <select class="SelectDark" style="vertical-align:middle; margin-left: 10px; margin-right: 10px;" id="clipDirectionID" onchange="SetClipTrans(sliderClip.getValue());"> |
| | | <option value="0" class="i18n">Text23</option> |
| | | <option value="1" class="i18n">Text24</option> |
| | | <option value="2" class="i18n">Text25</option> |
| | | <option value="3" class="i18n">Text26</option> |
| | | <option value="4" class="i18n">Text21</option> |
| | | </select> |
| | | </td> |
| | | <td style="width:300px" ><span id="sliderClip" style="display:inline-block;width:300px;"><input type="text" id="sliderClipID" /></span></td> |
| | | <td> <span id="clipSpan" style="color:White">100%</span></td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="4"> |
| | | <div id="snapshotADiv" style="position:absolute; left:5px; top:40px; overflow:hidden"><img id="SnapshotA" src="" alt="snapshot A" /></div> |
| | | <div id="snapshotBDiv" style="position:absolute; left:5px; top:40px; overflow:hidden"><img id="SnapshotB" src="" alt="snapshot B" /></div> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | |
| | | </body> |
| | | </html> |
| | | |
| | | |
| | | <!--Sig:00000040jawIROQstF#SW88I3cqgrVccg7B7ZM5#fsR3ahoMCCrpe0q35MkCsq0iR58VcsQsThQvZFFTDOltvljgf3mzGYJJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <html> |
| | | <HEAD> |
| | | <TITLE>TerraExplorer Pro - Skyline Software Systems, Inc.</TITLE> |
| | | <LINK REL=StyleSheet HREF="../Style.css" TYPE="text/css"> |
| | | </head> |
| | | <body> |
| | | <table border=0 cellPadding=0 CELLSPACING=0 class="s9" width=100%> |
| | | <tr><td class="s12b" align=center> |
| | | Image Comparison tool |
| | | </tD></tr> |
| | | <tr><td> |
| | | <br> |
| | | |
| | | <div class=WordSection1> |
| | | |
| | | <p class=MsoNormal>The Image Comparison tool helps you detect changes between two aerial images of the same location.</p> |
| | | |
| | | |
| | | <p class=MsoNormal> The Image Comparison provides two useful tools allowing you easy manual detection of changes between two aerial images or between two project scenarios.</p> |
| | | |
| | | <h3>Using the Imagery Layer Swipe & Fade </h3> |
| | | <p class=MsoNormal> The Imagery Layer Swipe & Fade tool let you compare the 3D view with and without an Imagery layer</p> |
| | | |
| | | <p class=MsoNormal> 1. Zoom to an area with visible Imagery Layer </p> |
| | | <p class=MsoNormal> 2. Click the <b>Swipe & Fade</b> button</p> |
| | | <p class=MsoNormal> <b>The Imagery Layer Swipe & Fade tool opens with the following controls:</b></p> |
| | | <p class=MsoNormal> 1. Transparency Slider  change the transparency slider to control the imagery layer opacity.</p> |
| | | <p class=MsoNormal> 2. Clicking the <b>Auto</b> button automatically change the layer opacity value between 0-100%. </p> |
| | | <p class=MsoNormal> 3. Clip Slider  change the Clip slider to reveal the base terrain under the Imagery Layer.</p> |
| | | <p class=MsoNormal> 4. Clicking the <b>Auto</b> button automatically change the clipping value between 0-100%. </p> |
| | | |
| | | <h3>Using the 3D View Comparison</h3> |
| | | |
| | | <p class=MsoNormal> The 3D View Comparison tool let you compare snapshots of two project scenarios. </p> |
| | | <p class=MsoNormal> 1. Fly to a location of you desire</p> |
| | | <p class=MsoNormal> 2. click <b>Capture A</b></p> |
| | | <p class=MsoNormal> 3. Turn on the different layers in the Project Tree</p> |
| | | <p class=MsoNormal> 4. click <b>Capture B</b></p> |
| | | <p class=MsoNormal> 5. click <b>Compare</b></p> |
| | | <p class=MsoNormal> <b>The 3D View Comparison tool opens with the following controls:</b></p> |
| | | <p class=MsoNormal> 1. Transparency Slider  change the transparency slider to control the Scenario B snapshot transparency and slowly reveal the underneath Scenario A snapshot.</p> |
| | | <p class=MsoNormal> 2. Clip Slider  change the Clip slider to reveal part of the underneath Scenario A snapshot.</p> |
| | | |
| | | |
| | | </div> |
| | | </td></tr> |
| | | </table> |
| | | </body> |
| | | </html> |
| | | |
| | | |
| | | <!--Sig:00000040wBMfScgAoIdlIHCwC3lwnS1r7iFuHyZ4QlpYXFhnBHwsAJ1E7jEawEowiz5lNc7GWAw6Xzmk5kXQSuDck.5zJvJJ--> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /*----------------------------------------------------------------------------\ |
| | | | Range Class | |
| | | |-----------------------------------------------------------------------------| |
| | | | Created by Erik Arvidsson | |
| | | | (http://webfx.eae.net/contact.html#erik) | |
| | | | For WebFX (http://webfx.eae.net/) | |
| | | |-----------------------------------------------------------------------------| |
| | | | Used to model the data used when working with sliders, scrollbars and | |
| | | | progress bars. Based on the ideas of the javax.swing.BoundedRangeModel | |
| | | | interface defined by Sun for Java; http://java.sun.com/products/jfc/ | |
| | | | swingdoc-api-1.0.3/com/sun/java/swing/BoundedRangeModel.html | |
| | | |-----------------------------------------------------------------------------| |
| | | | Copyright (c) 2002, 2005, 2006 Erik Arvidsson | |
| | | |-----------------------------------------------------------------------------| |
| | | | Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
| | | | use this file except in compliance with the License. You may obtain a copy | |
| | | | of the License at http://www.apache.org/licenses/LICENSE-2.0 | |
| | | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
| | | | Unless required by applicable law or agreed to in writing, software | |
| | | | distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
| | | | WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
| | | | License for the specific language governing permissions and limitations | |
| | | | under the License. | |
| | | |-----------------------------------------------------------------------------| |
| | | | 2002-10-14 | Original version released | |
| | | | 2005-10-27 | Use Math.round instead of Math.floor | |
| | | | 2006-05-28 | Changed license to Apache Software License 2.0. | |
| | | |-----------------------------------------------------------------------------| |
| | | | Created 2002-10-14 | All changes are in the log above. | Updated 2006-05-28 | |
| | | \----------------------------------------------------------------------------*/ |
| | | |
| | | |
| | | function Range() { |
| | | this._value = 0; |
| | | this._minimum = 0; |
| | | this._maximum = 100; |
| | | this._extent = 0; |
| | | |
| | | this._isChanging = false; |
| | | } |
| | | |
| | | Range.prototype.setValue = function (value) { |
| | | value = Math.round(parseFloat(value)); |
| | | if (isNaN(value)) return; |
| | | if (this._value != value) { |
| | | if (value + this._extent > this._maximum) |
| | | this._value = this._maximum - this._extent; |
| | | else if (value < this._minimum) |
| | | this._value = this._minimum; |
| | | else |
| | | this._value = value; |
| | | if (!this._isChanging && typeof this.onchange == "function") |
| | | this.onchange(); |
| | | } |
| | | }; |
| | | |
| | | Range.prototype.getValue = function () { |
| | | return this._value; |
| | | }; |
| | | |
| | | Range.prototype.setExtent = function (extent) { |
| | | if (this._extent != extent) { |
| | | if (extent < 0) |
| | | this._extent = 0; |
| | | else if (this._value + extent > this._maximum) |
| | | this._extent = this._maximum - this._value; |
| | | else |
| | | this._extent = extent; |
| | | if (!this._isChanging && typeof this.onchange == "function") |
| | | this.onchange(); |
| | | } |
| | | }; |
| | | |
| | | Range.prototype.getExtent = function () { |
| | | return this._extent; |
| | | }; |
| | | |
| | | Range.prototype.setMinimum = function (minimum) { |
| | | if (this._minimum != minimum) { |
| | | var oldIsChanging = this._isChanging; |
| | | this._isChanging = true; |
| | | |
| | | this._minimum = minimum; |
| | | |
| | | if (minimum > this._value) |
| | | this.setValue(minimum); |
| | | if (minimum > this._maximum) { |
| | | this._extent = 0; |
| | | this.setMaximum(minimum); |
| | | this.setValue(minimum) |
| | | } |
| | | if (minimum + this._extent > this._maximum) |
| | | this._extent = this._maximum - this._minimum; |
| | | |
| | | this._isChanging = oldIsChanging; |
| | | if (!this._isChanging && typeof this.onchange == "function") |
| | | this.onchange(); |
| | | } |
| | | }; |
| | | |
| | | Range.prototype.getMinimum = function () { |
| | | return this._minimum; |
| | | }; |
| | | |
| | | Range.prototype.setMaximum = function (maximum) { |
| | | if (this._maximum != maximum) { |
| | | var oldIsChanging = this._isChanging; |
| | | this._isChanging = true; |
| | | |
| | | this._maximum = maximum; |
| | | |
| | | if (maximum < this._value) |
| | | this.setValue(maximum - this._extent); |
| | | if (maximum < this._minimum) { |
| | | this._extent = 0; |
| | | this.setMinimum(maximum); |
| | | this.setValue(this._maximum); |
| | | } |
| | | if (maximum < this._minimum + this._extent) |
| | | this._extent = this._maximum - this._minimum; |
| | | if (maximum < this._value + this._extent) |
| | | this._extent = this._maximum - this._value; |
| | | |
| | | this._isChanging = oldIsChanging; |
| | | if (!this._isChanging && typeof this.onchange == "function") |
| | | this.onchange(); |
| | | } |
| | | }; |
| | | |
| | | Range.prototype.getMaximum = function () { |
| | | return this._maximum; |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .dynamic-slider-control { |
| | | position: relative; |
| | | /* background-color: ThreeDFace; */ |
| | | -moz-user-focus: normal; |
| | | -moz-user-select: none; |
| | | cursor: default; |
| | | } |
| | | |
| | | .horizontal { |
| | | width: 200px; |
| | | height: 27px; |
| | | } |
| | | |
| | | .vertical { |
| | | width: 29px; |
| | | height: 200px; |
| | | } |
| | | |
| | | .dynamic-slider-control input { |
| | | display: none; |
| | | } |
| | | |
| | | .dynamic-slider-control .handle { |
| | | position: absolute; |
| | | font-size: 1px; |
| | | overflow: hidden; |
| | | -moz-user-select: none; |
| | | cursor: default; |
| | | } |
| | | |
| | | .dynamic-slider-control.horizontal .handle { |
| | | width: 11px; |
| | | height: 21px; |
| | | background-image: url("images/slider.handle.horizontal.png"); |
| | | } |
| | | |
| | | .dynamic-slider-control.horizontal .handle div {} |
| | | .dynamic-slider-control.horizontal .handle.hover { |
| | | background-image: url("images/slider.handle.horizontal.hover.png"); |
| | | } |
| | | |
| | | .dynamic-slider-control.vertical .handle { |
| | | width: 25px; |
| | | height: 13px; |
| | | background-image: url("images/slider.handle.vertical.png"); |
| | | } |
| | | |
| | | .dynamic-slider-control.vertical .handle.hover { |
| | | background-image: url("images/slider.handle.vertical.hover.png"); |
| | | } |
| | | |
| | | .dynamic-slider-control .line { |
| | | position: absolute; |
| | | font-size: 0.01mm; |
| | | overflow: hidden; |
| | | border: 1px solid; |
| | | border-color: ThreeDShadow ThreeDHighlight |
| | | ThreeDHighlight ThreeDShadow; |
| | | -moz-border-radius: 50%; |
| | | |
| | | /* behavior: url("css/boxsizing.htc"); /* ie path bug */ |
| | | box-sizing: content-box; |
| | | -moz-box-sizing: content-box; |
| | | } |
| | | .dynamic-slider-control.vertical .line { |
| | | width: 2px; |
| | | } |
| | | |
| | | .dynamic-slider-control.horizontal .line { |
| | | height: 2px; |
| | | } |
| | | |
| | | .dynamic-slider-control .line div { |
| | | display: none; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /*----------------------------------------------------------------------------\ |
| | | | Slider 1.02 | |
| | | |-----------------------------------------------------------------------------| |
| | | | Created by Erik Arvidsson | |
| | | | (http://webfx.eae.net/contact.html#erik) | |
| | | | For WebFX (http://webfx.eae.net/) | |
| | | |-----------------------------------------------------------------------------| |
| | | | A slider control that degrades to an input control for non supported | |
| | | | browsers. | |
| | | |-----------------------------------------------------------------------------| |
| | | | Copyright (c) 2002, 2003, 2006 Erik Arvidsson | |
| | | |-----------------------------------------------------------------------------| |
| | | | Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
| | | | use this file except in compliance with the License. You may obtain a copy | |
| | | | of the License at http://www.apache.org/licenses/LICENSE-2.0 | |
| | | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
| | | | Unless required by applicable law or agreed to in writing, software | |
| | | | distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
| | | | WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
| | | | License for the specific language governing permissions and limitations | |
| | | | under the License. | |
| | | |-----------------------------------------------------------------------------| |
| | | | Dependencies: timer.js - an OO abstraction of timers | |
| | | | range.js - provides the data model for the slider | |
| | | | winclassic.css or any other css file describing the look | |
| | | |-----------------------------------------------------------------------------| |
| | | | 2002-10-14 | Original version released | |
| | | | 2003-03-27 | Added a test in the constructor for missing oElement arg | |
| | | | 2003-11-27 | Only use mousewheel when focused | |
| | | | 2006-05-28 | Changed license to Apache Software License 2.0. | |
| | | |-----------------------------------------------------------------------------| |
| | | | Created 2002-10-14 | All changes are in the log above. | Updated 2006-05-28 | |
| | | \----------------------------------------------------------------------------*/ |
| | | |
| | | Slider.isSupported = typeof document.createElement != "undefined" && |
| | | typeof document.documentElement != "undefined" && |
| | | typeof document.documentElement.offsetWidth == "number"; |
| | | |
| | | |
| | | function Slider(oElement, oInput, sOrientation) { |
| | | if (!oElement) return; |
| | | this._orientation = sOrientation || "horizontal"; |
| | | this._range = new Range(); |
| | | this._range.setExtent(0); |
| | | this._blockIncrement = 10; |
| | | this._unitIncrement = 1; |
| | | this._timer = new Timer(100); |
| | | |
| | | |
| | | if (Slider.isSupported && oElement) { |
| | | |
| | | this.document = oElement.ownerDocument || oElement.document; |
| | | |
| | | this.element = oElement; |
| | | this.element.slider = this; |
| | | this.element.unselectable = "on"; |
| | | |
| | | // add class name tag to class name |
| | | this.element.className = this._orientation + " " + this.classNameTag + " " + this.element.className; |
| | | |
| | | // create line |
| | | this.line = this.document.createElement("DIV"); |
| | | this.line.className = "line"; |
| | | this.line.unselectable = "on"; |
| | | this.line.appendChild(this.document.createElement("DIV")); |
| | | this.element.appendChild(this.line); |
| | | |
| | | // create handle |
| | | this.handle = this.document.createElement("DIV"); |
| | | this.handle.className = "handle"; |
| | | this.handle.unselectable = "on"; |
| | | this.handle.appendChild(this.document.createElement("DIV")); |
| | | this.handle.firstChild.appendChild( |
| | | this.document.createTextNode(String.fromCharCode(160))); |
| | | this.element.appendChild(this.handle); |
| | | } |
| | | |
| | | this.input = oInput; |
| | | |
| | | // events |
| | | var oThis = this; |
| | | this._range.onchange = function () { |
| | | oThis.recalculate(); |
| | | if (typeof oThis.onchange == "function") |
| | | oThis.onchange(); |
| | | }; |
| | | |
| | | if (Slider.isSupported && oElement) { |
| | | this.element.onfocus = Slider.eventHandlers.onfocus; |
| | | this.element.onblur = Slider.eventHandlers.onblur; |
| | | this.element.onmousedown = Slider.eventHandlers.onmousedown; |
| | | this.element.onmouseover = Slider.eventHandlers.onmouseover; |
| | | this.element.onmouseout = Slider.eventHandlers.onmouseout; |
| | | this.element.onkeydown = Slider.eventHandlers.onkeydown; |
| | | this.element.onkeypress = Slider.eventHandlers.onkeypress; |
| | | this.element.onmousewheel = Slider.eventHandlers.onmousewheel; |
| | | this.handle.onselectstart = |
| | | this.element.onselectstart = function () { return false; }; |
| | | |
| | | this._timer.ontimer = function () { |
| | | oThis.ontimer(); |
| | | }; |
| | | |
| | | // extra recalculate for ie |
| | | window.setTimeout(function() { |
| | | oThis.recalculate(); |
| | | }, 1); |
| | | } |
| | | else { |
| | | this.input.onchange = function (e) { |
| | | oThis.setValue(oThis.input.value); |
| | | }; |
| | | } |
| | | } |
| | | |
| | | Slider.eventHandlers = { |
| | | |
| | | // helpers to make events a bit easier |
| | | getEvent: function (e, el) { |
| | | if (!e) { |
| | | if (el) |
| | | e = el.document.parentWindow.event; |
| | | else |
| | | e = window.event; |
| | | } |
| | | if (!e.srcElement) { |
| | | var el = e.target; |
| | | while (el != null && el.nodeType != 1) |
| | | el = el.parentNode; |
| | | e.srcElement = el; |
| | | } |
| | | if (typeof e.offsetX == "undefined") { |
| | | e.offsetX = e.layerX; |
| | | e.offsetY = e.layerY; |
| | | } |
| | | |
| | | return e; |
| | | }, |
| | | |
| | | getDocument: function (e) { |
| | | if (e.target) |
| | | return e.target.ownerDocument; |
| | | return e.srcElement.document; |
| | | }, |
| | | |
| | | getSlider: function (e) { |
| | | var el = e.target || e.srcElement; |
| | | while (el != null && el.slider == null) { |
| | | el = el.parentNode; |
| | | } |
| | | if (el) |
| | | return el.slider; |
| | | return null; |
| | | }, |
| | | |
| | | getLine: function (e) { |
| | | var el = e.target || e.srcElement; |
| | | while (el != null && el.className != "line") { |
| | | el = el.parentNode; |
| | | } |
| | | return el; |
| | | }, |
| | | |
| | | getHandle: function (e) { |
| | | var el = e.target || e.srcElement; |
| | | var re = /handle/; |
| | | while (el != null && !re.test(el.className)) { |
| | | el = el.parentNode; |
| | | } |
| | | return el; |
| | | }, |
| | | // end helpers |
| | | |
| | | onfocus: function (e) { |
| | | var s = this.slider; |
| | | s._focused = true; |
| | | s.handle.className = "handle hover"; |
| | | }, |
| | | |
| | | onblur: function (e) { |
| | | var s = this.slider |
| | | s._focused = false; |
| | | s.handle.className = "handle"; |
| | | }, |
| | | |
| | | onmouseover: function (e) { |
| | | e = Slider.eventHandlers.getEvent(e, this); |
| | | var s = this.slider; |
| | | if (e.srcElement == s.handle) |
| | | s.handle.className = "handle hover"; |
| | | }, |
| | | |
| | | onmouseout: function (e) { |
| | | e = Slider.eventHandlers.getEvent(e, this); |
| | | var s = this.slider; |
| | | if (e.srcElement == s.handle && !s._focused) |
| | | s.handle.className = "handle"; |
| | | }, |
| | | |
| | | onmousedown: function (e) { |
| | | e = Slider.eventHandlers.getEvent(e, this); |
| | | var s = this.slider; |
| | | if (s.element.focus) |
| | | s.element.focus(); |
| | | |
| | | Slider._currentInstance = s; |
| | | var doc = s.document; |
| | | |
| | | if (doc.addEventListener) { |
| | | doc.addEventListener("mousemove", Slider.eventHandlers.onmousemove, true); |
| | | doc.addEventListener("mouseup", Slider.eventHandlers.onmouseup, true); |
| | | } |
| | | else if (doc.attachEvent) { |
| | | doc.attachEvent("onmousemove", Slider.eventHandlers.onmousemove); |
| | | doc.attachEvent("onmouseup", Slider.eventHandlers.onmouseup); |
| | | doc.attachEvent("onlosecapture", Slider.eventHandlers.onmouseup); |
| | | s.element.setCapture(); |
| | | } |
| | | |
| | | if (Slider.eventHandlers.getHandle(e)) { // start drag |
| | | Slider._sliderDragData = { |
| | | screenX: e.screenX, |
| | | screenY: e.screenY, |
| | | dx: e.screenX - s.handle.offsetLeft, |
| | | dy: e.screenY - s.handle.offsetTop, |
| | | startValue: s.getValue(), |
| | | slider: s |
| | | }; |
| | | } |
| | | else { |
| | | var lineEl = Slider.eventHandlers.getLine(e); |
| | | s._mouseX = e.offsetX + (lineEl ? s.line.offsetLeft : 0); |
| | | s._mouseY = e.offsetY + (lineEl ? s.line.offsetTop : 0); |
| | | s._increasing = null; |
| | | s.ontimer(); |
| | | } |
| | | }, |
| | | |
| | | onmousemove: function (e) { |
| | | e = Slider.eventHandlers.getEvent(e, this); |
| | | |
| | | if (Slider._sliderDragData) { // drag |
| | | var s = Slider._sliderDragData.slider; |
| | | |
| | | var boundSize = s.getMaximum() - s.getMinimum(); |
| | | var size, pos, reset; |
| | | |
| | | if (s._orientation == "horizontal") { |
| | | size = s.element.offsetWidth - s.handle.offsetWidth; |
| | | pos = e.screenX - Slider._sliderDragData.dx; |
| | | reset = Math.abs(e.screenY - Slider._sliderDragData.screenY) > 100; |
| | | } |
| | | else { |
| | | size = s.element.offsetHeight - s.handle.offsetHeight; |
| | | pos = s.element.offsetHeight - s.handle.offsetHeight - |
| | | (e.screenY - Slider._sliderDragData.dy); |
| | | reset = Math.abs(e.screenX - Slider._sliderDragData.screenX) > 100; |
| | | } |
| | | s.setValue(reset ? Slider._sliderDragData.startValue : |
| | | s.getMinimum() + boundSize * pos / size); |
| | | return false; |
| | | } |
| | | else { |
| | | var s = Slider._currentInstance; |
| | | if (s != null) { |
| | | var lineEl = Slider.eventHandlers.getLine(e); |
| | | s._mouseX = e.offsetX + (lineEl ? s.line.offsetLeft : 0); |
| | | s._mouseY = e.offsetY + (lineEl ? s.line.offsetTop : 0); |
| | | } |
| | | } |
| | | |
| | | }, |
| | | |
| | | onmouseup: function (e) { |
| | | e = Slider.eventHandlers.getEvent(e, this); |
| | | var s = Slider._currentInstance; |
| | | var doc = s.document; |
| | | if (doc.removeEventListener) { |
| | | doc.removeEventListener("mousemove", Slider.eventHandlers.onmousemove, true); |
| | | doc.removeEventListener("mouseup", Slider.eventHandlers.onmouseup, true); |
| | | } |
| | | else if (doc.detachEvent) { |
| | | doc.detachEvent("onmousemove", Slider.eventHandlers.onmousemove); |
| | | doc.detachEvent("onmouseup", Slider.eventHandlers.onmouseup); |
| | | doc.detachEvent("onlosecapture", Slider.eventHandlers.onmouseup); |
| | | s.element.releaseCapture(); |
| | | } |
| | | |
| | | if (Slider._sliderDragData) { // end drag |
| | | Slider._sliderDragData = null; |
| | | } |
| | | else { |
| | | s._timer.stop(); |
| | | s._increasing = null; |
| | | } |
| | | Slider._currentInstance = null; |
| | | }, |
| | | |
| | | onkeydown: function (e) { |
| | | e = Slider.eventHandlers.getEvent(e, this); |
| | | //var s = Slider.eventHandlers.getSlider(e); |
| | | var s = this.slider; |
| | | var kc = e.keyCode; |
| | | switch (kc) { |
| | | case 33: // page up |
| | | s.setValue(s.getValue() + s.getBlockIncrement()); |
| | | break; |
| | | case 34: // page down |
| | | s.setValue(s.getValue() - s.getBlockIncrement()); |
| | | break; |
| | | case 35: // end |
| | | s.setValue(s.getOrientation() == "horizontal" ? |
| | | s.getMaximum() : |
| | | s.getMinimum()); |
| | | break; |
| | | case 36: // home |
| | | s.setValue(s.getOrientation() == "horizontal" ? |
| | | s.getMinimum() : |
| | | s.getMaximum()); |
| | | break; |
| | | case 38: // up |
| | | case 39: // right |
| | | s.setValue(s.getValue() + s.getUnitIncrement()); |
| | | break; |
| | | |
| | | case 37: // left |
| | | case 40: // down |
| | | s.setValue(s.getValue() - s.getUnitIncrement()); |
| | | break; |
| | | } |
| | | |
| | | if (kc >= 33 && kc <= 40) { |
| | | return false; |
| | | } |
| | | }, |
| | | |
| | | onkeypress: function (e) { |
| | | e = Slider.eventHandlers.getEvent(e, this); |
| | | var kc = e.keyCode; |
| | | if (kc >= 33 && kc <= 40) { |
| | | return false; |
| | | } |
| | | }, |
| | | |
| | | onmousewheel: function (e) { |
| | | e = Slider.eventHandlers.getEvent(e, this); |
| | | var s = this.slider; |
| | | if (s._focused) { |
| | | s.setValue(s.getValue() + e.wheelDelta / 120 * s.getUnitIncrement()); |
| | | // windows inverts this on horizontal sliders. That does not |
| | | // make sense to me |
| | | return false; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | |
| | | |
| | | Slider.prototype.classNameTag = "dynamic-slider-control", |
| | | |
| | | Slider.prototype.setValue = function (v) { |
| | | this._range.setValue(v); |
| | | this.input.value = this.getValue(); |
| | | }; |
| | | |
| | | Slider.prototype.getValue = function () { |
| | | return this._range.getValue(); |
| | | }; |
| | | |
| | | Slider.prototype.setMinimum = function (v) { |
| | | this._range.setMinimum(v); |
| | | this.input.value = this.getValue(); |
| | | }; |
| | | |
| | | Slider.prototype.getMinimum = function () { |
| | | return this._range.getMinimum(); |
| | | }; |
| | | |
| | | Slider.prototype.setMaximum = function (v) { |
| | | this._range.setMaximum(v); |
| | | this.input.value = this.getValue(); |
| | | }; |
| | | |
| | | Slider.prototype.getMaximum = function () { |
| | | return this._range.getMaximum(); |
| | | }; |
| | | |
| | | Slider.prototype.setUnitIncrement = function (v) { |
| | | this._unitIncrement = v; |
| | | }; |
| | | |
| | | Slider.prototype.getUnitIncrement = function () { |
| | | return this._unitIncrement; |
| | | }; |
| | | |
| | | Slider.prototype.setBlockIncrement = function (v) { |
| | | this._blockIncrement = v; |
| | | }; |
| | | |
| | | Slider.prototype.getBlockIncrement = function () { |
| | | return this._blockIncrement; |
| | | }; |
| | | |
| | | Slider.prototype.getOrientation = function () { |
| | | return this._orientation; |
| | | }; |
| | | |
| | | Slider.prototype.setOrientation = function (sOrientation) { |
| | | if (sOrientation != this._orientation) { |
| | | if (Slider.isSupported && this.element) { |
| | | // add class name tag to class name |
| | | this.element.className = this.element.className.replace(this._orientation, |
| | | sOrientation); |
| | | } |
| | | this._orientation = sOrientation; |
| | | this.recalculate(); |
| | | |
| | | } |
| | | }; |
| | | |
| | | Slider.prototype.recalculate = function() { |
| | | if (!Slider.isSupported || !this.element) return; |
| | | |
| | | var w = this.element.offsetWidth; |
| | | var h = this.element.offsetHeight; |
| | | var hw = this.handle.offsetWidth; |
| | | var hh = this.handle.offsetHeight; |
| | | var lw = this.line.offsetWidth; |
| | | var lh = this.line.offsetHeight; |
| | | |
| | | // this assumes a border-box layout |
| | | |
| | | if (this._orientation == "horizontal") { |
| | | this.handle.style.left = (w - hw) * (this.getValue() - this.getMinimum()) / |
| | | (this.getMaximum() - this.getMinimum()) + "px"; |
| | | this.handle.style.top = (h - hh) / 2 + "px"; |
| | | |
| | | this.line.style.top = (h - lh) / 2 + "px"; |
| | | this.line.style.left = hw / 2 + "px"; |
| | | //this.line.style.right = hw / 2 + "px"; |
| | | this.line.style.width = Math.max(0, w - hw - 2)+ "px"; |
| | | this.line.firstChild.style.width = Math.max(0, w - hw - 4)+ "px"; |
| | | } |
| | | else { |
| | | this.handle.style.left = (w - hw) / 2 + "px"; |
| | | this.handle.style.top = h - hh - (h - hh) * (this.getValue() - this.getMinimum()) / |
| | | (this.getMaximum() - this.getMinimum()) + "px"; |
| | | |
| | | this.line.style.left = (w - lw) / 2 + "px"; |
| | | this.line.style.top = hh / 2 + "px"; |
| | | this.line.style.height = Math.max(0, h - hh - 2) + "px"; //hard coded border width |
| | | //this.line.style.bottom = hh / 2 + "px"; |
| | | this.line.firstChild.style.height = Math.max(0, h - hh - 4) + "px"; //hard coded border width |
| | | } |
| | | }; |
| | | |
| | | Slider.prototype.ontimer = function () { |
| | | var hw = this.handle.offsetWidth; |
| | | var hh = this.handle.offsetHeight; |
| | | var hl = this.handle.offsetLeft; |
| | | var ht = this.handle.offsetTop; |
| | | |
| | | if (this._orientation == "horizontal") { |
| | | if (this._mouseX > hl + hw && |
| | | (this._increasing == null || this._increasing)) { |
| | | this.setValue(this.getValue() + this.getBlockIncrement()); |
| | | this._increasing = true; |
| | | } |
| | | else if (this._mouseX < hl && |
| | | (this._increasing == null || !this._increasing)) { |
| | | this.setValue(this.getValue() - this.getBlockIncrement()); |
| | | this._increasing = false; |
| | | } |
| | | } |
| | | else { |
| | | if (this._mouseY > ht + hh && |
| | | (this._increasing == null || !this._increasing)) { |
| | | this.setValue(this.getValue() - this.getBlockIncrement()); |
| | | this._increasing = false; |
| | | } |
| | | else if (this._mouseY < ht && |
| | | (this._increasing == null || this._increasing)) { |
| | | this.setValue(this.getValue() + this.getBlockIncrement()); |
| | | this._increasing = true; |
| | | } |
| | | } |
| | | |
| | | this._timer.start(); |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /*----------------------------------------------------------------------------\ |
| | | | Timer Class | |
| | | |-----------------------------------------------------------------------------| |
| | | | Created by Erik Arvidsson | |
| | | | (http://webfx.eae.net/contact.html#erik) | |
| | | | For WebFX (http://webfx.eae.net/) | |
| | | |-----------------------------------------------------------------------------| |
| | | | Object Oriented Encapsulation of setTimeout fires ontimer when the timer | |
| | | | is triggered. Does not work in IE 5.00 | |
| | | |-----------------------------------------------------------------------------| |
| | | | Copyright (c) 2002, 2006 Erik Arvidsson | |
| | | |-----------------------------------------------------------------------------| |
| | | | Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
| | | | use this file except in compliance with the License. You may obtain a copy | |
| | | | of the License at http://www.apache.org/licenses/LICENSE-2.0 | |
| | | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
| | | | Unless required by applicable law or agreed to in writing, software | |
| | | | distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
| | | | WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
| | | | License for the specific language governing permissions and limitations | |
| | | | under the License. | |
| | | |-----------------------------------------------------------------------------| |
| | | | 2002-10-14 | Original version released | |
| | | | 2006-05-28 | Changed license to Apache Software License 2.0. | |
| | | |-----------------------------------------------------------------------------| |
| | | | Created 2002-10-14 | All changes are in the log above. | Updated 2006-05-28 | |
| | | \----------------------------------------------------------------------------*/ |
| | | |
| | | function Timer(nPauseTime) { |
| | | this._pauseTime = typeof nPauseTime == "undefined" ? 1000 : nPauseTime; |
| | | this._timer = null; |
| | | this._isStarted = false; |
| | | } |
| | | |
| | | Timer.prototype.start = function () { |
| | | if (this.isStarted()) |
| | | this.stop(); |
| | | var oThis = this; |
| | | this._timer = window.setTimeout(function () { |
| | | if (typeof oThis.ontimer == "function") |
| | | oThis.ontimer(); |
| | | }, this._pauseTime); |
| | | this._isStarted = false; |
| | | }; |
| | | |
| | | Timer.prototype.stop = function () { |
| | | if (this._timer != null) |
| | | window.clearTimeout(this._timer); |
| | | this._isStarted = false; |
| | | }; |
| | | |
| | | Timer.prototype.isStarted = function () { |
| | | return this._isStarted; |
| | | }; |
| | | |
| | | Timer.prototype.getPauseTime = function () { |
| | | return this._pauseTime; |
| | | }; |
| | | |
| | | Timer.prototype.setPauseTime = function (nPauseTime) { |
| | | this._pauseTime = nPauseTime; |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /*! |
| | | * jQuery JavaScript Library v1.4.2 |
| | | * http://jquery.com/ |
| | | * |
| | | * Copyright 2010, John Resig |
| | | * Dual licensed under the MIT or GPL Version 2 licenses. |
| | | * http://jquery.org/license |
| | | * |
| | | * Includes Sizzle.js |
| | | * http://sizzlejs.com/ |
| | | * Copyright 2010, The Dojo Foundation |
| | | * Released under the MIT, BSD, and GPL Licenses. |
| | | * |
| | | * Date: Sat Feb 13 22:33:48 2010 -0500 |
| | | */ |
| | | (function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i? |
| | | e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r= |
| | | j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g, |
| | | "&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e= |
| | | true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, |
| | | Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& |
| | | (d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, |
| | | a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== |
| | | "find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, |
| | | function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)|| |
| | | c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded", |
| | | L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype, |
| | | "isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+ |
| | | a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f], |
| | | d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]=== |
| | | a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&& |
| | | !c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari= |
| | | true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; |
| | | var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, |
| | | parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= |
| | | false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= |
| | | s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, |
| | | applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; |
| | | else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, |
| | | a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== |
| | | w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, |
| | | cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ", |
| | | i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ", |
| | | " ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className= |
| | | this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i= |
| | | e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= |
| | | c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); |
| | | a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, |
| | | function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); |
| | | k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), |
| | | C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!= |
| | | null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type= |
| | | e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& |
| | | f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; |
| | | if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), |
| | | fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop|| |
| | | d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this, |
| | | "events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent= |
| | | a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y, |
| | | isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit= |
| | | {setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}}; |
| | | if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", |
| | | e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, |
| | | "_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, |
| | | d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&& |
| | | !a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}}, |
| | | toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector, |
| | | u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), |
| | | function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q]; |
| | | if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, |
| | | e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); |
| | | t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| |
| | | g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[]; |
| | | for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length- |
| | | 1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, |
| | | CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}}, |
| | | relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]= |
| | | l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[]; |
| | | h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, |
| | | CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, |
| | | g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, |
| | | text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, |
| | | setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= |
| | | h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m= |
| | | m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== |
| | | "="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, |
| | | h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition|| |
| | | !h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m= |
| | | h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& |
| | | q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>"; |
| | | if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); |
| | | (function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: |
| | | function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/, |
| | | gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length; |
| | | c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= |
| | | {},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== |
| | | "string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", |
| | | d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? |
| | | a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== |
| | | 1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)? |
| | | a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= |
| | | c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, |
| | | wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, |
| | | prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, |
| | | this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); |
| | | return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, |
| | | ""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&& |
| | | this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]|| |
| | | u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length=== |
| | | 1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); |
| | | return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", |
| | | ""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= |
| | | c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? |
| | | c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= |
| | | function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= |
| | | Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, |
| | | "border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= |
| | | a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= |
| | | a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== |
| | | "string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, |
| | | serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), |
| | | function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, |
| | | global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& |
| | | e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? |
| | | "&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== |
| | | false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= |
| | | false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", |
| | | c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| |
| | | d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); |
| | | g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== |
| | | 1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== |
| | | "json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; |
| | | if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay"); |
| | | this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a], |
| | | "olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)}, |
| | | animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing= |
| | | j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]); |
| | | this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== |
| | | "number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| |
| | | c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; |
| | | this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= |
| | | this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, |
| | | e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length|| |
| | | c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement? |
| | | function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b= |
| | | this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle; |
| | | k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&& |
| | | f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; |
| | | a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); |
| | | c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, |
| | | d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- |
| | | f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": |
| | | "pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in |
| | | e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); |
| | | |
| | | |
| | | /* |
| | | JSON2.js |
| | | http://www.JSON.org/json2.js |
| | | 2011-01-18 |
| | | |
| | | Public Domain. |
| | | |
| | | NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. |
| | | |
| | | See http://www.JSON.org/js.html |
| | | */ |
| | | |
| | | if(!this.JSON){this.JSON={};} |
| | | (function(){function f(n){return n<10?'0'+n:n;} |
| | | if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+ |
| | | f(this.getUTCMonth()+1)+'-'+ |
| | | f(this.getUTCDate())+'T'+ |
| | | f(this.getUTCHours())+':'+ |
| | | f(this.getUTCMinutes())+':'+ |
| | | f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};} |
| | | var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';} |
| | | function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);} |
| | | if(typeof rep==='function'){value=rep.call(holder,key,value);} |
| | | switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';} |
| | | gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';} |
| | | v=partial.length===0?'[]':gap?'[\n'+gap+ |
| | | partial.join(',\n'+gap)+'\n'+ |
| | | mind+']':'['+partial.join(',')+']';gap=mind;return v;} |
| | | if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}} |
| | | v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+ |
| | | mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}} |
| | | if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;} |
| | | rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');} |
| | | return str('',{'':value});};} |
| | | if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}} |
| | | return reviver.call(holder,key,value);} |
| | | cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+ |
| | | ('0000'+a.charCodeAt(0).toString(16)).slice(-4);});} |
| | | if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;} |
| | | throw new SyntaxError('JSON.parse');};}}()); |
| | | |
| | | /* jQuery cookie */ |
| | | jQuery.cookie=function(d,c,a){if(typeof c!="undefined"){a=a||{};if(c===null)c="",a.expires=-1;var b="";if(a.expires&&(typeof a.expires=="number"||a.expires.toUTCString))typeof a.expires=="number"?(b=new Date,b.setTime(b.getTime()+a.expires*864E5)):b=a.expires,b="; expires="+b.toUTCString();var e=a.path?"; path="+a.path:"",f=a.domain?"; domain="+a.domain:"",a=a.secure?"; secure":"";document.cookie=[d,"=",encodeURIComponent(c),b,e,f,a].join("")}else{c=null;if(document.cookie&&document.cookie!=""){a=document.cookie.split(";");for(b=0;b<a.length;b++)if(e=jQuery.trim(a[b]),e.substring(0,d.length+1)==d+"="){c=decodeURIComponent(e.substring(d.length+1));break}}return c}}; |
| | | |
| | | |
| | | /* |
| | | New API enums. Generated from Freeze20 |
| | | */ |
| | | var ActionCode = {}; ActionCode.AC_FLYTO = 0; ActionCode.AC_CIRCLEPATTERN = 1; ActionCode.AC_OVALPATTERN = 2; ActionCode.AC_LINEPATTERN = 3; ActionCode.AC_ARCPATTERN = 4; ActionCode.AC_FOLLOWBEHIND = 5; ActionCode.AC_FOLLOWABOVE = 6; ActionCode.AC_FOLLOWBELOW = 7; ActionCode.AC_FOLLOWRIGHT = 8; ActionCode.AC_FOLLOWLEFT = 9; ActionCode.AC_FOLLOWBEHINDANDABOVE = 10; ActionCode.AC_FOLLOWCOCKPIT = 11; ActionCode.AC_FOLLOWFROMGROUND = 12; ActionCode.AC_STOP = 13; ActionCode.AC_JUMP = 14; ActionCode.AC_DELETE = 15; ActionCode.AC_EDIT_FINISHED = 16; ActionCode.AC_OBJECT_ADDED = 17; ActionCode.AC_PLAY = 18; ActionCode.AC_SHOW = 19; ActionCode.AC_EDIT_STARTED = 20; ActionCode.AC_SELCHANGED = 21; ActionCode.AC_WAYPOINT_REACHED = 22; ActionCode.AC_GROUP_ADDED = 23; ActionCode.AC_LAYER_ADDED = 24; ActionCode.AC_LAYER_REFRESHED = 25; ActionCode.AC_ITEM_MOVED=26; var AltitudeTypeCode = {}; AltitudeTypeCode.ATC_TERRAIN_RELATIVE = 0; AltitudeTypeCode.ATC_PIVOT_RELATIVE = 1; AltitudeTypeCode.ATC_ON_TERRAIN = 2; AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE = 3; AltitudeTypeCode.ATC_DEFAULT = 999; var DynamicMotionStyle = {}; DynamicMotionStyle.MOTION_GROUND_VEHICLE = 0; DynamicMotionStyle.MOTION_AIRPLANE = 1; DynamicMotionStyle.MOTION_HELICOPTER = 2; DynamicMotionStyle.MOTION_HOVER = 3; var DynamicObjectType = {}; DynamicObjectType.DYNAMIC_3D_MODEL = 0; DynamicObjectType.DYNAMIC_TEXT_LABEL = 1; DynamicObjectType.DYNAMIC_IMAGE_LABEL = 2; DynamicObjectType.DYNAMIC_VIRTUAL = 3; var LabelStyle = {}; LabelStyle.LS_DEFAULT = 0; LabelStyle.LS_STREET = 1; LabelStyle.LS_STATE = 2; var MsgClient6 = {}; MsgClient6.MC_LEFT = 0; MsgClient6.MC_MAIN = 2; MsgClient6.MC_MESSAGE_BAR = 3; MsgClient6.MC_FLOAT = 4; MsgClient6.MC_POPUP = 5; var MsgType = {}; MsgType.TYPE_TEXT = 0; MsgType.TYPE_URL = 1; MsgType.TYPE_SCRIPT = 3; var ModelTypeCode = {}; ModelTypeCode.MT_NORMAL = 0; ModelTypeCode.MT_ANIMATION = 1; ModelTypeCode.MT_PROGRESSIVE = 2; var LayerGeometryType = {}; LayerGeometryType.LGT_POINT = 0; LayerGeometryType.LGT_POLYLINE = 1; LayerGeometryType.LGT_POLYGON = 2; LayerGeometryType.LGT_COLLECTION = 3; LayerGeometryType.LGT_NONE = -1; var SphereStyle = {}; SphereStyle.SPHERE_NORMAL = 0; SphereStyle.SPHERE_UPPER_HALF = 1; SphereStyle.SPHERE_LOWER_HALF = 2; SphereStyle.SPHERE_UPPER_HALF_BASE = 3; SphereStyle.SPHERE_LOWER_HALF_BASE = 4; var ElevationBehaviorMode = {}; ElevationBehaviorMode.EB_REPLACE = 0; ElevationBehaviorMode.EB_BELOW = 1; ElevationBehaviorMode.EB_ABOVE = 2; var EditItemFlags = {}; EditItemFlags.EDIT_ITEM_USE_PROPERTY = 0; EditItemFlags.EDIT_ITEM = 1; EditItemFlags.EDIT_ITEM_VERTICES = 2; EditItemFlags.EDIT_ITEM_BUILDING_ROOF = 3; var ItemCode = {}; ItemCode.SELECTED = 10; ItemCode.CHILD = 11; ItemCode.FIRSTVISIBLE = 12; ItemCode.NEXT = 13; ItemCode.NEXTVISIBLE = 14; ItemCode.PARENT = 15; ItemCode.PREVIOUS = 16; ItemCode.PREVIOUSVISIBLE = 17; ItemCode.ROOT = 18; var SortType = {}; SortType.SORT_ALPHABETICALLY_AZ = 0; SortType.SORT_ALPHABETICALLY_ZA = 1; SortType.SORT_BY_TYPE = 2; SortType.SORT_NO_SORT = 3; var WorldPointType = {}; WorldPointType.WPT_MODEL = 1; WorldPointType.WPT_LABEL = 2; WorldPointType.WPT_PRIMITIVE = 4; WorldPointType.WPT_ANIM = 8; WorldPointType.WPT_BUILDING = 16; WorldPointType.WPT_SKY = 32; WorldPointType.WPT_ACCURATE_CPT = 64; WorldPointType.WPT_BBOX_CPT = 128; WorldPointType.WPT_VIDEO = 256; WorldPointType.WPT_UNDERGROUND = 512; WorldPointType.WPT_SCREEN_OVERLAY = 1024; WorldPointType.WPT_SCREEN_CONTROL = 2048; WorldPointType.WPT_SCREEN_COVERED = 4096; WorldPointType.WPT_ALL = -1; var MouseInputMode = {}; MouseInputMode.MI_FREE_FLIGHT = 0; MouseInputMode.MI_COM_CLIENT = 1; MouseInputMode.MI_CONTROLLED_FLIGHT = 2; MouseInputMode.MI_EDIT = 3; MouseInputMode.MI_MEASURAMENT = 4; var MessageBarTextAlignment = {}; MessageBarTextAlignment.MBT_LEFT = 0; MessageBarTextAlignment.MBT_CENTER = 1; MessageBarTextAlignment.MBT_RIGHT = 2; var AccuracyLevel = {}; AccuracyLevel.ACCURACY_NORMAL = 0; AccuracyLevel.ACCURACY_BEST_FROM_MEMORY = 1; AccuracyLevel.ACCURACY_BEST_FROM_MPT = 2; var PermissionType = {}; PermissionType.LMP_ENABLE_ALL = 0; PermissionType.LMP_DISABLE_API = 1; PermissionType.LMP_DISABLE_UI = 2; PermissionType.LMP_DISABLE_ALL = -1; var SliderDisplayMode = {}; SliderDisplayMode.MODE_TIME_NONE = 0; SliderDisplayMode.MODE_FIXED_TIME = 1; SliderDisplayMode.MODE_TIME = 2; SliderDisplayMode.MODE_RANGE_PROJECT = 4; SliderDisplayMode.MODE_RANGE_CUSTOM = 8; SliderDisplayMode.MODE_ADJUST_FOR_GROUP = 16; var TimeZoneType = {}; TimeZoneType.TIME_ZONE_TYPE_MY_COMPUTER = 0; TimeZoneType.TIME_ZONE_TYPE_UTC = 1; TimeZoneType.TIME_ZONE_TYPE_SPECIFIC = 2; var TEVesrionType = {}; TEVesrionType.TEVT_PRO = 0; TEVesrionType.TEVT_PLUS = 1; TEVesrionType.TEVT_VIEWER = 2; TEVesrionType.TEVT_UNKNOWN = -1; var ObjectTypeCode = {}; ObjectTypeCode.OT_UNDEFINED = 0; ObjectTypeCode.OT_POLYLINE = 1; ObjectTypeCode.OT_POLYGON = 2; ObjectTypeCode.OT_RECTANGLE = 3; ObjectTypeCode.OT_REGULAR_POLYGON = 4; ObjectTypeCode.OT_CIRCLE = 5; ObjectTypeCode.OT_3D_POLYGON = 6; ObjectTypeCode.OT_BUILDING = 7; ObjectTypeCode.OT_BOX = 8; ObjectTypeCode.OT_PYRAMID = 9; ObjectTypeCode.OT_CYLINDER = 10; ObjectTypeCode.OT_CONE = 11; ObjectTypeCode.OT_ELLIPSE = 12; ObjectTypeCode.OT_ARC = 13; ObjectTypeCode.OT_ARROW = 14; ObjectTypeCode.OT_3D_ARROW = 15; ObjectTypeCode.OT_SPHERE = 16; ObjectTypeCode.OT_MODEL = 17; ObjectTypeCode.OT_LABEL = 18; ObjectTypeCode.OT_LOCATION = 19; ObjectTypeCode.OT_TREE_HOTLINK = 20; ObjectTypeCode.OT_ROUTE = 21; ObjectTypeCode.OT_MESSAGE = 22; ObjectTypeCode.OT_DYNAMIC = 23; ObjectTypeCode.OT_IMAGE_LABEL = 24; ObjectTypeCode.OT_THREAT_DOME = 25; ObjectTypeCode.OT_IMAGERY_LAYER = 26; ObjectTypeCode.OT_TERRAIN_VIDEO = 27; ObjectTypeCode.OT_POINT_CLOUD = 28; ObjectTypeCode.OT_ELEVATION_LAYER = 29; ObjectTypeCode.OT_TERRAIN_MODIFIER = 30; ObjectTypeCode.OT_TERRAIN_HOLE = 31; ObjectTypeCode.OT_POPUP_MESSAGE = 32; ObjectTypeCode.OT_FEATURE = 33; ObjectTypeCode.OT_PRESENTATION = 34; ObjectTypeCode.OT_ANALYSIS_LOS = 35; var SGGeometryTypeId = {}; SGGeometryTypeId.SG_POINT = 0; SGGeometryTypeId.SG_LINESTRING = 1; SGGeometryTypeId.SG_LINEARRING = 2; SGGeometryTypeId.SG_POLYGON = 3; SGGeometryTypeId.SG_MULTIPOINT = 4; SGGeometryTypeId.SG_MULTILINESTRING = 5; SGGeometryTypeId.SG_MULTIPOLYGON = 6; var BuildingStyleCode = {}; BuildingStyleCode.BS_STRETCH_TERRAIN = 0; BuildingStyleCode.BS_POLYGONS = 1; var IntersectionType = {}; IntersectionType.IT_NONE = 0; IntersectionType.IT_INTERSECT = 1; IntersectionType.IT_WITHIN = 2; var StreamLayerStatus = {}; StreamLayerStatus.SLS_NOT_STREAMED_LAYER = 0; StreamLayerStatus.SLS_STREAMING = 1; StreamLayerStatus.SLS_STREAM_PAUSED = 2; var AltitudeUnitCode = {}; AltitudeUnitCode.AU_METER = 0; AltitudeUnitCode.AU_FEET = 1; AltitudeUnitCode.AU_CENTIMETER = 2; AltitudeUnitCode.AU_DECIMETER = 3; AltitudeUnitCode.AU_INCHE = 4; AltitudeUnitCode.AU_YARD = 5; AltitudeUnitCode.AU_UNDEFINED = -1; var LabelLockMode = {}; LabelLockMode.LM_DECAL = 0; LabelLockMode.LM_AXIS = 1; LabelLockMode.LM_AXIS_TEXTUP = 2; LabelLockMode.LM_AXIS_AUTOPITCH = 3; LabelLockMode.LM_AXIS_AUTOPITCH_TEXTUP = 4; var DistributionDir = {}; DistributionDir.DOWN_UP = 0; DistributionDir.UP_DOWN = 1; DistributionDir.RIGHT_LEFT = 2; DistributionDir.LEFT_RIGHT = 3; DistributionDir.FRONT_BACK = 4; DistributionDir.BACK_FRONT = 5; var CPTDataFormat = {}; CPTDataFormat.CPT_DF_INTENSITY = 0; CPTDataFormat.CPT_DF_RGB = 1; var _HTML_POPUP_FLAGS = {}; _HTML_POPUP_FLAGS.HTML_POPUP_NONE = 0; _HTML_POPUP_FLAGS.HTML_POPUP_ANCHOR_3D_WINDOW = 1; _HTML_POPUP_FLAGS.HTML_POPUP_ALLOW_DRAG = 2; _HTML_POPUP_FLAGS.HTML_POPUP_NO_CAPTION = 4; _HTML_POPUP_FLAGS.HTML_POPUP_USE_DEFAULT_POS = 8; _HTML_POPUP_FLAGS.HTML_POPUP_USE_LAST_SIZE = 16; _HTML_POPUP_FLAGS.HTML_POPUP_ALLOW_RESIZE = 32; _HTML_POPUP_FLAGS.HTML_POPUP_ADD_SHADOW = 64; _HTML_POPUP_FLAGS.HTML_POPUP_NO_BORDER = 128; _HTML_POPUP_FLAGS.HTML_POPUP_SET_FOCUS_TO_RENDER = 256; _HTML_POPUP_FLAGS.HTML_POPUP_NOT_USE_POINTER = 512; _HTML_POPUP_FLAGS.HTML_POPUP_ALWAYS_VISIBLE = 1024; _HTML_POPUP_FLAGS.HTML_POPUP_USE_LAST_POS = 2048; _HTML_POPUP_FLAGS.HTML_POPUP_USE_TEXT_AS_INNER_HTML = 4096; var PresentationStepContinue = {}; PresentationStepContinue.PSC_MOUSECLICK = 0; PresentationStepContinue.PSC_WAIT = 1; var PresentationStepFlightSpeed = {}; PresentationStepFlightSpeed.PSFS_VERYSLOW = 0; PresentationStepFlightSpeed.PSFS_SLOW = 1; PresentationStepFlightSpeed.PSFS_NORMAL = 2; PresentationStepFlightSpeed.PSFS_FAST = 3; PresentationStepFlightSpeed.PSFS_VERYFAST = 4; var PresentationPlayAlgorithm = {}; PresentationPlayAlgorithm.PPA_FLYTO = 0; PresentationPlayAlgorithm.PPA_SPLINE = 1; var PresentationPlayMode = {}; PresentationPlayMode.PPM_AUTOMATIC = 0; PresentationPlayMode.PPM_MANUAL = 1; var PresentationCaptionSizeType = {}; PresentationCaptionSizeType.PCST_FIXED = 0; PresentationCaptionSizeType.PCST_AUTOMATICALLYADJUST = 1; var PresentationCaptionPosition = {}; PresentationCaptionPosition.PCP_TOPLEFT = 0; PresentationCaptionPosition.PCP_TOPCENTER = 1; PresentationCaptionPosition.PCP_TOPRIGHT = 2; PresentationCaptionPosition.PCP_BOTTOMLEFT = 3; PresentationCaptionPosition.PCP_BOTTOMCENTER = 4; PresentationCaptionPosition.PCP_BOTTOMRIGHT = 5; var PresentationStatus = {}; PresentationStatus.PS_PLAYING = 0; PresentationStatus.PS_NOTPLAYING = 1; PresentationStatus.PS_PAUSED = 2; PresentationStatus.PS_WAITINGTIME = 3; PresentationStatus.PS_WAITINGCLICK = 4; var VideoPlayStatus = {}; VideoPlayStatus.VPS_PAUSE = 0; VideoPlayStatus.VPS_PLAY = 1; VideoPlayStatus.VPS_STOP = 2; var ContainerSite = {}; ContainerSite.CS_DOCK_LEFT = 0; ContainerSite.CS_DOCK_RIGHT = 1; ContainerSite.CS_DOCK_TOP = 2; ContainerSite.CS_DOCK_BOTTOM = 3; ContainerSite.CS_DOCK_FLOAT = 4; ContainerSite.CS_MAIN = 5; ContainerSite.CS_NOT_VALID = -1; var FaceFillTypeCode = {}; FaceFillTypeCode.FACE_COLOR = 0; FaceFillTypeCode.FACE_TEXTURE = 1; FaceFillTypeCode.FACE_TERRAIN_TEXTURE = 2; FaceFillTypeCode.FACE_UNDEFINED = -1; var RoofStyleCode = {}; RoofStyleCode.ROOFTOP_FLAT = 0; RoofStyleCode.ROOFTOP_ANGULAR = 1; var PresentationStepType = {}; PresentationStepType.ST_LOCATION = 0; PresentationStepType.ST_DYNAMICOBJECT = 1; PresentationStepType.ST_GROUPOROBJECT = 2; PresentationStepType.ST_UNDERGROUNDMODE = 3; PresentationStepType.ST_TIMESLIDER = 4; PresentationStepType.ST_CURRENTTIME = 5; PresentationStepType.ST_MESSAGE = 6; PresentationStepType.ST_TOOL = 7; PresentationStepType.ST_CAPTION = 8; PresentationStepType.ST_RESTARTDYNAMICOBJECT = 9; PresentationStepType.ST_FLIGHTSPEEDFACTOR = 10; PresentationStepType.ST_CLEARCAPTION = -1; var TilingMethodCode = {}; TilingMethodCode.TM_TILES_PER_SIDE = 0; TilingMethodCode.TM_TILES_PER_AXIS = 0; TilingMethodCode.TM_METERS_PER_TILE = 1; TilingMethodCode.TM_UNDEFINED = -1; var AttributeTypeCode = {}; AttributeTypeCode.AT_TEXT = 0; AttributeTypeCode.AT_INTEGER = 1; AttributeTypeCode.AT_DOUBLE = 2; AttributeTypeCode.AT_UNKNOWN = -1; var FeatureState = {}; FeatureState.FS_NONE = 0; FeatureState.FS_NEW = 1; FeatureState.FS_MODIFIED = 2; FeatureState.FS_DELETED = 3; |
| | | |
| | | SGLang = { |
| | | lang : {}, |
| | | /** |
| | | * APIProperty: defaultCode |
| | | * {String} Default language to use when a specific language can't be |
| | | * found. Default is "en". |
| | | */ |
| | | defaultCode: "0", |
| | | |
| | | /** |
| | | * APIFunction: getCode |
| | | * Get the current language code. |
| | | * |
| | | * Returns: |
| | | * The current language code. |
| | | */ |
| | | getCode: function() { |
| | | //var lang = SGLang.getUrlParameters()["lang"]; |
| | | //if(!lang) |
| | | // lang = SGLang.defaultCode; |
| | | //return lang; |
| | | return 2052; |
| | | }, |
| | | |
| | | getUrlParameters: function() |
| | | { |
| | | var vars = [], hash; |
| | | var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); |
| | | for(var i = 0; i < hashes.length; i++) |
| | | { |
| | | hash = hashes[i].split('='); |
| | | vars.push(hash[0]); |
| | | vars[hash[0]] = hash[1]; |
| | | } |
| | | return vars; |
| | | }, |
| | | |
| | | /** |
| | | * APIMethod: translate |
| | | * Looks up a key from a dictionary based on the current language string. |
| | | * The value of <getCode> will be used to determine the appropriate |
| | | * dictionary. Dictionaries are stored in <SGLang>. |
| | | * |
| | | * Parameters: |
| | | * key - {String} The key for an i18n string value in the dictionary. |
| | | * context - {Object} Optional context to be used with |
| | | * <SGAPI.String.format>. |
| | | * |
| | | * Returns: |
| | | * {String} A internationalized string. |
| | | */ |
| | | i18n: function(key, context) { |
| | | var message = SGLang.lang[key]; |
| | | if(!message) { |
| | | // Message not found, fall back to message key |
| | | message = key; |
| | | } |
| | | if(context) { |
| | | message = SGLang.format(message, context); |
| | | } |
| | | return message; |
| | | }, |
| | | |
| | | i18nFile: function(file) { |
| | | var code = this.getCode(); |
| | | if(code == "0" || code == "1033") |
| | | return file; |
| | | return code + "/" + file; |
| | | }, |
| | | |
| | | format: function(template, context, args) { |
| | | if(!context) { |
| | | context = window; |
| | | } |
| | | |
| | | // Example matching: |
| | | // str = ${foo.bar} |
| | | // match = foo.bar |
| | | var replacer = function(str, match) { |
| | | var replacement; |
| | | |
| | | // Loop through all subs. Example: ${a.b.c} |
| | | // 0 -> replacement = context[a]; |
| | | // 1 -> replacement = context[a][b]; |
| | | // 2 -> replacement = context[a][b][c]; |
| | | var subs = match.split(/\.+/); |
| | | for (var i=0; i< subs.length; i++) { |
| | | if (i == 0) { |
| | | replacement = context; |
| | | } |
| | | |
| | | replacement = replacement[subs[i]]; |
| | | } |
| | | |
| | | if(typeof replacement == "function") { |
| | | replacement = args ? |
| | | replacement.apply(null, args) : |
| | | replacement(); |
| | | } |
| | | |
| | | // If replacement is undefined, return the string 'undefined'. |
| | | // This is a workaround for a bugs in browsers not properly |
| | | // dealing with non-participating groups in regular expressions: |
| | | // http://blog.stevenlevithan.com/archives/npcg-javascript |
| | | if (typeof replacement == 'undefined') { |
| | | return 'undefined'; |
| | | } else { |
| | | return replacement; |
| | | } |
| | | }; |
| | | |
| | | return template.replace(SGLang.tokenRegEx, replacer); |
| | | }, |
| | | |
| | | /** |
| | | * Property: SGLang.tokenRegEx |
| | | * Used to find tokens in a string. |
| | | * Examples: ${a}, ${a.b.c}, ${a-b}, ${5} |
| | | */ |
| | | tokenRegEx: /\$\{([\w.]+?)\}/g |
| | | }; |
| | | |
| | | //------------------- |
| | | // load requested lang file |
| | | (function() { |
| | | // document.write("<script language='javascript' src='Lang.js'></script>"); |
| | | // var code = SGLang.getCode(); |
| | | // document.write("<script language='javascript' src='" + code + "/Lang.js'></script>"); |
| | | |
| | | var head = document.head || document.getElementsByTagName("head")[0]; |
| | | |
| | | // New way to support IE10 |
| | | firstScript = head.getElementsByTagName("script")[0]; |
| | | |
| | | var script = document.createElement("script"); |
| | | script.setAttribute("src", "Lang.js"); |
| | | head.insertBefore(script, firstScript); |
| | | |
| | | var code = SGLang.getCode(); |
| | | |
| | | var script2 = document.createElement("script"); |
| | | script2.setAttribute("src", code + "/Lang.js"); |
| | | head.insertBefore(script2, firstScript); |
| | | })(); |
| | | |
| | | // hide document body, so that TextXXX won't be visible until we replace them on document ready |
| | | $(document.body).hide(); |
| | | //------------------- |
| | | $(document).ready(function () |
| | | { |
| | | $(document.body).hide(); |
| | | var translateDocument = function() |
| | | { |
| | | document.title = SGLang.i18n(document.title); |
| | | $(".i18n").each(function () |
| | | { |
| | | if (this.tagName == "INPUT") |
| | | { |
| | | this.value = SGLang.i18n(this.value); |
| | | } |
| | | else if (this.tagName == "IMG") |
| | | { |
| | | $(this).attr("src",SGLang.i18n($(this).attr("src"))); |
| | | $(this).attr("alt", SGLang.i18n($(this).attr("alt"))); |
| | | $(this).attr("title", SGLang.i18n($(this).attr("title"))); |
| | | } |
| | | else |
| | | { |
| | | $(this).attr("title", SGLang.i18n($(this).attr("title"))); |
| | | $(this).attr("alt", SGLang.i18n($(this).attr("alt"))); |
| | | // set element html only if it does not contain any other html elements. |
| | | // otherwise it will erase them. |
| | | if ($(this).children().length == 0) |
| | | { |
| | | $(this).html(SGLang.i18n($.trim($(this).text()))); |
| | | } |
| | | } |
| | | }); |
| | | $(".i18nFile").each(function () |
| | | { |
| | | if (this.tagName == "IMG") |
| | | { |
| | | $(this).attr("src",SGLang.i18nFile($(this).attr("src"))); |
| | | } |
| | | }); |
| | | $(document.body).show(); |
| | | } |
| | | // make sure that hiding document body really worked. |
| | | // I am not sure if IE will update the document view, until the function has finished executing. |
| | | // so I am giving it here a few milliseconds of unused time. |
| | | setTimeout(translateDocument,1); |
| | | }); |
| | | |
| | | |
| | | //------------------- |
| | | // DisplayHelpPopup |
| | | function DisplayHelpPopup(HTMLSrc, title) { |
| | | if (title == null || title == "") |
| | | title = "?"; |
| | | var Cont = TE.interface("IContainer2"); |
| | | Cont.HTMLPopup(1, 5, 5, 850, 500, title, abspath() + "/" + HTMLSrc, 10, -1); |
| | | } |
| | | |
| | | //------------------- |
| | | // DisplayHelpPopup6 |
| | | function DisplayHelpPopup6(HTMLSrc, title) { |
| | | if (title == null || title == "") |
| | | title = "?"; |
| | | var popup = SGWorld.Creator.CreatePopupMessage(title, abspath() + "/" + HTMLSrc, 5, 5, 850, 500); |
| | | popup.AllowDrag = true; |
| | | popup.AllowResize = true; |
| | | SGWorld.Window.ShowPopup(popup); |
| | | |
| | | } |
| | | //------------------- |
| | | // CloseTool |
| | | function CloseTool (ToolName) |
| | | { |
| | | var Cont = TE.interface("IContainer2"); |
| | | Cont.RemoveURL (1,ToolName); |
| | | } |
| | | //------------------- |
| | | // SGAPIDisplayHelpPopup |
| | | function SGAPIDisplayHelpPopup(HTMLSrc,title) |
| | | { |
| | | //globe.teCore.IContainer.HTMLPopup (1, 5,5,500,500,"Help", SGAPI.toAbspath(HTMLSrc), 10, -1 ); |
| | | if (title == null || title == "") |
| | | title = "?"; |
| | | var popup = new SGPopup(title, HTMLSrc,0,0,650,500); |
| | | popup.align = "TopLeft"; |
| | | |
| | | globe.showPopup(popup); |
| | | } |
| | | //------------------- |
| | | // SGAPICloseTool |
| | | function SGAPICloseTool (ToolName) |
| | | { |
| | | globe.teCore.IContainer.RemoveURL (1,ToolName); |
| | | } |
| | | //-------------- |
| | | // abspath |
| | | function abspath() |
| | | { |
| | | var abspath = unescape(window.location.href); |
| | | |
| | | // Remove query String |
| | | var index=abspath.indexOf("?"); |
| | | if (index > 0) abspath = abspath.substr (0,index-1); |
| | | |
| | | index=abspath.lastIndexOf("/"); |
| | | var index2 = abspath.lastIndexOf("\\"); |
| | | |
| | | index = (index > index2) ? index : index2; |
| | | if (index <= 0) return abspath; |
| | | |
| | | abspath = abspath.substring(0,index); |
| | | |
| | | if(abspath.substring(0,1) == "/") abspath = abspath.slice(1); |
| | | |
| | | var re = /file:\/\/\//gi; |
| | | if (abspath.match(re) != null) abspath = abspath.replace(re,""); // if this is indeed a local file, we strip the "file://" prefix from it. |
| | | |
| | | return(abspath); |
| | | } |
| | | // GetParamValue |
| | | function GetParamValue(findParam, defaultValue) |
| | | { |
| | | var arr = document.location.href.split("?"); |
| | | if (arr.length <= 1) return defaultValue; |
| | | arr = arr[1].split("&"); |
| | | for (var i = 0; i < arr.length; i++) { |
| | | if (arr[i].indexOf(findParam) == 0 && arr[i].indexOf("=") == findParam.length) { |
| | | arr = arr[i].split("="); |
| | | return arr[1]; |
| | | } |
| | | } |
| | | return defaultValue; |
| | | } |
| | | //----------------- |
| | | // validateNumber |
| | | function validateNumber(strNum) |
| | | { |
| | | strNum = strNum.replace(/,/, "."); |
| | | return parseFloat (strNum); |
| | | } |
| | | //******************************************** |
| | | |
| | | //---------- |
| | | // DrawPolyLButtonDown |
| | | //---------- |
| | | function DrawPolyLButtonDown(Flags, X, Y) { |
| | | var CursorCoord = SGWorld.Window.pixelToWorld(X, Y); |
| | | if (CursorCoord == null) |
| | | return false; |
| | | |
| | | if (gPolyObj == null) { |
| | | // We always start with a polyline and change it to Polygon (for area) after the second click) |
| | | var myGeometry = SGWorld.Creator.GeometryCreator.CreateLineStringGeometry([CursorCoord.Position.x, CursorCoord.Position.y, 0, CursorCoord.Position.x, CursorCoord.Position.y, 0]) |
| | | gPolyObj = SGWorld.Creator.createPolyline(myGeometry, SGWorld.Creator.CreateColor(0, 255, 0, 1), 2, -1, gPolylineText); |
| | | gPolyObj.LineStyle.Width = -2; |
| | | gPolyObj.Geometry.StartEdit(); |
| | | |
| | | } |
| | | else { |
| | | |
| | | if (gPolyMethod == 2) // Polygon |
| | | { |
| | | if (gPolyObj.ObjectType == 1) { |
| | | // Deleting the temporary line |
| | | var x = gPolyObj.Geometry.Points.Item(0).X; |
| | | var y = gPolyObj.Geometry.Points.Item(0).Y; |
| | | SGWorld.Creator.DeleteObject(gPolyObj.ID); |
| | | |
| | | // Creating the polygon |
| | | var myGeometry = SGWorld.Creator.GeometryCreator.CreateLinearRingGeometry([x, y, 0, CursorCoord.Position.x, CursorCoord.Position.y, 0, CursorCoord.Position.x, CursorCoord.Position.y, 0]) |
| | | gPolyObj = SGWorld.Creator.createPolygon(myGeometry, SGWorld.Creator.CreateColor(0, 255, 0, 1), SGWorld.Creator.CreateColor(0, 255, 0, 0.5), 2, -1, gPolygonText); |
| | | gPolyObj.LineStyle.Width = -2; |
| | | gPolyObj.Terrain.GroundObject = true; |
| | | gPolyObj.Geometry.StartEdit(); |
| | | } |
| | | else { |
| | | gPolyObj.Geometry.Rings(0).Points.Item(gPolyObj.Geometry.Rings(0).Points.count - 1).X = CursorCoord.Position.x; |
| | | gPolyObj.Geometry.Rings(0).Points.Item(gPolyObj.Geometry.Rings(0).Points.count - 1).Y = CursorCoord.Position.y; |
| | | gPolyObj.Geometry.Rings(0).Points.Item(gPolyObj.Geometry.Rings(0).Points.count - 1).Z = 0; |
| | | gPolyObj.Geometry.Rings(0).Points.AddPoint(CursorCoord.Position.x, CursorCoord.Position.y, 0); |
| | | } |
| | | } |
| | | else { |
| | | gPolyObj.Geometry.Points.Item(gPolyObj.Geometry.Points.count - 1).X = CursorCoord.Position.x; |
| | | gPolyObj.Geometry.Points.Item(gPolyObj.Geometry.Points.count - 1).Y = CursorCoord.Position.y; |
| | | gPolyObj.Geometry.Points.Item(gPolyObj.Geometry.Points.count - 1).Z = 0; |
| | | gPolyObj.Geometry.Points.AddPoint(CursorCoord.Position.x, CursorCoord.Position.y, 0); |
| | | } |
| | | } |
| | | if (gDrawPolyClick != null) |
| | | gDrawPolyClick(gPolyObj.Geometry, gPolyObj.ObjectType); |
| | | return true; |
| | | } |
| | | //----------- |
| | | // onFrame |
| | | //----------- |
| | | function DrawPolyOnFrame() { |
| | | if (gPolyObj != null) { |
| | | |
| | | try { |
| | | var mouseInfo = SGWorld.Window.GetMouseInfo() |
| | | var CursorCoord = SGWorld.Window.pixelToWorld(mouseInfo.X, mouseInfo.Y); |
| | | if (CursorCoord == null) |
| | | return false; |
| | | if (gPolyObj.ObjectType == 2) { |
| | | gPolyObj.Geometry.Rings(0).Points.Item(gPolyObj.Geometry.Rings(0).Points.count - 1).X = CursorCoord.Position.x; |
| | | gPolyObj.Geometry.Rings(0).Points.Item(gPolyObj.Geometry.Rings(0).Points.count - 1).Y = CursorCoord.Position.y; |
| | | gPolyObj.Geometry.Rings(0).Points.Item(gPolyObj.Geometry.Rings(0).Points.count - 1).Z = 0; |
| | | } |
| | | else { |
| | | gPolyObj.Geometry.Points.Item(gPolyObj.Geometry.Points.count - 1).X = CursorCoord.Position.x; |
| | | gPolyObj.Geometry.Points.Item(gPolyObj.Geometry.Points.count - 1).Y = CursorCoord.Position.y; |
| | | gPolyObj.Geometry.Points.Item(gPolyObj.Geometry.Points.count - 1).Z = 0; |
| | | } |
| | | } |
| | | catch (e) { } |
| | | } |
| | | } |
| | | |
| | | //------------- |
| | | //DrawPolyInputModeChanged |
| | | function DrawPolyInputModeChanged(NewMode) { |
| | | |
| | | if (NewMode != 1) |
| | | if (gPolyObj != null) |
| | | Reset(0, 1); |
| | | } |
| | | //------------- |
| | | // DrawPolyRButtonUp |
| | | function DrawPolyRButtonUp(Flags, X, Y) { |
| | | if (gPolyObj == null || ((gPolyObj.ObjectType == 1 && gPolyObj.Geometry.Points.count <= 2) || (gPolyObj.ObjectType == 2 && gPolyObj.Geometry.Rings(0).Points.count <= 3))) { |
| | | Reset(0, 0); |
| | | return false; |
| | | } |
| | | if (gPolyObj.ObjectType == 1) |
| | | gPolyObj.Geometry.Points.DeletePoint(gPolyObj.Geometry.Points.count - 1); |
| | | else |
| | | gPolyObj.Geometry.Rings(0).Points.DeletePoint(gPolyObj.Geometry.Rings(0).Points.count - 1); |
| | | |
| | | gPolyObj.Geometry.EndEdit(); |
| | | |
| | | gEndDrawPoly(gPolyObj.Geometry, gPolyObj.ObjectType, null); |
| | | Reset(0, 0); |
| | | return true; |
| | | } |
| | | //------------------- |
| | | //searchGeometries |
| | | function searchGeometries2(parentNode, callbackFunc) { |
| | | SGWorld.ProjectTree.EnableRedraw(0); |
| | | searchGeometriesLeaf2(parentNode, callbackFunc); |
| | | SGWorld.ProjectTree.EnableRedraw(1); |
| | | } |
| | | //------------------- |
| | | // searchGeometries |
| | | function searchGeometriesLeaf2(parentNode, callbackFunc) { |
| | | |
| | | if (SGWorld.ProjectTree.IsLayer(parentNode)) // Layer |
| | | { |
| | | var layer = SGWorld.ProjectTree.GetLayer(parentNode); |
| | | var featureGroups = layer.FeatureGroups; |
| | | for (var i = 0; i < featureGroups.Count; i++) // Traverse all sub-layers |
| | | { |
| | | var featureGroup = featureGroups.Item(i); |
| | | var altitudeType = featureGroup.GetProperty("Altitude Method") |
| | | |
| | | for (var j = 0; j < featureGroup.Count; j++) { |
| | | var ret = callbackFunc(featureGroup.Item(j).Geometry, featureGroup.GeometryType, altitudeType); |
| | | if (!ret) |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | else { |
| | | var node = SGWorld.ProjectTree.GetNextItem(parentNode, 11); |
| | | while (node != -1 && node != 0) { |
| | | if (SGWorld.ProjectTree.IsGroup(node) || SGWorld.ProjectTree.IsLayer(node)) |
| | | searchGeometriesLeaf2(node, callbackFunc); |
| | | else { |
| | | var Object = SGWorld.ProjectTree.GetObject(node); |
| | | if (Object != null) { |
| | | var altitudeType = Object.Position.AltitudeType; |
| | | var ret = callbackFunc(Object.Geometry, Object.ObjectType, altitudeType); |
| | | if (!ret) |
| | | return; |
| | | } |
| | | } |
| | | |
| | | node = SGWorld.ProjectTree.GetNextItem(node, 13); |
| | | } |
| | | } |
| | | } |
| | |
| | | <AppDesignerFolder>Properties</AppDesignerFolder> |
| | | <RootNamespace>Terra.YaoGan.Web</RootNamespace> |
| | | <AssemblyName>Terra.YaoGan.Web</AssemblyName> |
| | | <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> |
| | | <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
| | | <UseIISExpress>true</UseIISExpress> |
| | | <Use64BitIISExpress /> |
| | | <IISExpressSSLPort>44302</IISExpressSSLPort> |
| | |
| | | <UseGlobalApplicationHostFile /> |
| | | <NuGetPackageImportStamp> |
| | | </NuGetPackageImportStamp> |
| | | <TargetFrameworkProfile /> |
| | | </PropertyGroup> |
| | | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
| | | <DebugSymbols>true</DebugSymbols> |
| | |
| | | </PropertyGroup> |
| | | <ItemGroup> |
| | | <Reference Include="Microsoft.CSharp" /> |
| | | <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> |
| | | <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> |
| | | <HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net40\Newtonsoft.Json.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="System.Data.DataSetExtensions" /> |
| | | <Reference Include="System.Web.DynamicData" /> |
| | | <Reference Include="System.Web.Entity" /> |
| | | <Reference Include="System.Web.ApplicationServices" /> |
| | | <Reference Include="System.ComponentModel.DataAnnotations" /> |
| | | <Reference Include="System" /> |
| | | <Reference Include="System.Data" /> |
| | | <Reference Include="System.Core" /> |
| | | <Reference Include="System.Data.DataSetExtensions" /> |
| | | <Reference Include="System.Web.Extensions" /> |
| | | <Reference Include="System.Xml.Linq" /> |
| | | <Reference Include="System.Drawing" /> |
| | | <Reference Include="System.Web" /> |
| | | <Reference Include="System.Xml" /> |
| | | <Reference Include="System.Configuration" /> |
| | | <Reference Include="System.Web.Services" /> |
| | | <Reference Include="System.EnterpriseServices" /> |
| | | <Reference Include="System.Xml.Linq" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform"> |
| | |
| | | <Content Include="mp4\åå®5å·çæ§\2024.4.2.mp4" /> |
| | | <Content Include="mp4\åå®6å·çæ§\2024.3.21.mp4" /> |
| | | <Content Include="mp4\åå®6å·çæ§\2024.4.2.mp4" /> |
| | | <Content Include="Resources\ImageComparison\1033\help.html" /> |
| | | <Content Include="Resources\ImageComparison\1033\Lang.js" /> |
| | | <Content Include="Resources\ImageComparison\2052\help.html" /> |
| | | <Content Include="Resources\ImageComparison\2052\Lang.js" /> |
| | | <Content Include="Resources\ImageComparison\BIMComparisonPopup.html" /> |
| | | <Content Include="Resources\ImageComparison\cursor_m.cur" /> |
| | | <Content Include="Resources\ImageComparison\cursor_wait.cur" /> |
| | | <Content Include="Resources\ImageComparison\help.html" /> |
| | | <Content Include="Resources\ImageComparison\ImageComparison.html" /> |
| | | <Content Include="Resources\ImageComparison\ImageComparison.ico" /> |
| | | <Content Include="Resources\ImageComparison\ImageComparisonPopup.html" /> |
| | | <Content Include="Resources\ImageComparison\Images\autoOff.gif" /> |
| | | <Content Include="Resources\ImageComparison\Images\autoOff.png" /> |
| | | <Content Include="Resources\ImageComparison\Images\autoOn.gif" /> |
| | | <Content Include="Resources\ImageComparison\Images\autoOn.png" /> |
| | | <Content Include="Resources\ImageComparison\Images\loading.gif" /> |
| | | <Content Include="Resources\ImageComparison\Images\slider.handle.horizontal.hover.png" /> |
| | | <Content Include="Resources\ImageComparison\Images\slider.handle.horizontal.png" /> |
| | | <Content Include="Resources\ImageComparison\Images\slider.handle.vertical.hover.png" /> |
| | | <Content Include="Resources\ImageComparison\Images\slider.handle.vertical.png" /> |
| | | <Content Include="Resources\ImageComparison\Images\space.gif" /> |
| | | <Content Include="Resources\ImageComparison\Images\SwipeIcon.png" /> |
| | | <Content Include="Resources\ImageComparison\Images\ZoomIn.gif" /> |
| | | <Content Include="Resources\ImageComparison\Images\ZoomOut.gif" /> |
| | | <Content Include="Resources\ImageComparison\Lang.js" /> |
| | | <Content Include="Resources\ImageComparison\MeshComparisonPopup.html" /> |
| | | <Content Include="Resources\ImageComparison\range.js" /> |
| | | <Content Include="Resources\ImageComparison\slider.css" /> |
| | | <Content Include="Resources\ImageComparison\slider.js" /> |
| | | <Content Include="Resources\ImageComparison\SnapshotComparison.html" /> |
| | | <Content Include="Resources\ImageComparison\SnapshotComparison.ico" /> |
| | | <Content Include="Resources\ImageComparison\SnapshotDetectionPopup.html" /> |
| | | <Content Include="Resources\ImageComparison\timer.js" /> |
| | | <Content Include="Resources\jquery\css\dark-hive\jquery-ui-1.10.4.custom.css" /> |
| | | <Content Include="Resources\jquery\css\dark-hive\jquery-ui-1.10.4.custom.min.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.bootstrap.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.bootstrap.min.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.bootstrap4.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.bootstrap4.min.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.foundation.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.foundation.min.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.jqueryui.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.jqueryui.min.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.semanticui.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\css\dataTables.semanticui.min.css" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\images\sort_asc.png" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\images\sort_asc_disabled.png" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\images\sort_both.png" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\images\sort_desc.png" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\images\sort_desc_disabled.png" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.bootstrap.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.bootstrap.min.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.bootstrap4.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.bootstrap4.min.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.foundation.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.foundation.min.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.jqueryui.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.jqueryui.min.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.semanticui.js" /> |
| | | <Content Include="Resources\jquery\DataTable\DataTables-1.10.18\js\dataTables.semanticui.min.js" /> |
| | | <Content Include="Resources\jquery\DataTable\datatables.css" /> |
| | | <Content Include="Resources\jquery\DataTable\datatables.js" /> |
| | | <Content Include="Resources\jquery\jquery-1.10.2.js" /> |
| | | <Content Include="Resources\jquery\jquery-3.1.1.min.js" /> |
| | | <Content Include="Resources\jquery\jquery-ui-1.10.4.custom.js" /> |
| | | <Content Include="Resources\jquery\jquery-ui-1.10.4.custom.min.js" /> |
| | | <Content Include="Resources\jquery\jquery-ui-Override.css" /> |
| | | <Content Include="Resources\jquery\jquery.flot.min.js" /> |
| | | <Content Include="Resources\jquery\jquery.flot.navigate.min.js" /> |
| | | <Content Include="Resources\jquery\jquery.flot.resize.min.js" /> |
| | | <Content Include="Resources\jquery\jquery.flot.selection.min.js" /> |
| | | <Content Include="Resources\jquery\jquery.flot.symbol.min.js" /> |
| | | <Content Include="Resources\jquery\jquery.min.js" /> |
| | | <Content Include="Resources\jquery\jscolor\arrow.gif" /> |
| | | <Content Include="Resources\jquery\jscolor\cross.gif" /> |
| | | <Content Include="Resources\jquery\jscolor\hs.png" /> |
| | | <Content Include="Resources\jquery\jscolor\hv.png" /> |
| | | <Content Include="Resources\jquery\jscolor\jscolor.js" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\changelog.txt" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\button_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\button_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\button_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\button_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\flip_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\flip_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\flip_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\flip_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\fullpage_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\fullpage_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\fullpage_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\fullpage_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\home_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\home_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\home_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\home_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\next_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\next_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\next_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\next_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\previous_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\previous_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\previous_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\previous_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\rotateleft_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\rotateleft_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\rotateleft_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\rotateleft_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\rotateright_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\rotateright_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\rotateright_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\rotateright_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\zoomin_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\zoomin_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\zoomin_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\zoomin_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\zoomout_grouphover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\zoomout_hover.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\zoomout_pressed.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\images\zoomout_rest.png" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\LICENSE.txt" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\openseadragon.js" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\openseadragon.min.js" /> |
| | | <Content Include="Resources\jquery\range.js" /> |
| | | <Content Include="Resources\jquery\slider.css" /> |
| | | <Content Include="Resources\jquery\slider.js" /> |
| | | <Content Include="Resources\jquery\timer.js" /> |
| | | <Content Include="Resources\jquery\ToolsCommon-NoJQ.js" /> |
| | | <Content Include="Resources\ToolsCommon.js" /> |
| | | <Content Include="src\css\default.css" /> |
| | | <Content Include="src\css\index.css" /> |
| | | <Content Include="src\css\loading.css" /> |
| | |
| | | <Content Include="src\js\plugin\layui\font\iconfont.ttf" /> |
| | | <Content Include="src\js\plugin\layui\font\iconfont.woff" /> |
| | | <Content Include="src\js\plugin\layui\font\iconfont.woff2" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\openseadragon.js.map" /> |
| | | <Content Include="Resources\jquery\openseadragon-bin-2.4.2\openseadragon.min.js.map" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\Terra.YaoGan.Common\Terra.YaoGan.Common.csproj"> |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <?xml version="1.0"?> |
| | | <configuration> |
| | | <system.web> |
| | | <compilation debug="true" targetFramework="4.7.2" /> |
| | | <httpRuntime targetFramework="4.7.2" /> |
| | | <compilation debug="true" targetFramework="4.0"/> |
| | | <httpRuntime/> |
| | | </system.web> |
| | | <connectionStrings> |
| | | <!--<add name="connString" connectionString="Server=127.0.0.1;DataBase=DDYuan;Uid=sa;Pwd=XN@qhch"/>--> |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <packages> |
| | | <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net472" /> |
| | | <package id="Newtonsoft.Json" version="13.0.1" targetFramework="net472" /> |
| | | <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net472" requireReinstallation="true" /> |
| | | <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net40" /> |
| | | </packages> |