From: <Saved by Windows Internet Explorer 7>
Subject: Class action suit to form part of Companies Bill
Date: Mon, 12 Apr 2010 16:28:19 +0530
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0656_01CADA5D.2966B110"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180

This is a multi-part message in MIME format.

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/images/rss_image.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4AJkFkb2JlAGTAAAAAAQMA
FQQDBgoNAAACBgAAAu8AAANxAAAD2P/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8IAEQgADAAMAwERAAIR
AQMRAf/EAL4AAAMBAAAAAAAAAAAAAAAAAAUGBwgBAQEBAAAAAAAAAAAAAAAAAAUGCBAAAQQBBQAA
AAAAAAAAAAAABBMUBRUkARIDJRYRAAAEBQIDCQAAAAAAAAAAAAESEwQRAgMUFQAhIwUWIjJikoMk
NEVlEgAAAwUCDAcAAAAAAAAAAAABAhMAESESIjIVMVFhgZGhgrIjMwQUQXFCUmJDYxMAAQMEAQUB
AQAAAAAAAAAAAQARMfAhQVFhEIGRobFxwf/aAAwDAQACEQMRAAAB35l/TaDMUx5kqcMI/wD/2gAI
AQEAAQUChoiMOiW516R6lp3D/wD/2gAIAQIAAQUCHHEPDrj1+Cx25Sv/2gAIAQMAAQUCMLLEMciM
dKpTDR//2gAIAQICBj8Cn6jm1CY4GMoWq0Yo0nKEJhKLwDK10TVK46X+7RHyYnaT3fxknyWYqP14
dlvG9Jfg5NLel1ZW/9oACAEDAgY/Ak+m5VIFIIFkNTZKYKiGGMoGgI5Gvh1KeH1YbGmDsbH7yXve
Co6e1BN2fFtN9dxv/R6q26pmzN//2gAIAQEBBj8CuX4Si5C6rvuZUnL3JUPdVBF27aOYtH7aQKko
1J6IhNJIO+8ddLx4l+kkpPbHTjfF7sLXtHgZPTTFL4tPnmMUx3w062RuVOGohExtjRT19h1oX8W1
wPTnkvcX6hfHr//aAAgBAQMBPyGOLoWWbOhKISWaVR6dnIsvYAtW2srdNr9//9oACAECAwE/IbUs
To7dsQI4PJZtodFjrMzpTgvw915qiaDyn//aAAgBAwMBPyG/4an5q0AEhFoBYRLYLNm9xvdcv/0c
G7WNo0VSv2/Sv//aAAwDAQACEQMRAAAQES//2gAIAQEDAT8Qe59lJvd7FGchTAzx625kiTWxOy//
2gAIAQIDAT8QNXIBiiCRednCQJVncVfWwuW33os80eIVefOlf//aAAgBAwMBPxAXMfdlSqDDxVLk
Ud3kv7ySgBg+YvM9IcN//9k=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com//images/New_DH_Logo.gif

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
ADs=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=435&clientid=10&zoneid=0&source=&block=0&capping=0&cb=6c3454a17ee13321990ac310ad57c215

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/images/Partially%20cloudy.jpg

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
ULu976yZylfPn3/Wb9P/2Q==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/images/editor_images/salman-khursheed.jpg

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

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=421&clientid=16&zoneid=0&source=&block=0&capping=0&cb=bc32ef43371545f745523f1e54efb313

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=434&clientid=18&zoneid=0&source=&block=0&capping=0&cb=de1c24d620abae796cc7b9b7737c157b

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/gif
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/content/16049/images/blank.gif

<html>
<head>
	<title>Class action suit to form part of Companies Bill</title>
	<meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3DISO-8859-1" />
	<meta name=3D"keywords" content=3D"Class action suit, Companies Bill, =
Satyam fraud case" />
	<meta name=3D"description" content=3D"With lessons from the Satyam =
fraud case, the government is planning to include the concept of class =
action suit in new Companies Bill, likely to be introduced in the =
current session of Parliament, to help investors claim damages from =
fraudulent companies." />
	<link rel=3D"stylesheet" type=3D"text/css" =
href=3D"http://www.deccanherald.com/css/style.css">
	<link rel=3D"stylesheet" type=3D"text/css" =
href=3D"http://www.deccanherald.com/css/comments_style.css">
	<link rel=3D"stylesheet" =
href=3D"http://www.deccanherald.com/css/tabber.css" TYPE=3D"text/css" =
MEDIA=3D"screen">
	<link rel=3D"stylesheet" =
href=3D"http://www.deccanherald.com/css/js_color_picker_v2.css" =
MEDIA=3D"screen">



	<noscript>
		<META HTTP-EQUIV=3DRefresh CONTENT=3D"1; =
URL=3Dhttp://www.deccanherald.com/enable_javascript.html">
	</noscript>
	<script language=3D"javascript" =
src=3D"http://www.deccanherald.com/js/script.js"></script>
	<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/ajax_request.js"></script>
	<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/comments.js"></script>

	<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/color_functions.js"></script>
	<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/js_color_picker_v2.js"></script>

<!--
	 added for tabber
-->
		<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/tabber.js"></script>
		<script type=3D"text/javascript">

		/* Optional: Temporarily hide the "tabber" class so it does not =
"flash"
		   on the page as plain HTML. After tabber runs, the class is changed
		   to "tabberlive" and it will appear. */

			document.write('<style =
type=3D"text/css">.tabber{display:none;}<\/style>');
		</script>
<!--
	//ends tabber
-->
	<script language=3D"javascript" type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/tiny_mce/tiny_mce_src.js"></script>=

	<script type=3D"text/javascript">
		function CheckMeta()
		{
		   for (var i=3D0; i < document.search_form.restrict.length; i++){
			  if (document.search_form.restrict[i].checked){
				  var status =3D document.search_form.restrict[i].value;
				}
		   }

		   if(status =3D=3D 'yes'){
				document.search_form.meta.value=3D'web*vs%3Ddeccanherald.com';
		   }
		   if(status =3D=3D 'no'){
				document.search_form.meta.value=3D'';
		   }
		}

	</script>

=09
	<style type=3D"text/css">

		#vert_productsandservices {
				position: static;
		}

		#horiz_productsandservices {

			margin: 0 0 10px 0;
		}

		/*
			For IE 6: trigger "haslayout" for the anchor elements in the root =
Menu by
			setting the "zoom" property to 1.  This ensures that the selected =
state of
			MenuItems doesn't get dropped when the user mouses off of the text =
node of
			the anchor element that represents a MenuItem's text label.
		*/

		#productsandservices .yuimenuitemlabel {

			_zoom: 1;

		}

		#productsandservices .yuimenu .yuimenuitemlabel {

			_zoom: normal;

		}
	</style>
<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/yahoo-dom-event.js"></script>
<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/container_core.js"></script>
<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/vertical_menu.js"></script>
<!--
<script type=3D"text/javascript" src=3D"js/vertical_menu.js"></script>
-->

	<script type=3D"text/javascript">

		/*
			 Initialize and render the Menu when its elements are ready
			 to be scripted.
		*/

		YAHOO.util.Event.onContentReady("vert_productsandservices", function =
() {

			/*
				 Instantiate a Menu:  The first argument passed to the
				 constructor is the id of the element in the page
				 representing the Menu; the second is an object literal
				 of configuration properties.
			*/

			var oMenu =3D new YAHOO.widget.Menu("vert_productsandservices", {
													position: "static",
													hidedelay:  750,
													lazyload: true });

			/*
				 Call the "render" method with no arguments since the
				 markup for this Menu instance is already exists in the page.
			*/

			oMenu.render();

		});


		/*
			 Initialize and render the MenuBar when its elements are ready
			 to be scripted.
		*/

		YAHOO.util.Event.onContentReady("horiz_productsandservices", function =
() {

			/*
				 Instantiate a MenuBar:  The first argument passed to the
				 constructor is the id of the element in the page
				 representing the MenuBar; the second is an object literal
				 of configuration properties.
			*/

			var oMenuBar =3D new =
YAHOO.widget.MenuBar("horiz_productsandservices", {
														autosubmenudisplay: true,
														hidedelay: 750,
														lazyload: true });

			/*
				 Call the "render" method with no arguments since the
				 markup for this MenuBar instance is already exists in
				 the page.
			*/

			oMenuBar.render();

		});

	</script>

</head>
<body style=3D"margin:0px 0px 0px 0px;">
<!-- <div class=3D"outerx" style=3D"width:995px;">
	<div class=3D"innerx"> -->
 =20
    <table align=3D"center" border=3D"0" cellpadding=3D"0" =
cellspacing=3D"0" width=3D"960px">
        <tr><td valign=3D'top'>
<style type=3D"text/css">

		#vert_productsandservices {
				position: static;
		}

		#horiz_productsandservices {

			margin: 0 0 10px 0;
		}

		/*
			For IE 6: trigger "haslayout" for the anchor elements in the root =
Menu by
			setting the "zoom" property to 1.  This ensures that the selected =
state of
			MenuItems doesn't get dropped when the user mouses off of the text =
node of
			the anchor element that represents a MenuItem's text label.
		*/

		#productsandservices .yuimenuitemlabel {

			_zoom: 1;

		}

		#productsandservices .yuimenu .yuimenuitemlabel {

			_zoom: normal;

		}
	</style>
<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/yahoo-dom-event.js"></script>
<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/container_core.js"></script>
<script type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/js/vertical_menu.js"></script>
<!--
<script type=3D"text/javascript" src=3D"js/vertical_menu.js"></script>
-->
<script type=3D"text/javascript">

		/*
			 Initialize and render the Menu when its elements are ready
			 to be scripted.
		*/

		YAHOO.util.Event.onContentReady("vert_productsandservices", function =
() {

			/*
				 Instantiate a Menu:  The first argument passed to the
				 constructor is the id of the element in the page
				 representing the Menu; the second is an object literal
				 of configuration properties.
			*/

			var oMenu =3D new YAHOO.widget.Menu("vert_productsandservices", {
													position: "static",
													hidedelay:  750,
													lazyload: true });

			/*
				 Call the "render" method with no arguments since the
				 markup for this Menu instance is already exists in the page.
			*/

			oMenu.render();

		});


		/*
			 Initialize and render the MenuBar when its elements are ready
			 to be scripted.
		*/

		YAHOO.util.Event.onContentReady("horiz_productsandservices", function =
() {

			/*
				 Instantiate a MenuBar:  The first argument passed to the
				 constructor is the id of the element in the page
				 representing the MenuBar; the second is an object literal
				 of configuration properties.
			*/

			var oMenuBar =3D new =
YAHOO.widget.MenuBar("horiz_productsandservices", {
														autosubmenudisplay: true,
														hidedelay: 750,
														lazyload: true });

			/*
				 Call the "render" method with no arguments since the
				 markup for this MenuBar instance is already exists in
				 the page.
			*/

			oMenuBar.render();

		});

	</script>
<script type=3D"text/javascript">

	   function YBg(showIt){
			if (showIt){
				document.getElementById('q').style.backgroundImage=3D"none";
			}
			else{
				if (document.getElementById('q').value.length<=3D0){
					=
document.getElementById('q').style.backgroundImage=3D"url(http://www.ripp=
le.org/images/google-logo-small.gif)";
				}
			}
		}

	</script>

<table border=3D"0" width=3D"100%" cellspacing=3D'0' cellpadding=3D'0'>
  <tr>
    <td><table border=3D"0" width=3D"100%" cellspacing=3D'0' =
cellpadding=3D'0' >
        <tr>
          <td align=3D"left" style=3D"padding-left:5px;">	<a =
class=3D"HeaderBarSmall"   =
href=3D'http://www.deccanherald.com/login.php' >Login</a> | 	=09
		<a class=3D"HeaderBarSmall"   =
href=3D'http://www.deccanherald.com/register.php' >Register</a></td>
          <td class=3D"UpdateText" align=3D"right">News updated at 4:04 =
PM IST &nbsp; <a href=3D"http://www.deccanherald.com/rss.html" =
align=3D"center"><img =
src=3D"http://www.deccanherald.com/images/rss_image.jpg" border=3D"0" =
style=3D"padding-top:px;"/><span class=3D"RssStyle">&nbsp; RSS =
</span></a></td>
        </tr>
        <tr >
          <td colspan=3D"2" style=3D"height:5px;background: =
url(http://www.deccanherald.com/images/line.jpg) repeat-x;"></td>
        </tr>
        <tr>
          <td =
style=3D"padding-left:5px;padding-right:5px;text-align:center;"><a =
title=3D"Deccan Herald"   href=3D'http://www.deccanherald.com/' ><img =
alt=3D"Deccan Herald" border=3D"0"    =
src=3D"http://www.deccanherald.com//images/New_DH_Logo.gif" /></a> <br>
            <br>
            <span style=3D"border:0px red solid; font-size:11px; =
color:#797979; font-weight:bold;">Monday 12 April 2010
            <!---Bangalore-->
            </span><br>
             </td>
          <td ><table border=3D"0" width=3D"100%" cellspacing=3D'0' =
cellpadding=3D'0'>
              <tr>
                <td colspan=3D"2" align=3D"center"> <iframe =
src=3D"http://view.atdmt.com/ZH1/iview/185966338/direct;wi.728;hi.90/01?c=
lick=3D" frameborder=3D"0" scrolling=3D"no" marginheight=3D"0" =
marginwidth=3D"0" topmargin=3D"0" leftmargin=3D"0" =
allowtransparency=3D"true" width=3D"728" height=3D"90">
<script language=3D"JavaScript" type=3D"text/javascript">
document.write('<a target=3D'_blank' =
href=3D"http://www.deccanherald.com/Openads/adclick.php?bannerid=3D444&am=
p;zoneid=3D0&amp;source=3D&amp;dest=3Dhttp%3A%2F%2Fclk.atdmt.com%2FZH1%2F=
go%2F185966338%2Fdirect%3Bwi.728%3Bhi.90%2F01%2F&amp;ismap=3D" ><img =
src=3D"http://view.atdmt.com/ZH1/view/185966338/direct;wi.728;hi.90/01/"/=
></a>');
</script><noscript><a target=3D'_blank' =
href=3D"http://www.deccanherald.com/Openads/adclick.php?bannerid=3D444&am=
p;zoneid=3D0&amp;source=3D&amp;dest=3Dhttp%3A%2F%2Fclk.atdmt.com%2FZH1%2F=
go%2F185966338%2Fdirect%3Bwi.728%3Bhi.90%2F01%2F&amp;ismap=3D" ><img =
border=3D"0" =
src=3D"http://view.atdmt.com/ZH1/view/185966338/direct;wi.728;hi.90/01/" =
/></a></noscript></iframe><div id=3D"beacon_444" style=3D"position: =
absolute; left: 0px; top: 0px; visibility: hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D444&amp;c=
lientid=3D10&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3Dc53af4feff8c0b5bf9d9af77cd33c180' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div> </td>
              </tr>
              <tr >
                <td colspan=3D"2" style=3D"height:5px;background: =
url(http://www.deccanherald.com/images/line.jpg) =
repeat-x;background-position: center;"></td>
              </tr>
              <tr>
                <td align=3D"center" style=3D"padding-bottom:10px;" =
width=3D"70%">                  <form =
action=3D"http://www.deccanherald.com/search.php" id=3D"cse-search-box">
                    <div align=3D'center'>
                      <table cellpadding=3D'2' cellspacing=3D'2'>
                        <tr>
                          <td>
                            <input type=3D"hidden" name=3D"cx" =
value=3D"partner-pub-6098511427863223:4rvf9i-8j92" />
                            <input type=3D"hidden" name=3D"cof" =
value=3D"FORID:10" />
                            <input type=3D"hidden" name=3D"ie" =
value=3D"ISO-8859-1" />
                            <input type=3D"text" =
style=3D"padding-top:0px; padding-bottom:0px;" class=3D"SearchBoxHeader" =
value=3D"" name=3D"q" id=3D"q" size=3D"20" maxlength=3D"100" =
onfocus=3D"YBg(true);" onblur=3D"YBg(false);">
                          </td>
                          <td><input class=3D"searchbtnHeader" =
type=3D"submit" name=3D"sa" value=3D"SEARCH"></td>
                        </tr>
                      </table>
                    </div>
                  </form></td>

                <td align=3D"right" style=3D"padding-right:5px;"><table =
border=3D"0" cellspacing=3D'0' cellpadding=3D"0" height=3D"100%" =
width=3D"100%" style=3D"text-align:center;">

                    <tr>
                      <td colspan=3D"2" =
style=3D"padding-top:10px;padding-bottom:10px;padding-left:2px;padding-ri=
ght:2px;width:195px;"  align=3D"center">
                        <table width=3D"100%" border=3D"0" =
cellpadding=3D"0" cellspacing=3D"0">
                          <tr>
                            <td valign=3D"top" align=3D"center"><a =
class=3D"weather_small_title" =
href=3D"http://www.deccanherald.com/weather_details.php"><b>Weather</b></=
a><br>

                              <font style=3D"font-size: =
10px;color:#B02926;font-weight:bold;">Max: <span style=3D"font-size: =
10px;color:#B02926;font-weight:bold;">36&#176;C</span></font><br>
                              <font style=3D"font-size: =
10px;color:#B02926;font-weight:bold;">Min : <span =
style=3D"color:#C35150;">23&#176;C</span></font> </td>
                                                        <td =
style=3D"padding:2px;" align=3D"center"><a =
href=3D"http://www.deccanherald.com/weather_details.php"><img =
src=3D"http://www.deccanherald.com/images/Partially cloudy.jpg"/></a> =
</td>
                            <td style=3D"padding:2px;"><font =
style=3D"font-size: 11px;color:#8E4A35;font-weight:bold;"> In Bangalore =
</font><br>
                              <font style=3D"font-size: =
11px;color:#7488A3;font-weight:bold;">Partially cloudy</font> </td>
                             </tr>
                        </table></td>
                    </tr>
                  </table></td>
              </tr>
            </table></td>
        </tr>
      </table></td>
  </tr>
  <tr >
    <td colspan=3D"2" style=3D"height:5px;background: =
url(http://www.deccanherald.com/images/line.jpg) =
repeat-x;background-position: center;"></td>
  </tr>

    <tr>
    <td ><table width=3D"100%" cellspacing=3D'0' cellpadding=3D'0' =
border=3D"0">
        <tr>
          <td width=3D"90%" style=3D"padding-top:0px;padding-bottom:0px; =
background-color:#244c7d;text-align:center;"> <div =
id=3D'horiz_productsandservices' class=3D'yuimenubar yuimenubarnav' =
style=3D'margin-bottom:0px; border:#000000 0px dotted;'><div =
class=3D'bd' style=3D'border:#000000 0px dotted;margin:0px 0px 0px =
0px;'><ul class=3D'first-of-type'><li class=3D'yuimenubaritem =
first-of-type'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenubaritemlabel' href=3D"/">&nbsp;Home&nbsp;</a><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' href=3D"#">&nbsp;News&nbsp;</a><div =
class=3D'yuimenu'><div class=3D'bd'><ul><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/231/environment.html">&nbsp;=
Environment&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/72/district.html">&nbsp;Dist=
rict&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/73/city.html">&nbsp;City&nbs=
p;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/71/state.html">&nbsp;State&n=
bsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/70/national.html">&nbsp;Nati=
onal&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/158/international.html">&nbs=
p;International&nbsp;</a></li></ul></div></div><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/168/business.html">&nbsp;Bus=
iness&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/76/sports.html">&nbsp;Sports=
&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"/supplements.php">&nbsp;Supplements&nbsp;</a><div =
class=3D'yuimenu'><div class=3D'bd'><ul><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/127/sunday.html">&nbsp;Sunda=
y&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/140/sportscene.html">&nbsp;S=
portscene&nbsp;</a></li></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/148/sunday-herald.html">&nbs=
p;Sunday Herald&nbsp;</a><div class=3D'yuimenu'><div =
class=3D'bd'><ul><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/247/travel.html">&nbsp;Trave=
l&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/149/articulations.html">&nbs=
p;Articulations&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/152/books.html">&nbsp;Books&=
nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/151/art-culture.html">&nbsp;=
Art & Culture&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/150/entertainment.html">&nbs=
p;Entertainment&nbsp;</a></li></ul></div></div></ul></div></div><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/121/monday.html">&nbsp;Monda=
y&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/129/economy-business.html">&=
nbsp;Economy & Business&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/130/art-review.html">&nbsp;A=
rt Review&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/128/metrolife.html">&nbsp;Me=
trolife&nbsp;</a></li></ul></div></div><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/122/tuesday.html">&nbsp;Tues=
day&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/132/spectrum.html">&nbsp;Spe=
ctrum&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/133/science-technology.html"=
>&nbsp;Science & Technology&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/134/environment.html">&nbsp;=
Environment&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/131/metrolife.html">&nbsp;Me=
trolife&nbsp;</a></li></ul></div></div><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/123/wednesday.html">&nbsp;We=
dnesday&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/102/dh-avenues.html">&nbsp;D=
H Avenues&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/137/cyber-space.html">&nbsp;=
Cyber Space&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/135/metrolife.html">&nbsp;Me=
trolife&nbsp;</a></li></ul></div></div><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/124/thursday.html">&nbsp;Thu=
rsday&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/138/metrolife.html">&nbsp;Me=
trolife&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/139/dh-education.html">&nbsp=
;DH Education&nbsp;</a></li></ul></div></div><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/125/friday.html">&nbsp;Frida=
y&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/143/open-sesame.html">&nbsp;=
Open Sesame&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/142/dh-realty.html">&nbsp;DH=
 Realty&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/141/metrolife.html">&nbsp;Me=
trolife&nbsp;</a></li></ul></div></div><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/126/saturday.html">&nbsp;Sat=
urday&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/146/she.html">&nbsp;She&nbsp=
;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/145/living.html">&nbsp;Livin=
g&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/144/metrolife.html">&nbsp;Me=
trolife&nbsp;</a></li></ul></div></div></ul></div></div><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/161/entertainment.html">&nbs=
p;Entertainment&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/118/opinion.html">&nbsp;Opin=
ion&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/215/in-perspective.html">&nb=
sp;In Perspective&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/216/right-middle.html">&nbsp=
;Right in the Middle&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/content/63078/todays-letters.html">&n=
bsp;Net mail&nbsp;</a></li></ul></div></div><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/206/columns.html">&nbsp;Colu=
mns&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/226/rajdeep-sardesai.html">&=
nbsp;Rajdeep Sardesai&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/223/m-j-akbar.html">&nbsp;M =
J Akbar&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/220/khushwant-singh.html">&n=
bsp;Khushwant Singh&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/213/kuldip-nayar.html">&nbsp=
;Kuldip Nayar&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/207/oasis.html">&nbsp;Oasis&=
nbsp;</a></li></ul></div></div><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/119/analysis.html">&nbsp;Ana=
lysis&nbsp;</a><div class=3D'yuimenu'><div class=3D'bd'><ul><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/211/panorama.html">&nbsp;Pan=
orama&nbsp;</a></li></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/187/special-features.html">&=
nbsp;Special Features&nbsp;</a></li><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"http://www.deccanherald.com/contents/188/sunday-spotlight.html">&=
nbsp;Sunday Spotlight&nbsp;</a></li></ul></div></div><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"mailto:dhfeedback@deccanherald.co.in">&nbsp;Feedback&nbsp;</a></l=
i><li class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' =
href=3D"/archives.php">&nbsp;Archives&nbsp;</a></li><li =
class=3D'yuimenuitem'><a =
style=3D'text-decoration:none;font-weight:bold;cursor:pointer;' =
class=3D'yuimenuitemlabel' target=3D'_blank' =
href=3D"http://www.careeravenues.in/JobSeeker/JSRegistration.aspx">&nbsp;=
Jobs&nbsp;</a></li></ul></div></div></div></div> </td>
          </tr>
      </table></td>
  </tr>
        <tr>
    <td height=3D"20px;" style=3D"background-color:#830908;">
    <table height=3D"20px;" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
        <tr>
          <td width=3D"10%"><table border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0' width=3D"135px">
              <tr>
                <td nowrap class=3D"BreakingNews_text" =
style=3D"padding:5px 0px 5px 8px;" width=3D"105px" >Breaking News</td>
                <td width=3D"15px" style=3D"background: =
url(http://www.deccanherald.com/images/white_Title_arrow_bg.gif) =
repeat-x;background-position: left center;"></td>
                <td width=3D"5px" style=3D"background: =
url(http://www.deccanherald.com/images/white_Title_arrow.gif) =
no-repeat;background-position: left center;"></td>
              </tr>
            </table></td>
          <td width=3D"90%" align=3D"left" valign=3D"middle" =
style=3D"padding: 5px 0px 0px 5px;" class=3D"blue_bar">
			<marquee behavior=3D"scroll" direction=3D"left" scrollamount=3D"3" =
onmouseout=3D"this.start()" onmouseover=3D"this.stop()" =
style=3D"padding-left:20px;padding-right:20px;">
		=09
				<font color=3D'#ffffff'><b>Fire on 5th floor of Gold Tower building =
on Residency Road in Bangalore</b></font>&nbsp;&nbsp;&nbsp;&nbsp;<font =
color=3D'#ffffff'><b>No casualties =
reported</b></font>&nbsp;&nbsp;&nbsp;&nbsp;		=09
			</marquee>
          </td>
        </tr>
      </table></td>
  </tr>
  <tr >
    <td style=3D"height:5px;background: =
url(http://www.deccanherald.com/images/line.jpg) =
repeat-x;background-position: center;"></td>
  </tr>
    </table></td></tr>
        <tr>
            <td valign=3D'top' align=3D"center"  class=3D"PageContent" =
style=3D"padding:8px 0px 8px 8px;">
                <table align=3D"center" width=3D"100%" border=3D"0" =
cellpadding=3D"0" cellspacing=3D"0">
<!--
                    <tr><td></td></tr>
                    <tr><td></td></tr>
-->

					<!--
					-->
<!--
										-->
					                                                <tr>
                                <td valign=3D"top">=0D	<!-- Content Goes =
Here-->


	<table border=3D"0" cellspacing=3D'0' cellpadding=3D'0' width=3D'100%'>
	    <tr>
	    	<td valign=3D"top">
	    		<table width=3D"100%" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
	    									<tr><td colspan=3D"2" class=3D"BreadCrumbClient">You are =
here: <span> <a href=3D"http://www.deccanherald.com/">Home</a> &raquo; =
<a =
href=3D"http://www.deccanherald.com/contents/168/business.html">Business<=
/a> &raquo; Class action suit to form part of Companies =
Bill</span></td></tr>
						    		   <tr>
						<td colspan=3D"2">
							<table width=3D"100%" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
								<tr>
								<td width=3D"95%" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;">&nbsp;</td>
								<td width=3D"5%" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
								</tr>
							</table>
						</td>
					</tr>
	    		    <tr>
	    		    	<td valign=3D"top" style=3D"padding-right:4px;">
							<table border=3D"0" cellspacing=3D'0' cellpadding=3D'0' =
valign=3D"top" width=3D'100%'>

																					<tr>
							<td valign=3D"top">
								<table border=3D"0" cellspacing=3D'0' cellpadding=3D'0' =
valign=3D"top" width=3D'100%'>
																		<tr><td class=3D"StrapTitle" valign=3D"bottom">The =
move is believed to help the end users, both in terms of cost and =
time</td></tr>
									<!--
																			<tr><td>New Delhi, Press Trust of =
India:<br/><br/></td></tr>
									-->
																			<tr><td class=3D"PageTitle">Class action suit to form =
part of Companies Bill</td></tr>
								=09

																			<tr><td >New Delhi, Press Trust of India:</td></tr>
								=09
<!--
																		<tr>
										<td colspan=3D"2" class=3D"overviewfont">Sunday, July 26, =
2009</td>
									</tr>
									-->

									<!-- ~~|ByLine|ArticleContentFont|height=3D"5px"|byline|520|10| =
~~-->
																		<tr><td colspan=3D"2" class=3D"SummaryStyle">
									<br/>
										<i>With lessons from the Satyam fraud case, the government is =
planning to include the concept of class action suit in new Companies =
Bill, likely to be introduced in the current session of Parliament, to =
help investors claim damages from fraudulent companies.</i>

										</td>
									</tr>
								=09
									<tr  height=3D"1"><td><br></td></tr>

									<tr><td colspan=3D"2" class=3D"overviewfont">
										<img =
src=3D"http://www.deccanherald.com/images/editor_images/salman-khursheed.=
jpg" alt=3D"Salman Khurshid" width=3D"130" height=3D"127" =
align=3D"right" />&ldquo;We are planning to include class action suit in =
the new Companies Bill, 2008. This will help retail investors and small =
investors in fighting for their rights,&rdquo; Corporate Affairs =
Minister Salman Khurshid told PTI.<br /><br />He said small investors, =
who at present are not able, unlike in the US, to get compensation in =
cases of fraud due to the absence of any such law, will be able to fight =
for justice with class action suits. Class action suit is one brought by =
one party on behalf of a group of individuals to file for claims against =
erring companies in a court of law.<br /><br />Recently, Midas Touch =
Investor Association, an NGO, had filed a petition with the National =
Consumer Disputes Redressal Commission seeking compensation on behalf of =
Satyam investors. It alleged that they were deceived by misleading =
statements of the IT firm and duped into buying its shares at a =
manipulated price.<br /><br />Midas claimed damages of Rs 4,987 crore =
from Satyam, the Raju brothers, Price Waterhouse and independent =
directors. Khurshid said with the introduction of the concept of class =
action suits, the problem of addressing such complaints on behalf of =
small investors would be solved. Institute of Company Secretaries CEO & =
Secretary N K Jain said: &ldquo;it will be advantageous for the end =
users in terms of cost and time.&rdquo;<br /><br />Earlier this year, =
Raju confessed to manipulating the books of accounts of Satyam for =
several years, following which US-based law firms, on behalf of =
Satyam&rsquo;s ADR holders and securities and anti-trust firms, filed =
class action suits against the IT firm in America.<br /><br =
/><strong>Slew of suits<br /><br /></strong>There are 12 class action =
suits pending in US courts for which the company, rechristened Mahindra =
Satyam after Tech Mahindra took it over, has appointed Wachtell, Lipton, =
Rosen & Katz as lawyers.<br /><br />The idea of class action suit =
originated in the United States and it is often filed when an =
organisation on behalf of shareholders launches a lawsuit, mainly =
because it would be too expensive for each individual shareholder to =
launch her/his own law suit and claim damages. In the US, class action =
has become a tool for social and economic reform and is also used to =
promote consumer protection. It is frequently used in antitrust cases =
and to combat consumer fraud, price fixing, and other commercial abuses =
in the US. <br /><br />The new Companies Bill was introduced in the =
lower house but lapsed after the 14th Lok Sabha was dissolved.

										</td>
									</tr>
									<tr>
									</tr>
									<tr><td align=3D"center" valign=3D"top" width=3D"100%">

										</td>
									</tr>
									<tr>
										<td class=3D"gotop" align=3D"right">
											<a href=3D"#top" class=3D"gototop" =
style=3D"padding-right:25px;">Go to Top</a>
										</td>
									</tr>
									<tr><td height=3D"5"></td></tr>
									<tr style=3D"line-height: 6px; height: 6px;">
										<td style=3D"padding: 6px 0px 0px 0px; line-height: 6px; =
background: url(http://www.deccanherald.com/images/dotted.jpg) =
repeat-x;background-position: left top;"></td>
									</tr>

																			<tr><td align=3D'center' =
style=3D"padding-top:5px;"><span><script language=3D'JavaScript' =
type=3D'text/javascript'><!--=0A=
/* openads=3Dhttp://www.deccanherald.com/Openads bannerid=3D421 =
zoneid=3D0 source=3D */=0A=
if (typeof phpAds_adg =3D=3D 'undefined') {=0A=
	document.write('<scr'+'ipt language=3D"JavaScript" =
type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/Openads/adg.js"></scr'+'ipt>');=0A=
}=0A=
//--></script><script type=3D"text/javascript"><!--
google_ad_client =3D "pub-6098511427863223";
google_ad_width =3D 468;
google_ad_height =3D 60;
google_ad_format =3D "468x60_as";
google_ad_type =3D "text_image";
google_ad_channel =3D"2353409498";
//--></script>
<script type=3D"text/javascript"
  src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></span><div id=3D"beacon_421" style=3D"position: absolute; =
left: 0px; top: 0px; visibility: hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D421&amp;c=
lientid=3D16&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3Dc66887d9b8c848dc382bf178b00e9e63' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div></td></tr>
										<tr><td align=3D'center' style=3D"padding-top:5px;"><iframe =
src=3D"http://www.s2d6.com/x/?x=3Di&amp;z=3Di&amp;v=3D2723006&amp;r=3D[RA=
NDOM]&amp;k=3D[NETWORKID]" scrolling=3D"no" marginwidth=3D"0" =
marginheight=3D"0" frameborder=3D"0" vspace=3D"0" hspace=3D"0" =
width=3D"468" height=3D"60"> <ilayer =
src=3D"http://www.s2d6.com/x/?x=3Di&amp;z=3Di&amp;v=3D2723006&amp;r=3D[RA=
NDOM]&amp;k=3D[NETWORKID]" z-index=3D"0" width=3D"468" height=3D"60"> <a =
target=3D'_blank' =
href=3D"http://www.deccanherald.com/Openads/adclick.php?bannerid=3D434&am=
p;zoneid=3D0&amp;source=3D&amp;dest=3Dhttp%3A%2F%2Fwww.s2d6.com%2Fx%2F%3F=
x%3Dc%26z%3Ds%26v%3D2723006%26r%3D%5BRANDOM%5D%26k%3D%5BNETWORKID%5D&amp;=
ismap=3D" > <img =
src=3D"http://www.s2d6.com/x/?x=3Di&amp;z=3Ds&amp;v=3D2723006&amp;r=3D[RA=
NDOM]&amp;k=3D[NETWORKID]" border=3D"0" alt=3D"click here" /> </a> =
</ilayer> </iframe><div id=3D"beacon_434" style=3D"position: absolute; =
left: 0px; top: 0px; visibility: hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D434&amp;c=
lientid=3D18&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D6144dce34b43bf54bd9e8c5324f3ca1a' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div></td></tr>
										<tr><td align=3D'center' style=3D"padding-top:5px;"></td></tr>
								=09
									<tr><td =
background=3D"http://www.deccanherald.com/images/horz_line.gif" =
height=3D"1" width=3D"510"></td></tr>
									<tr><td height=3D"5"></td></tr>

								</table>
							</td>
							</tr>
							<tr><td><br/></td></tr>


							<tr>
								<td style=3D"padding-top:10px;">
									<!-- Comments Start -->
																		<table width=3D"100%" class=3D"comment_content" =
border=3D"0" cellpadding=3D"0" cellspacing=3D"0">
									  <tr>
										<td class=3D"RightMenuBar" align=3D"left" height=3D"25"><font =
class=3D"RightTextTitle">&nbsp;User Comments</font></td>
									  </tr>
									  <tr>
										<td valign=3D"top">
											<table border=3D"0" width=3D"100%" cellpadding=3D"5px" =
cellspacing=3D"0">
												<tr align=3D"left">
												<td align=3D"left" valign=3D"top">
												[ <a href=3D"javascript://" =
onclick=3D"javascript:showCommentsForm(16049,0, =
'CommentForm_16049_0',0,1,1,'/content/16049/images/blank.gif');" =
class=3D"smalllink">Post Comments</a> ] <input type=3D"hidden" =
id=3D"preDiv">
												</td>
												<td  class=3D"red" align=3D"right"><font =
class=3D"vhead">&nbsp;</font></td>
												</tr>
											</table>
											<div id=3D"CommentForm_16049_0" style=3D"margin-left:20px;">
											</div>
											<div id=3D"DisplayAllComments" >
												<input type=3D"hidden" id=3D"prePage" =
value=3D"Comment1"><div id=3D"Comment1" style=3D"padding-bottom:10px">=0A=
	<table  width=3D"100%" border=3D"0" cellpadding=3D"0" cellspacing=3D"0">=0A=
	<tr>=0A=
	<td>=0A=
		<TR>=0A=
		<TD colspan=3D"2"><a id=3D"comment-6693"></a></TD>=0A=
		</TR>=0A=
		<TR>=0A=
		<TD colspan=3D"2">=0A=
		<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" width=3D"100%">=0A=
			<TR>=0A=
			<TD width=3D"15">=0A=
			<img src=3D"images/blank.gif" alt=3D" " height=3D"1" width=3D"15">=0A=
			</TD>=0A=
			<td>=0A=
			<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" =
width=3D"100%">=0A=
			<tr bgcolor=3D"#FFFFFF">=0A=
				<td wrap=3D"">=0A=
				<font class=3D"title">By:&nbsp;</font><font class=3D"mytext">T. =
Varadaraj</font>=0A=
				<br>=0A=
				<font class=3D"title">On:&nbsp;</font><font class=3D"mytext">26 Jul =
2009 10:19 pm</font>=0A=
				<br>=0A=
				<p class=3D"mytext">=0A=
				How about class action suits against government for services not =
rendered for the taxes collected? I see all pot-holed streets, chaotic =
unpoliced roads, garbage not collected and the like and wonder where all =
my taxes have gone. This is a Satyam like scam that goes on every day.=0A=
				</p>=0A=
				<p>=0A=
				<a href=3D"javascript://" class=3D"cmntLink" =
onclick=3D"javascript:showCommentsForm(16049,6693,'CommentForm_16049_6693=
',1,1,15,'/comments.php')">Reply</a>&nbsp;|&nbsp; <a =
href=3D"javascript://" class=3D"cmntLink" =
onclick=3D"showReportAbuse(16049, 6693, =
'CommentForm_16049_6693',15)">Report abuse</a>=0A=
				</p>=0A=
				</td>=0A=
			</tr>=0A=
			</table>=0A=
			</td>=0A=
			</tr>=0A=
		</table>=0A=
		</td>=0A=
		</tr>=0A=
		<tr>=0A=
			<td colspan=3D"2"><div id=3D"CommentForm_16049_6693" =
style=3D"display:none;"></div> </td>=0A=
		</tr><tr><td colspan=3D"2"><hr></hr></td></tr></table>=0A=
	<table border=3D"0" width=3D"100%">=0A=
		<tr align=3D"left">=0A=
		<td align=3D"left" valign=3D"top">=0A=
		[ <a href=3D"javascript://" =
onclick=3D"javascript:showCommentsForm(16049,0, =
'CommentForm_16049_0',0,1,1,'/comments.php');" class=3D"smalllink">Post =
Comments</a> ] <input type=3D"hidden" id=3D"preDiv">=0A=
		</td>=0A=
		<td align=3D"right"></td>=0A=
		</tr>=0A=
	</table>=0A=
	</div>											</div>
										</td>
									  </tr>
									</table>
																		<!-- Comments End -->
								</td>
							</tr>
												</table>
						</td>
												<td valign=3D"top">
							<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" =
width=3D"100%">
															    <tr>
									<td>
										<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" =
width=3D"100%">
											<tr>
												<td align=3D"left" style=3D"padding-top:10px;">
													<a =
href=3D"http://www.deccanherald.com/tell_a_friend.php?id=3D16049"><img =
align=3D"left" src=3D"http://www.deccanherald.com/images/mail.gif" =
border=3D"0"></a>
												</td>
											</tr>
											<tr style=3D"line-height: 6px; height: 6px;">
													<td style=3D"padding: 6px 0px 0px 0px; line-height: 6px; =
background: url(http://www.deccanherald.com/images/dotted.jpg) =
repeat-x;background-position: left bottom;"></td>
											</tr>
											<tr>
												<td align=3D"left" style=3D"padding-top:10px;">
													<img align=3D"left" =
src=3D"http://www.deccanherald.com/images/print.gif" border=3D"0" =
onClick=3D"javascript:window.print();" style=3D"cursor:pointer">
												</td>
											</tr>
											<tr style=3D"line-height: 6px; height: 6px;">
												<td style=3D"padding: 6px 0px 0px 0px; line-height: 6px; =
background: url(http://www.deccanherald.com/images/dotted.jpg) =
repeat-x;background-position: left top;"></td>
											</tr>
											<tr>
												<td align=3D"left" style=3D"padding-top:10px;">
													<a href=3D"javascript:addToFavorites()"><img align=3D"left" =
src=3D"http://www.deccanherald.com/images/bookmark.gif" =
border=3D"0"></a>
												</td>
											</tr>
											<tr style=3D"line-height: 6px; height: 6px;">
												<td style=3D"padding: 6px 0px 0px 0px; line-height: 6px; =
background: url(http://www.deccanherald.com/images/dotted.jpg) =
repeat-x;background-position: left top;"></td>
											</tr>
										</table>
									</td>
								</tr>
																<tr>
									<td><!-- Javascript tag: -->
<!-- begin ZEDO for channel: www.deccanherald.com , publisher: =
deccanherald.com , Ad Dimension: Skyscraper - 120 x 600 -->
<script language=3D"JavaScript">
var zflag_nid=3D"1217"; var zflag_cid=3D"99"; var zflag_sid=3D"27"; var =
zflag_width=3D"120"; var zflag_height=3D"600"; var zflag_sz=3D"8";
</script>
<script language=3D"JavaScript" =
src=3D"http://d2.zedo.com/jsc/d2/fo.js"></script><div id=3D"beacon_255" =
style=3D"position: absolute; left: 0px; top: 0px; visibility: =
hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D255&amp;c=
lientid=3D59&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D897fc866d891ef89d1a8621dd911efea' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div><br> <iframe  =
src=3D"http://www.deccanherald.com/events/flowelinks120x600.html" =
name=3D"" frameborder=3D"0" width=3D"120" height=3D"700" =
scrolling=3D"no"></iframe>

<div id=3D"beacon_142" style=3D"position: absolute; left: 0px; top: 0px; =
visibility: hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D142&amp;c=
lientid=3D61&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3Df32fa7ed9718763017c890a80a0e486c' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div></td>
								</tr>
							</table>
						</td>
							    		    </tr>
	    		</table>
	    	</td>
<!--
	        <td valign=3D"top">
	        		        </td>
-->
	    </tr>
	</table>

	<!-- End of Content-->
								</td>
																<td valign=3D"top" align=3D"center" width=3D"310px">
								=09
<script language=3D'JavaScript' type=3D'text/javascript' =
src=3D'http://174.133.94.26/Openads/adpopup.php?n=3Da2fceaf4&amp;clientid=
=3D71'></script>

<script language=3D'JavaScript' type=3D'text/javascript'>
function showCricket(){
		window.open('http://www.deccanherald.com//cricket.php', 'scorecard', =
'toolbar=3Dno,location=3Dno,directories=3Dno,status=3Dyes,menubar=3Dno,sc=
rollbars=3Dno,status=3Dno,resizable=3Dno,copyhistory=3Dno,width=3D400,hei=
ght=3D300'); return false;
}
</script>

<table width=3D"170px" cellpadding=3D"0" border=3D"0" cellspacing=3D"0" =
>
	<!--<tr>
		<td class=3D"UpdateText" nowrap style=3D"border-left:0px;" =
align=3D"center">News updated at <br>4:04 PM IST</td>
	</tr>-->
	<tr>
		<td style=3D"padding-bottom:5px;">&nbsp;</td>
	</tr>
		<tr>
		<td>
			<table border=3D"0" width=3D"100%" cellpadding=3D"0" =
cellspacing=3D"0">
					<tr><td colspan=3D"2">
						<table width=3D"100%" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
							<tr>
							<td nowrap class=3D"marron_text" width=3D"95" >Related News</td>
							<td width=3D"200px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;"></td>
							<td width=3D"10px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
							</tr>
						</table>
					</td></tr>
											<tr><td align=3D"right" width=3D"5%"><img =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></td><td =
width=3D"95%"style=3D"padding-left:10px;"><a class=3D'relatednews_link' =
href=3D'http://www.deccanherald.com/content/51224/satyam-probe-almost-com=
plete-khurshid.html'>Satyam probe almost complete: =
Khurshid</a></td></tr>
											<tr><td align=3D"right" width=3D"5%"><img =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></td><td =
width=3D"95%"style=3D"padding-left:10px;"><a class=3D'relatednews_link' =
href=3D'http://www.deccanherald.com/content/50717/sc-grants-bail-pricewat=
er-auditor.html'>SC grants bail to PriceWater auditor in Satyam =
case</a></td></tr>
											<tr><td align=3D"right" width=3D"5%"><img =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></td><td =
width=3D"95%"style=3D"padding-left:10px;"><a class=3D'relatednews_link' =
href=3D'http://www.deccanherald.com/content/28355/sfio-gain-more-teeth-th=
rough.html'>SFIO to gain more teeth through new Companies =
Bill</a></td></tr>
											<tr><td align=3D"right" width=3D"5%"><img =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></td><td =
width=3D"95%"style=3D"padding-left:10px;"><a class=3D'relatednews_link' =
href=3D'http://www.deccanherald.com/content/17577/govt-re-introduces-comp=
anies-bill.html'>Govt re-introduces Companies Bill</a></td></tr>
											<tr><td align=3D"right" width=3D"5%"><img =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></td><td =
width=3D"95%"style=3D"padding-left:10px;"><a class=3D'relatednews_link' =
href=3D'http://www.deccanherald.com/content/17634/companies-bill-mulls-st=
rict-steps.html'>New Companies Bill mulls strict steps to stem =
frauds</a></td></tr>
								</table>
		</td>
	</tr>
	    <tr>
        <td style=3D"padding-top:2px;">
        	<!--
<table class=3D"boxright_bg" cellpadding=3D"0" border=3D"0" =
cellspacing=3D"0" border=3D"0" width=3D"100%">
	<tr>
			<td class=3D"RightMenuBar">
				<table border=3D"0" width=3D"100%" cellpadding=3D"0" =
cellspacing=3D"0" >
					<tr>
						<td class=3D"RightTextTitle">Videos</td>
						<td align=3D"right"><img =
src=3D"http://www.deccanherald.com/images/headingicon_image.jpg" =
style=3D"margin-right:5px;"></td>
					</tr>
				</table>
			</td>
		</tr>



						<tr>
				<td align=3D"center" class=3D"text_boxcontent" style=3D"padding:5px =
5px 10px 10px">  <a =
href=3D"/videos/watch/1333/two-army-men-arrested-over.html" =
class=3D"vhead" align=3D"center">
				<img src=3D"/videos/images//thumb/2010/04/10/1270894727_front.jpg" =
alt=3D"Two Army men arrested over Pune girl rape" border=3D"0" =
class=3D"numbox"  /></a></td>
			</tr>

			</table>
-->
<table class=3D"boxright_bg" cellpadding=3D"0" border=3D"0" =
cellspacing=3D"0" width=3D"100%">
	<tr>
		<td >
			<table width=3D"100%" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
				<tr>
				<td nowrap class=3D"marron_text" width=3D"39px">Videos</td>
				<td width=3D"244px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;"></td>
				<td width=3D"5px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
				</tr>
			</table>
		</td>
	</tr>
		<tr>
		<td align=3D"center" class=3D"text_boxcontent" style=3D"padding:5px">
		<a =
href=3D"http://www.deccanherald.com//videos/watch/1333/two-army-men-arres=
ted-over.html" class=3D"vhead" align=3D"center">
		<img src=3D"/videos/images//thumb/2010/04/10/1270894727_front.jpg" =
alt=3D"Two Army men arrested over Pune girl rape" border=3D"0" =
class=3D"numbox"  /></a></td>
	</tr>
	<tr><td align=3D"center"><a =
href=3D"http://www.deccanherald.com//videos/watch/1333/two-army-men-arres=
ted-over.html" class=3D"vhead" style=3D"font-size:13px" =
align=3D"center">Two Army men arrested over Pune girl rape</a></td></tr>
	<tr><td>&nbsp;</td></tr>
		<tr>
		<td>Submit your Videos along with brief captions: To the <a =
href=3D"mailto:dhinternet@deccanherald.co.in">Webmaster.</a></td>
	  </tr>
	<tr><td>&nbsp;</td></tr>
</table>=0D
        </td>
    </tr>
    <tr>
		<td align=3D"center">
					<!--IFRAME Tag // Tag for network 875: iAvatarZ // Website: =
Deccanherald // Page: Home Page // Placement: 300x250 (2308094) // =
created at: Feb 9, 2010 9:10:37 AM   -->
<IFRAME WIDTH=3D"300" HEIGHT=3D"250" SCROLLING=3D"No" FRAMEBORDER=3D"0" =
MARGINHEIGHT=3D"0" MARGINWIDTH=3D"0" =
SRC=3D"http://adserver.adtech.de/adiframe/3.0/875/2308094/0/170/ADTECH;ta=
rget=3D_blank;grp=3D[group]"><script language=3D"javascript" =
src=3D"http://adserver.adtech.de/addyn/3.0/875/2308094/0/170/ADTECH;loc=3D=
700;target=3D_blank;grp=3D[group]"></script><noscript><a =
target=3D'_blank' =
href=3D"http://www.deccanherald.com/Openads/adclick.php?bannerid=3D297&am=
p;zoneid=3D0&amp;source=3D&amp;dest=3Dhttp%3A%2F%2Fadserver.adtech.de%2Fa=
dlink%2F3.0%2F875%2F2308094%2F0%2F170%2FADTECH%3Bloc%3D300%3Bgrp%3D%5Bgro=
up%5D&amp;ismap=3D" ><img =
src=3D"http://adserver.adtech.de/adserv/3.0/875/2308094/0/170/ADTECH;loc=3D=
300;grp=3D[group]" border=3D"0" width=3D"300" =
height=3D"250"></a></noscript></IFRAME>
<!-- End of IFRAME Tag -->
<div id=3D"beacon_297" style=3D"position: absolute; left: 0px; top: 0px; =
visibility: hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D297&amp;c=
lientid=3D51&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D77c67301644aa465f438876f540cc9d7' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div>
				</td>
	</tr>
     <tr>
        <td style=3D"padding-top:2px;">
        	<table border=3D"0" width=3D'100%' cellspacing=3D'0' =
cellpadding=3D'0'>
				<tr>
					<td width=3D"170px" valign=3D"top"><!--
<table class=3D"boxright_bg" cellpadding=3D"0" border=3D"0" =
cellspacing=3D"0" border=3D"0"  width=3D"100%">
	<tr>
			<td class=3D"RightMenuBar">
				<table border=3D"0" width=3D"100%" cellpadding=3D"0" =
cellspacing=3D"0" >
					<tr>
						<td class=3D"RightTextTitle">Photos</td>
						<td align=3D"right"><img =
src=3D"http://www.deccanherald.com/images/headingicon_image.jpg" =
style=3D"margin-right:5px;"></td>
					</tr>
				</table>
			</td>
		</tr>

				<tr>
		<td style=3D"padding:7px 3px 0px 7px" class=3D"text_boxcontent" =
align=3D"center"><a href=3D"/photo.php?id=3D3924"><img =
src=3D"http://www.deccanherald.com/photos/small/spinning_win_201004102056=
31.jpg" width=3D"130px" height=3D"120px"></a></td>
		</tr>
		<tr>
		<TD style=3D"padding-left:10px;padding-bottom:5px;" =
class=3D"text_boxcontent">Anil Kumble has done a wonderful job for&nbsp; =
Royal Challengers Bangalore</TD>
		</tr>
				<tr>
	<td style=3D"padding-left:10px;" class=3D"text_boxcontent">
	<img src=3D"http://www.deccanherald.com/images/Photogallery_icon.jpg" =
align=3D"left">
	<a href=3D"http://www.deccanherald.com/photo.php?id=3D3947" =
class=3D"text_boxlink">Rock Solid..</a>
	</td>
	</tr>
	<tr><TD class=3D"text_boxcontent"></TD></tr>
		</table>
-->
<table class=3D"boxright_bg" cellpadding=3D"0" border=3D"0" =
cellspacing=3D"0"   width=3D"100%">
<tr>
	<td>
		<table width=3D"100%" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
			<tr>
			<td nowrap class=3D"marron_text" width=3D"90" >Photo Gallery</td>
			<td width=3D"120" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;"></td>
			<td width=3D"20" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
			</tr>
		</table>
	</td>
</tr>
		<tr>
			<td style=3D"text-align:center;font-size:11px;">spinning win</td>
		</tr>
		<tr>
		<td style=3D"padding:5px" class=3D"text_boxcontent" align=3D"center">
		<a href=3D"http://www.deccanherald.com/photo.php?id=3D3924">
<!--
		<img alt=3D"spinning win" title=3D"spinning win" id=3D"3924" =
onload=3D"resize(3924,145)" =
src=3D"http://www.deccanherald.com/photos/small/spinning_win_201004102056=
31.jpg"></a>
-->
		<img alt=3D"spinning win" title=3D"spinning win" id=3D"3924" =
src=3D"http://www.deccanherald.com/photos/home_small/spinning_win_2010041=
0205631.jpg"></a>
		</td>
		</tr>

	=09
		<!--<tr>
		<TD style=3D"padding-left:10px;padding-bottom:5px;" =
class=3D"text_boxcontent">Anil Kumble has done a wonderful job for&nbsp; =
Royal Challengers Bangalore</TD>
		</tr>-->
			<tr>
			<td style=3D"text-align:center;font-size:11px;">Rock Solid..</td>
		</tr>
		<tr>
		<td style=3D"padding:5px" class=3D"text_boxcontent" align=3D"center">
		<a href=3D"http://www.deccanherald.com/photo.php?id=3D3947">
<!--
		<img alt=3D"Rock Solid.." title=3D"Rock Solid.." id=3D"3947" =
onload=3D"resize(3947,145)" =
src=3D"http://www.deccanherald.com/photos/small/Rock_Solid.._201004112213=
49.jpg"></a>
-->
		<img alt=3D"Rock Solid.." title=3D"Rock Solid.." id=3D"3947" =
src=3D"http://www.deccanherald.com/photos/home_small/Rock_Solid.._2010041=
1221349.jpg"></a>
		</td>
		</tr>

					<tr>
				<td style=3D"text-align:right;font-size:11px;"><a =
href=3D"http://www.deccanherald.com/photo_gallery.php" =
style=3D"font-size:11px;">View more photos</a></td>
			</tr>
	=09
		<!--<tr>
		<TD style=3D"padding-left:10px;padding-bottom:5px;" =
class=3D"text_boxcontent">&nbsp;Ricky Joy of HASC (right) clears a ball =
from the reach of Golden...</TD>
		</tr>-->
=09
</table>=0D
					</td>
					<td valign=3D"top" align=3D"center" =
style=3D"padding-left:0px;padding-right:5px;padding-top:0px;padding-botto=
m:10px;" >
					<table  border=3D"0" cellspacing=3D'0' cellpadding=3D'0' =
valign=3D"top">
						   <tr>
								<td >
									<table width=3D"125" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
										<tr>
										<td nowrap class=3D"marron_text" width=3D"40" >Cricket</td>
										<td width=3D"55px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;"></td>
										<td width=3D"5px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
										</tr>
									</table>
								</td>
							</tr>
					</table>

					<table>
						<tr>
							<td><a href=3D"#" onclick=3D"showCricket();"><img =
src=3D"http://www.deccanherald.com//images/desksb2.jpg"></a></td>
						</tr>
					</table>

						<table class=3D"boxright_bg" cellpadding=3D"0" border=3D"0" =
cellspacing=3D"0"  width=3D"60%" style=3D"border:#0066CC 1px =
solid;padding-top:5px;">
<!--
							<tr>
								<td>
									<table width=3D"148px" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
										<tr>
										<td nowrap class=3D"marron_text" width=3D"55px">Cricket</td>
										<td width=3D"85px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;"></td>
										<td width=3D"5px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
										</tr>
									</table>
								</td>
							</tr>
-->
<!--
							<tr><td style=3D"padding:2px;" align=3D"top" =
valign=3D"center"><img =
src=3D"http://www.deccanherald.com//images/score.jpg"></td></tr>
-->
							<tr>
								<td style=3D"padding-left:0px;" align=3D"top" valign=3D"center" =
>
									<!-- Begin Cricbuzz Code -->
									   <script type=3D"text/javascript">
									   crbz_sc_client =3D "31719180dhp05";
									   crbz_scag_width =3D 120;
									   crbz_scag_height =3D 125;
									   crbz_scag_dtlpage =3D "../../cricket.php";
									   crbz_scag_dtllinknm =3D "SCORE CARD ";
									   </script>

									   <script type=3D"text/javascript"
										   =
src=3D"http://www.cricbuzz.com/livescore/dh/lv_scag_ren.php">
									   </script>
									 <!-- End Cricbuzz Code -->
							   </td>
						  </tr>
						</table>
					</td>
				</tr>
				<tr>
					<td width=3D"148px" style=3D"padding-right:5px;padding-left:5px;" =
valign=3D"top">
						<table class=3D"boxright_bg" cellpadding=3D"0" border=3D"0" =
cellspacing=3D"0"  width=3D"100%">
														<tr>
								<td width=3D"148px">
									<table width=3D"100%" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
										<tr>
										<td nowrap class=3D"marron_text" width=3D"85px" >Movie =
Guide</td>
										<td width=3D"55px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;"></td>
										<td width=3D"5px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
										</tr>
									</table>
								</td>
							</tr>
							<tr>
								<td>
									<table  border=3D"0" width=3D"100%" cellpadding=3D"0" =
cellspacing=3D"0">
										<tr>
											<td style=3D"padding:1px;"  align=3D"center"><a =
href=3D"http://www.deccanherald.com/content/62858/movie-guide.html"><img =
alt=3D"Parole" title=3D"Parole" =
src=3D"http://www.deccanherald.com/images/front_page_images/62858_thump.j=
pg" border=3D'0'></a></td>
										</tr>
										<tr><td  style=3D"border-bottom:#5a79a5 thin =
solid;">=91Parole=92 (Kannada)=20
An action film with a murder mystery, Parole is inspired by a real-life =
incident. Directed by Rajshekhar and produced by...</td></tr>
									</table>
								</td>
							</tr>
						=09
													</table>
					</td>
					<td width=3D"50%" valign=3D"top">
						<table width=3D"148px" class=3D"boxright_bg" cellpadding=3D"0" =
border=3D"0" cellspacing=3D"0">
							<tr>
								<td>
									<table width=3D"148px" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
										<tr>
										<td nowrap class=3D"marron_text" width=3D"75px" =
>Horoscope</td>
										<td width=3D"65px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;"></td>
										<td width=3D"5px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
										</tr>
									</table>
								</td>
							</tr>
							 <tr>
								<td style=3D"padding:4px;border: 1px solid #0066CC;">
									<ul class=3D"HoroscopeList" style=3D"padding:5px 0px 5px =
20px;">
										<li><a class=3D"HoroscopeNewLinks" =
href=3D"http://www.deccanherald.com/horoscope.php?func=3DYearly">Year =
2010</a></li>
										<li><a class=3D"HoroscopeNewLinks" =
href=3D"http://www.deccanherald.com/horoscope.php?func=3DWeekly">Weekly</=
a></li>
										<li><a class=3D"HoroscopeNewLinks" =
href=3D"http://www.deccanherald.com/horoscope.php?func=3DDaily">Daily =
Astrospeak</a></li>
										<li><a class=3D"HoroscopeNewLinks" =
href=3D"http://www.deccanherald.com/yearly_calender.php" =
target=3D'_blank'>Calender 2010</a></li>
									</ul>
								</td>
							</tr>
							<tr>
								<td align=3D"center" style=3D"padding-top:2px;">
																	<script language=3D'JavaScript' =
type=3D'text/javascript' =
src=3D'http://www.deccanherald.com/Openads/adx.js'></script><script =
language=3D'JavaScript' type=3D'text/javascript'>=0A=
<!--=0A=
var phpads_activex =3D "<object =
classid=3D'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' =
codebase=3D'http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.=
cab#version=3D8,0,0,0' width=3D'120' height=3D'65'><param name=3D'movie' =
value=3D'http://www.deccanherald.com/Openads/adimage.php?filename=3Dratec=
ard.swf&amp;contenttype=3Dswf'><param name=3D'quality' =
value=3D'high'><param name=3D'allowScriptAccess' value=3D'always'><embed =
src=3D'http://www.deccanherald.com/Openads/adimage.php?filename=3Dratecar=
d.swf&amp;contenttype=3Dswf' quality=3Dhigh width=3D'120' height=3D'65' =
type=3D'application/x-shockwave-flash' =
pluginspace=3D'http://www.adobe.com/go/getflashplayer' =
allowScriptAccess=3D'always'><"+"/embed><"+"/object>";=0A=
phpads_deliverActiveX(phpads_activex);=0A=
//-->=0A=
</script><div id=3D"beacon_256" style=3D"position: absolute; left: 0px; =
top: 0px; visibility: hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D256&amp;c=
lientid=3D63&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D62df7240b51ca383aa325035de68b2c2' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div>
								<!--
									<img src=3D"http://www.deccanherald.com/images/airtel.jpg">
-->
								</td>
							</tr>
							<tr><td width=3D"170px" style=3D"padding:5px;">
																	<a =
href=3D'http://www.deccanherald.com/Openads/adclick.php?bannerid=3D432&am=
p;zoneid=3D0&amp;source=3D&amp;dest=3Dhttp%3A%2F%2Fwww.deccanherald.com%2=
Fevents%2FCompetetion.pdf' target=3D'_blank'><img =
src=3D'http://www.deccanherald.com/Openads/adimage.php?filename=3Dshcompe=
tition.gif&amp;contenttype=3Dgif' width=3D'120' height=3D'65' alt=3D'' =
title=3D'' border=3D'0'></a><div id=3D"beacon_432" style=3D"position: =
absolute; left: 0px; top: 0px; visibility: hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D432&amp;c=
lientid=3D65&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D5296b2127f1a0ff461bfce3360cfebb9' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div>
															</td></tr>
						</table>
					</td>
				</tr>
			</table>
        </td>
    </tr>
    <tr>
		<td align=3D"center">
					<span><script language=3D'JavaScript' type=3D'text/javascript'><!--=0A=
/* openads=3Dhttp://www.deccanherald.com/Openads bannerid=3D91 =
zoneid=3D0 source=3D */=0A=
if (typeof phpAds_adg =3D=3D 'undefined') {=0A=
	document.write('<scr'+'ipt language=3D"JavaScript" =
type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/Openads/adg.js"></scr'+'ipt>');=0A=
}=0A=
//--></script><script type=3D"text/javascript"><!--

google_ad_client =3D "pub-6098511427863223";

/* Deccanherald 300x250, created 09/05/09 */

google_ad_slot =3D "0179354348";

google_ad_width =3D 300;

google_ad_height =3D 250;

//-->

</script>

<script type=3D"text/javascript"

src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script></span><div id=3D"beacon_91" style=3D"position: absolute; left: =
0px; top: 0px; visibility: hidden;"><img =
src=3D'http://www.deccanherald.com/Openads/adlog.php?bannerid=3D91&amp;cl=
ientid=3D77&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&am=
p;cb=3Dd5cfd7fc225bd22bd4b90768c0e9930b' width=3D'0' height=3D'0' =
alt=3D'' style=3D'width: 0px; height: 0px;'></div>
				</td>
	</tr>
</table>=0D								</td>
								                            </tr>
                        </table>
           </td>
<!--
           <td class=3D"VerticalSeparator" style=3D"padding:1px;" =
width=3D"2px"> </td>
-->

           </tr>
		   <tr>
<!--
 	     	<td style=3D"background-color:#8e8e8e;" =
width=3D'15px;'>&nbsp;&nbsp;&nbsp;</td>
-->
			<td align=3D"center"  id=3D"footer">
				<!--Footer--><table width=3D"100%" cellspacing=3D'0' =
cellpadding=3D'0' border=3D"0" align=3D"center" =
style=3D"background-color:#8e8e8e; " >=0A=
    <tr>=0A=
<!--=0A=
        <td style=3D"background: =
url('http://www.deccanherald.com/images/bg_bottom.jpg') repeat-x;" >=0A=
-->=0A=
		<td>=0A=
        	<table cellspacing=3D'0' cellpadding=3D'0' border=3D"0" =
align=3D"center" >=0A=
				<tr>=0A=
					<td style=3D"border-right:0px solid #C0C0C0; padding:5px;" =
align=3D"center"><a class=3D"BottomLinks"  =
href=3D"http://www.deccanherald.com/content/130/about-us.html">About Us =
</a></td>=0A=
					<td class=3D"BottomText"> | </td>=0A=
					<td style=3D"border-right:0px solid #C0C0C0; padding:5px;" =
align=3D"center"><a class=3D"BottomLinks"  =
href=3D"http://www.deccanherald.com/contents/69/news.html">News</a></td>=0A=
					<td class=3D"BottomText"> | </td>=0A=
					<td style=3D"border-right:0px solid #C0C0C0; padding:5px;" =
align=3D"center"><a class=3D"BottomLinks"  =
href=3D"http://www.deccanherald.com/contents/74/business.html">Business</=
a></td>=0A=
					<td class=3D"BottomText"> | </td>=0A=
					<td style=3D"border-right:0px solid #C0C0C0; padding:5px;" =
align=3D"center"><a class=3D"BottomLinks"  =
href=3D"http://www.deccanherald.com/contents/76/sports.html">Sports</a></=
td>=0A=
					<td class=3D"BottomText"> | </td>=0A=
					<td style=3D"border-right:0px solid #C0C0C0; padding:5px;" =
align=3D"center"><a class=3D"BottomLinks"  =
href=3D"http://www.deccanherald.com/supplements.php">Supplements</a></td>=0A=
					<td class=3D"BottomText"> | </td>=0A=
<!--=0A=
					<td style=3D"border-right:0px solid #C0C0C0; padding:5px;" =
align=3D"center"><a class=3D"BottomLinks"  =
href=3D"http://www.deccanherald.com/classifieds.php">Classifieds</a></td>=0A=
					<td class=3D"BottomText"> | </td>=0A=
-->=0A=
					<td style=3D"border-right:0px solid #C0C0C0; padding:5px;" =
align=3D"center"><a class=3D"BottomLinks"  =
href=3D"http://www.deccanherald.com/content/131/contact-us.html">Contact =
Us</a></td>=0A=
				</tr>=0A=
			</table>=0A=
        </td>=0A=
    </tr>=0A=
    <tr>=0A=
        <td class=3D"BottomText">=0A=
        	Copyright 2009, The Printers (Mysore) Private Ltd., 75, M.G =
Road, Post Box 5331, Bangalore - 560001=0A=
        </td>=0A=
    </tr>=0A=
    <tr>=0A=
        <td class=3D"BottomText">=0A=
        	Tel: +91 (80) 25880000 Fax No. +91 (80) 25880523=0A=
        </td>=0A=
    </tr>=0A=
</table><!--End of Footer-->
			</td>
<!--
			<td style=3D"background-color:#8e8e8e;" =
width=3D'15px;'>&nbsp;&nbsp;&nbsp;</td>
-->
		 </tr>
           </table>
	<!-- </div>
</div> -->
	</body>
</html>=0D
------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/images/mail.gif

R0lGODlhZQAVAPcAAAQCBISChMTCxOzq7LSytMzOzJSWlPz6/NTW1GRmZISGhNTSzPz+/ADn6AAS
EgAAAACIFwAG0AATtQAAdwBoeADn8gASFQAAAADbAACAAAD7AAB3wA7QAQCYBAD4AAB3AAD/yAD/
eQD/WwD/AAh4iObnhBISFAAAAADsCACcAAD8AAB3AJjoGJgG3PgTTncAAAB4AwDyABMVAAAAAMB4
AGPyABMVAAAAAAABDgAAAAAAAAAAAOR4AuXyABIVAAAAAIjNAwarABO6AADcAJgUh+bnwhIS6QAA
d9sb34BZd/vh+Hd3d9CskJjK0fi1/Hd3d/9AxP8Dd/8o+P8Ad6gPQOYAWhIAEwAAAOwAIJwAWvwA
E3cAAMgAnBoAhBMAFAAAAMg8AGPnABMSAAAAADRdAABZAADhAMB3AEHIXJx56PxbMHcAMAAPjwEA
CwAAAAAAAAEATgEACwEAAAEAAKBtCuZZABLhAAB3ANsAAIAAAPsAAHcAAIgACK4AAPgAHXcAAP8A
CP8AAP8AHf8AAHQACOYAABIAHQAAAO+UsGfnPugS4XcAdwCDAAD7ABP5HQB3AAAAAAAAAAATAAAA
AIgCB5oAABUAAAAAABYAGAB56QBbEsAAAMgPAGMAABMAAAAAAACIAADnAAASAAAAAH6QAABzAADo
AMB3AAAAAAAAAAAAAAAAAP8AoP8A6P8AEv8AAP/IFv9jAP8TAP8AAAB0/wCV/wDo/wB3/wDMFgBz
AADoAAB3AACo+ADn8gASEgAAAABzAACVABPoAAB3AGwAsAAA6AAAEgAAAAAI/mMAWBMdSwAAAOR1
kMRr6OjoEnd3ABb/WwD/YgD/TsD/AAGsxOfo6BISEgAAAACedQFrawDo6AB3dxhsQuZv6RJOEgAA
AJwo6PmW/xJO/wAAf5xzLPmV6RLoEgB3ANuoCIDnAPsSHXcAAIgAda4Aa/gA6HcAd//ACP/cAP9P
Hf8AAFQAAecwABIAAAAAAIQBACkBAOkBAHcBAACcbgD5/RMSRgAAACwAAAAAZQAVAEAI/wAZCBxI
sKDBgwgTKlzIsKFDBgoGJJhI8UABAAkxPsxIUCMDjww9gtyoUEEBBQMPDAhwkaTLlw4ByHSooGbN
ADYVjITJs2dPBQcoJlAggMGAAQgQEBi5c6DGpx+dRgUpUqpIqgWravXJtavXr2DDimUQ4ECAswfS
WmwKli3bsQbLCp1I1GhTmTOzCoTacWrfvVajGqzadyvguGoPoIyYlICBiFTxMj38FK/fjhi3Wv6L
Oa/kvXkXsixAujTpt3BTq17NurXr1EAHMFA7YO3r2wuBqkxb+4CAt5JRc8R6WCrCz111J04b4Pfx
jDNDb87c+eN00MQFb7buOXTBssvrHkRFsJNpdMrYqWfXXH77Z63Iv/NWjHK80sfZB6PXzNlwccHG
XSbgXZIFwMBJOR0oHG4vLRgXSiodhVQADjK4WnAYWthaQAA7

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/images/print.gif

R0lGODlhYAAVAPcAAAQCBISChMzOzOzq7LSytNze3Pz6/FxeXISGhNTSzPz+/AAA/2WoOADn6AAS
EgAAAACIFwAG0AATtQAAdwBoaADnNgASEwAAAADbAACAAAD7AAB3wA7QAQCYBAD4AAB3AAD/yAD/
eQD/WwD/AAh4SObnShISFQAAAADsCACcAAD8AAB3AJjoGJgG3PgTTncAAABoAwA2ABMTAAAAAMBo
AGM2ABMTAAAAAAABDgAAAAAAAAAAAORoAuU2ABITAAAAAIjNAwarABO6AADcAJgUh+bnwhIS6QAA
d9sb34BZd/vh+Hd3d9CskJjK0fi1/Hd3d/9AxP8Dd/8o+P8Ad6gP4OYAUxIAEwAAAOwAwJwAU/wA
E3cAAMgAXBoAShMAFQAAAMg8AGPnABMSAAAAADRdAABZAADhAMB3AEHIXJx56PxbMncAMgAPjwEA
CwAAAAAAAAEATgEACwEAAAEAAKBtCuZZABLhAAB3ANsAAIAAAPsAAHcAAIgACK4AAPgAHXcAAP8A
CP8AAP8AHf8AAHQACOYAABIAHQAAAO+UsGfnPugS4XcAdwCDAAD7ABP5HQB3AAAAAAAAAAATAAAA
AIgCB5oAABUAAAAAABYAGAB56QBbEsAAAMgPAGMAABMAAAAAAACIAADnAAASAAAAAH6QAABzAADo
AMB3AAAAAAAAAAAAAAAAAP8AoP8A6P8AEv8AAP/IF/9jAP8TAP8AAAB0/wCV/wDo/wB3/wDMFwBz
AADoAAB3AACo+ADn8gASEgAAAABzAACVABPoAAB3AGwAsAAA6AAAEgAAAAAI/mMAWBMdSwAAAOR1
kMRr6OjoEnd3ABb/WwD/YgD/TsD/AAGsxOfo6BISEgAAAACedQFrawDo6AB3dxhsQ+Zv6RJOEgAA
AJwo5/mW/xJO/wAAf5xzLPmV6RLoEgB3ANuoCIDnAPsSHXcAAIgAda4Aa/gA6HcAd//ACP/cAP9P
Hf8AAFQAAecwABIAAAAAAIQBACkBAOkBAHcBAACcbgD5/RMSRgAAACwAAAAAYAAVAEAI/wAVCBxI
sKDBgwgTKlzIsGHDAAIMSJwoAABCiwIxLtQ4UCPHjR0dbgRAsqRJkgc+ilzJcqTKljBjypxJEMHE
AQMKFBDAEwACnx+DhvSoQCXRjEU7chSKlOhLmlCjSp1KtWpLBBENDKD4lGpXqwghThwL9GdBpxgt
OjV4NKnag22bDg1pMIDEnDwD6O1p9qxfuUiLBn0rt+RfgiYzGhb89aRjsJAjS55MubJlggEQaNac
OcDlzwftdkZg92niw4jZ0l3NdvFU0aMNnE5d2O1i14wZp1W8lK7r07gLZt68eTjQwSQDu517eG3y
s78Now0usLPe69d/ama6mvDy5syVJyCl/b38S7t4eeIc0PM5aKhfEWvNuVMAAQIAUr7fz59/QAA7

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/images/bookmark.gif

R0lGODlhRAAVALMAAN7e3oWFhd/f34SGhISEhLm5uYaGhgAAALi4uNLU0gQCBP///wAAAAAAAAAA
AAAAACH5BAAAAAAALAAAAABEABUAAATOcMlJq7046827/6A0jGQ5KGGqSkHivm8AHGvtEXAuA6jt
Y7hcDCDo/Y4TgzAmKCKfi9YyERDwKIps1mNUdSfS5a5L7nxD5+g0QbCWJz0tfLuI1+tySR7F11PC
QjJOc1p9fkZ9cYaGd3SMLGsGTW+HcHeHiH6XhZd4FkFLBABXlpaZp5uajKudkFNjWLGolXapip2P
alNtpHqcvoiOlamerK0ByAbIBAEEzpNQSAqjBQWjRE0HvdE2WQDV2NdFadwpCtWF6eVHCAXr7+3v
5REAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=255&clientid=59&zoneid=0&source=&block=0&capping=0&cb=6b1ffe5d45bade1f888f28ca1ac04d6d

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=142&clientid=61&zoneid=0&source=&block=0&capping=0&cb=49d732cc669b3a2b30c10f52b90ef723

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com//images/submenu_arrow.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4AJkFkb2JlAGTAAAAAAQMA
FQQDBgoNAAAB0QAAAjsAAAKIAAACzf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8IAEQgACQAFAwERAAIR
AQMRAf/EAKUAAQEAAAAAAAAAAAAAAAAAAAcIAQADAQAAAAAAAAAAAAAAAAAEBQYHEAAABAcAAAAA
AAAAAAAAAAARAhMEFEQFBhZGSBEAAgICAQUAAAAAAAAAAAAAAgQBAwUGABESFrZ3EgAAAwYEBwAA
AAAAAAAAAAABERIA8CExAiKxQmITwkODwwQUhBMBAQABBAIDAAAAAAAAAAAAAREAECExcWGxQZHx
/9oADAMBAAIRAxEAAAGjpvamotD/AP/aAAgBAQABBQItUubE+f8A/9oACAECAAEFAhOnKf/aAAgB
AwABBQJFpGbH/9oACAECAgY/Ak5DcJPIuWHT4W//2gAIAQMCBj8C3oe0g8LzXAdShML9ykg82v7O
63//2gAIAQEBBj8CtxHZf45GVXxY9a7QmCmGVz12tQdduhnGE1A1mmaawUMwKYIslaepKz8lH0gu
f//aAAgBAQMBPyGlM15j7BiAjTTGf//aAAgBAgMBPyH62/Hw8QjyXQn/2gAIAQMDAT8hYb3HM8qh
s1AtWOkb/9oADAMBAAIRAxEAABBT/9oACAEBAwE/EF6GBqg3MriQABf/2gAIAQIDAT8QLodjj2RS
1BZQLrI59fbP/9oACAEDAwE/EIdSsEoRZJa7ecg8O3rn/9k=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/videos/images//thumb/2010/04/10/1270894727_front.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP
FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc
ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA
3AEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC
BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn
KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY
mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5
+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB
AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD
REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip
qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR
AD8Av/s8/wCp17/fh/k1e35rw/8AZ6BEOutjjdCM/g1eyPfWwkMAuYhPjhSeannT3M4O0S5mkFVL
aSclhNjA/wBkj+tWwaaaGncCPSs7+x7MXL3LoXlYHLOc1pUhAIwRkVQMxLqxZtOWHT9v7tgShJXP
OevaooLoR6TGxt41mQkqrMWAOezVtyYWNsLnjoO9c3quo3VpAljplk7yFewzs9fxqZuy0MmrM5zx
Xrccyx21tYbY2JeSdkIG72OOa5G0nkN4ht7q4W4YjYyYRR7cmuwPh3UnRpb6SbywNwEi+YpPoVzW
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

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=297&clientid=51&zoneid=0&source=&block=0&capping=0&cb=9b3d993e0cc69f28edc5e4d3d49dd906

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/photos/home_small/spinning_win_20100410205631.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a
Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAaACR
AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF
BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq
NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E
AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR
BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG
R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz
tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A
9R8O2NlPp6zMiuxODkdK1X0Wzc+ZGpik/vJxXhWlfETX9PeTyIYTC53eW/Y/WtSX4s+KNmFsrFPf
ax/rXLRw8YRV4q5vVm3NuL0PTbnTJ1UiUiVByGpIr2OzjJlmjjAHUmvFdS+I/iy9VladIlPaNAKx
z4o1B7Vop41ldursa1UJJ6EXVj3HVdbsfscnk3MZndcJtbkmvGL6G5W8vJJljJj+aXzeCe9Zumz3
N7rdmjskK7xvkwflUdT+Wa2/Ej2GqXf2AXRW5ixEsuflccHBJ/EUm5KVi1FONzGt/EsOnSZtHEoY
ZaLptPtUHijxU/iS1toXhEYh5z612WsWkUug3NiPsC28MTPEVtWDLgfKA+fvZ69iK80EGAOM1pTn
zxInDkZLpXh2+1lZzYwiUwLuddwBx7A1S+wuUDiN9vrit7w/q11ps1zaQxsy3qhHCj5jjPT8zVaX
VW0vzLBoG8yFinzcdD1qJuV7I7cJTpVNJ6GP9jY9EP5VuaT4K1LVlDRJtB6ZFZJ1aYyFjgHPYV0+
hfEW60hAjwiRR0wcGs6jq2903hGjFtCXvw11Syj3NzxWG/hi9QkELkdjXT6v8TtS1GI+RblFx1PN
cvJ4p1GT7zA57kVEPb2941jUwtv3n4FOTSrmJ9rxH2OOKlTRLtxlYGxVeTVryR9zOxNKusX6rxI+
3p1rb94ckqmH5tE7DpNLmQkNEQajOnygf6o1G2pXTHJZjTReXLfxNTSl1MJypt+6g/sub/nmaKPt
c/8Az1NFVeRz80T62stM8N7R5en2P/flf8KvS2WgpH81nZAe8S/4V5HZ+LrKMbCZQ3psbP8AKkuv
HWm5KGZ89xtOf5VwxUkrHpSwTT1eh6NNB4a3c2ViT7Qr/hUtvY6A5xFYWbH0WBc/yryVvFNjkOWl
x6lDXYaJ468P6dbWqm7uZrlw8htbW3d3fsMnGP4W4zUKhNsmtRhTjeMrlnxg+mQR2tpa2lujzSZd
kjCkKO3TvXFa14r0W50G+sTp6Q6go2xPEmDIRxkkgEHv71t+K9Xh8WXMMtlGbOWBmR4bhgsrDA5I
XOMZ96831SwuV1ASNt+2xu0vyncpQYI4I5xg/ka0hT5ZasuklyJtf8OT6Xd6hMgNxdOLds7rYj5G
z361t6/cW9hY2VvHpcAdmEjzYyWDDIGO3XH4DrRb2up6vZRu96jxbiNrvjafpjjr+h9KzdVh1CCF
2lnkP2bhecqOQOD+NU22/I7XQpct7K6uXITZi1uJns1hmiyhUKdw+Xk4xx1rI1OytNXuI7/LB5EA
ce68c/gBWLJPcF2b7RICSScMQCT1qsdTvIgY0lAA/wBkZq40pLVMwp1qMJ801p2SLN9o7wuNhTae
/eorbSgZN8m1kT5mQHBYDqBVB7m5kbLSMWPcmrsGn6iLYXpt5ZLdSCx2ttx7kdK3hTqS0TOeri4c
zcVob76p4XuPFWn3Vta6hY6WWH2lPMDMnPOw9SBx15rI1mwtm1S4mtZYxbSOzRKGBIXJxkDofatq
W4/tBLqSG0tDasoljgm+UxTcfLGQMtjHfggc4NcZL9od8twenFbVOdq0lY4aM1CV1qaulaDcazqd
vp9lh7idwiL/AFPsOte4+KND8NeCPhVLoc0Uc1zcjEbMMPJPjmT2C/ywO9cx8IdPt/D4XxDqjwxy
XGVi84kGK3HDSD6uVHPbPrXC+P8AxZdeMvFE9/l0s4/3drEf4Ywep9z1P/1qxS8y5zbktDENmgP+
vWopYFjQkSqSPSqjRy/7VL5bDqTTUX3JlO/Qj3e9FO2n0NFWY3Z7LFPEAGKKD61DdmzljbdHHk9y
O9ZM85SLg4xWZb6rLJOoZBw3Fedyt7H2NRQi7PqdPq0VjPYRq0IjnWP0xmptc0ZLHwxaz25SK8dl
dIxkF0wQScduc/8A66Ibd9Qtpbi5wSVwAOwrnn1+WVZYr1WuBABbwMpI2jJwDjr2xVJtu6OCVJRh
GEtO5LoLiG/ivb2FtwyJJEGfLDMMt78cc1uXGpw3PieWXTLHzbSCyltJHHJm8z5Qf++iMY/rXPrq
esaZZSL/AGW6W9yCqSSIcnK9R+GfWur8P6CZPCcd7DfC0adnaaQx7mDodyhffii0ua7Mqipxjdap
aDrnRtd0Xw+Lt3slSNEEgjw8nUDJJB746Hj8K5DUprnUbCSSZnkeIZXcc/LwDj8MflVu61LU9Qsz
bXWoSNGVwyoqqGH4DPWs5bJYopNsswLjDL5hweO4705TjdcrOynQquDU0r+RzhrY0Dw5b67PKkup
Q2exc5k7/qKk1nRnigj1G2iH2R/lYKwJVx146gf59K5afJnIwce1dEfeWh4+L/duzNcWcVhqrwl0
mETld69G969C0PxDaw2upaR/aEdtbXdn5biS3eXBKsDt2Ec/MRzxwK8406NWY+YSAAcZrY8KeJYv
C3iGW6dTJbuoV8DkfT9fzrog3FN2ueffmdm7ItW15DeaYNP07wvcSanbBfMuoZJJCCDySmMAHBrV
8KaRb6j4taS4i+x2sdyUWOWMhVkIJWMkjGQcDB61Lf8AxehJlOnaXjd1dgAxx7j8ax9P+J19C82+
xtmW4njmkGGzlGJBBz1Gf0rL2lSSaasvN3K5Yx2dzpPiTcHT9Ajka5K3F7M8cMCqFC2ynpjqPupk
ccg8V5bazl0OduR0yKs+IdauvEmpyX9/KxckhEzxGuchR7c1QhiwMK3WqSsS5N7slurkkbDj8Kqb
lJyxqdowZHBOduMU82y4yBVrksTqVvMWipvs5/uGineArHVJLDdyhbjcqgk7R3qvBYXN1f50+MkZ
4z0q/Z2Ssrm6YZI4rodPeyt7OOEPtYc5HWvHnU9nqtT32sROfNKLMqHUtUs7mOyvrYLbu6pI6nBC
k4PPQV1njXQtD8KaVFHZaU9zcXkhZWMhKx4Xkgjk87SM+lZ9w9hcW7xPL9/qT1q82tQzxQpdTiUw
xiNCwHQVKxXLF+5qZzpYmck3exD8P5x4v1C/t72YWsNvGGVYsGR92c/MwOBxzgDr1rc8Q3mheGPE
+h6TZWW+4nZVWZ5mYQoxK42njBJPpXk1xHdWmpzXlt51s7k7TCxUhSe2D0pbDR9V1u/a9W5854GD
tNNLkr6ZJrvjUUo2JnhJc95PQ3dZhs9O1XULYyyvKkzlURBtUE5AznpgjsKwbvUzbwb2hcLnHLda
3vEzpd6yL8RrGLqGOTapDcgbTyP9pTVCCztdQMq3eNq42A++cmuVtJ3aPTjOfsE47lO21ZpdoIdM
dAegzUOoaWtwDc2SASAZeFf5r/hVu40aOEsLWSfjkKr9fzrLfUvsLZiuld1P3SrZB+ua6OSdNqVr
XOec6WJpuFR6r70yAeYIdu3nFNXTpJbXz/l4BZg3BPIH49f0Nai293exJcLEiiVd2OnWqyWl2Xey
hVmun+VEU53HcmBz9TXp0oOK55rQ+aqWUnFO9jJaIqMHYD6D/wDVTSocAxADAww/rT9Ssb/T75Ib
6ExSvHvAZgflJxng+xrVggsJdMMJjnF+xykoceWeR8pXGR35yfpVWVWLdPUm/K9TJS2LId2PWiEj
YdrdOMVqNo84iHlY3n1NV00W+iyCic+9YrDVn9kftI9ygM+bL83pVgo+Bh+tTLol88r/ACoM9Oat
xeH7t5lSV1RCeSD0pvD1Ur8o1OL6mX5Uv/PQfnRXQf8ACJRf8/7f980VnyT/AJX9xdvNfeddp3hX
VNStlnjiVI2GQXOM1v8Ahbw21vq8yahAjPGmUB5BrT1a31C7i0s6W5FsNpcRnFaDs0WsTHPItutO
GHhF3W6PRr5lWnC2ln23RyGs6LfatrkqW1kkKxjBIOBWPeeHNSsZo45YcmQ4Uqcgmuutp7i/8N3a
WUhN5vYE5561dt/MtdDsU1Fs3PmDAY5NFTDQqSuyqeY1qEOV200t19TzPWtKudIvFiu4wrvGHU+o
6f0rj5kuWu7s228RxqJJdnQDIGfpkivVvGax3et3CzzwIIYAUWViM84wvv8AnWV8NtMtbnVtfEwE
yNaiEwnqyscn/wBB/WuaNJRquPQ6KmMcsOqj3OMsr7fYRLOXKwv5KnGQoOWH67q0rKQSNJtORxU+
s6Pc+HNDk0+SN0invzKhdcFkCYUE+o56etZuiOGneEBmkflUA64zmsatOzZ1YSuml2NS/v47GFpJ
OcjCgdziuDkBklOzLMx4Gcmu2n0ebxJrn2J5FsJki2eW8RwCGPynHIPPU+lKfBw8P6nGbqcSTRqG
8sc7Wx3P6j8K9J82IkktkeLKtSp80urbZupapBpVoqxgMkaowHqAK4rUrqaO8mmSQwzKzeW6NtIw
6gEc5B+U/lXaJqDGIKQpArzzU7qCa+lnUeYrO2AxIwMk8Y9ya7cQ7QseXT1bbLvkS6no0l7NJJcX
quSZZGLMVGPlye2Kr6ffeUwcoHKHKg//AFq6PSbYQaRChUBiNzfU81zeqW0Wnag8cZOGUSDPbJ5F
TOLhCLjoOErto6mG5EiRTmJVJAYqOgPpXc3c2ma14OkuVtEhubfjco+leb6XOZ9OiZgoIyvCgDj6
Vuf2m8OjtYIMLI+5z/Suvl5oxkc8tG0dX4F0uzNhf6zexCVbdcRqemQMk1zN5dpe3Ut0saxhjnaO
grZ8P30n/CI6nbK4A5OCeuRXP2sWbfPUk1Ki+aTY+iSE80UVN5B/uGiqsOzNK21i8s5EhtzcLZAc
rn5qH1a7bUklC3JhK7ZCTyRW4NPjzzn8qU2CDHP518pHHzR2Tqyk+ZowLa7msdTSSziuEgJJk55a
tSK7jvdRE1556qnKFux+lXvsEfHJNO/s9MZ5o+vzSsglVnKXM9WZGv6Zper2s58yQ3e3MTkdGHT/
AAriNE1SfRdVhv0d4sOIbtQP4c4Ofp1r08WMY/hOKwtS8B3Wt6kDpKL+/UrcKxwuccNn17flRDEu
c/M7cNiea9Krs/wKPxR1KC70nTzHJJJIs3zM64AG0/8A1q5DTPDWo6ndafLYhkjnwrSt/AdxGcfS
tbxh4S1yz0mO41Ry01liFoVIfcCTh8g+nr6V13w/nRdA0y+ji3vHvyrcAkMwP/661qVXFc0l5ClU
9nRUYvVMXV/Dq+GtatAyvehYkcTMMkkcZ5916enGR1qz4n1DTteubeSLT7tXigCPKVCmQ+hAJ6ev
vWvfNJqkonnTBGQFDZC5JOM/jVYWEeM+U1Q8xlGd49Dz5SbbOHWzmW11B5LaRCsbGA5Hy4HU159o
9m+q6zb24RpAz75FXqVHJr3LVNJku9D1GC2/dTNbOFY+4xjj64rm/AXw81LS4/7ZvDE/nRNGsMWW
aPkEknGOg7V0xxs6tNzlutgjotEQ6bbiO5kN9YS+V0RUPP41znj+KwjubKazikiZlZGSU9cYII/M
16o2nw5O5WBH1rl/HWgJe+HJZIFVp7ZhIuTg4zgjn1z/ACrGnmFWpNKb0Y+dbWRzXhiOBtAlzayy
3Ambayn5QMDg1djt5fJImtZWlz1HQCuq8G+Bbuz8KQXTE3DXbGbbH/AMYx79OvTmrR05ScD+daVc
wrUpuKenQmburcqOMgNxbRyhLaYFxjHbFLFJIow1rNx6V1r6cB3H501bGNOSEb2JqP7WrMz07HJ/
abv/AJ9pP++qK6r7NF/zxi/M/wCFFH9qVe47rsb2bAji5Y+vNO/0AnPn/wDj2KKK8w9QNlnni6I6
chqX7PaM2ReNn8KKKCrIX7NZZ5uz9N4/wrNv/DOlX99BdvfXMVxBwkkFxsIHXtRRQpOLuhcqZqOh
CB11OR3QA7pQrFiAec4yTyfrmnXkmgXF1aWkN0i3HkAtHDGQnHHUcA+xOaKK6o1JSpSTM3FcyAaR
YseJWJzyQx4/WnjRrPkeZKfoSSKKK5TTkj2HLplkiEiS5GQeUYgj19KtWaixZjaSXAZ1CliwJYDp
yTyfeiimpNbByx7Gc2mKWLO10xJOS8uTn65zmmDSYSwJlYL12u+QR7g5FFFJuzuL2cexVufDFtdW
6W82oXbQKdwiN3JtPfpnFO/sG225N3N07SNRRQ5N7sPZxfQh/wCEetjyLlzz3JpkmgxZyJ1+hzmi
ikJ0odiL+xIP+e8X/fR/wooopXF7GHY//9k=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/photos/home_small/Horseshoe_20100411172538.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a
Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAYQCR
AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF
BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq
NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E
AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR
BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG
R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz
tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A
1rTxparHtZlZwfvojDH5g1ek8Y6U8QeRmLDouG/wr5/tte1hEyJty9OYwf6U6LXtXuQ4LqdvYJj+
VcUsJBnfHFSR9G6V450yJV/fXH+6+ePy4rbbxvpAjDGRtzdCIzgV8r2utXUTMGiOOvyMRWx/bEpS
JGEmCD0bNQsPKHwSaJk6dXWSPcdR8U6RdSF31C72/wB1QRWWPEHh1WZXvpHJ/hKtn+VeSBpWx5W5
g/8AtYqtc714jjUydzz+lTHDK+sma+25VZI9kHiPwmuQ1y4b0KNxUi694UlO1bxVb0YEf0rwc3F2
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
/wA6KKyr/CjWjuaVFFFQUf/Z

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com//images/desksb2.jpg

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
qTtWNF/NDQ2Vs6STSJ4J5TNLlnhH/9k=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/images/front_page_images/62858_thump.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a
Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAbQCC
AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF
BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq
NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E
AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR
BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG
R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz
tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A
5e5na4u2lluUllZjnawPQcc5r0Dw5qlva6Ta2EUlvcXEkyME8s/xLt6802BdLuo5LyfSLeK6mzvj
aD7p9gelZs2h6J9vjvPkigRh5ojwB+leZGtZ8liuVaHQW3/ILt/9mML+VU5FX7XG32aJ1bP8XtVf
UvF3hvT/APRrNpfs6ZVBHGcKPxrJhj0fWJJrmK+uN75cKrMm36Cs60H1RvOSstTptHn+y3dvPBAj
TbpP3a9e/pXUJrWrSbl/s3/x01w/g+0WHxVYvFLcMm11zIxxkj0NerRfe+9RSg+TRhCS7HmetKlx
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
kD1opmOp/9k=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=256&clientid=63&zoneid=0&source=&block=0&capping=0&cb=03ba9feb4b7275d6ebb0f405496236ec

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adimage.php?filename=shcompetition.gif&contenttype=gif

R0lGODlheABBAPcAAP//////9///7/f///f/9u///+//9v/3/+b//P755vf3//f39//2997//e/3
9//07+/3/8z////v/+b3//vv4+/v/+/v9+/u7+bv9ubu/97v//zm4v7m1sHx/97m/+bm5ubm8v/i
ytbn/97m98Dv5tbn9vne2t7k787n/8Lq87Hv/9Tm4tbe/97e3tbe99be77Lo9c7f787e99Xe4s7e
/8Xf/8Xe9f3R2f7SuZvo///MzNbW387W8eTTyNfU1srW5pzi8/XLxsrW28XV873W7/7FuoTh8c7O
2MzMzPu9vMLL25bW4JrU74zY4Py6x3De8ea9xXvZ4YjT88XFx+a9r3jV8L3FxYTS4PyytW7W5rXB
vbW/1729xr29vbK+yviuoV/O1nfF4rW1vqy1xLS1tfihqvegnFDK803K22LB3K2tt62traOsxUvF
y6KrvVq/yULD2We7xfiSl+OYm6WnrkDAzjm/25mmtKSlpU653FC6y/+MhjrAtSm93JecrjG5xeKI
ihe83JmZmZmZmSW3xRW7zIeUpv9zhAG234qUmAC21ux2hgir8xqpxRen2oyLi4WMnhWozoqLlAGu
zgiq1gCr4Aip3gGuwwCr1vBsexKnuoSIjPhocwOkzuRqc4SDgwOltXiEltJtcwGjxXuEhu9jWnt7
e3t7hHN7e3B7h+Vab9ZfX/xSanRzfHR0c2tyhmpzc/xJWWtxe+pNZuJQWe9MV2FthWprbWFse2Zm
ZtZFWvM+RlxjbNxARlhaZVlaWugxQtkvQ8wzM+kpOlJSUlJSXkpTZd4pOPUjF/EiKfEhId4jKeYh
Ke8dNd4kHuYiIeYiE/oZM0dLUuYdNEhKSkJKWvkZHt4fOM4hN+8YKdIiIvkVKe8ZH+MZIeQWKfwP
MfgOIT5CSkFCQvQPGDVBU+MTGeETCzo6RDg6OjA6SjA6QjMzMywxQysxOiUpNSgpKR0hLCAhIBQZ
IRgZGRAVKRAQEQYQHAUQEAgIEQgICAAIFQAICAAAEQAAAAAACP4BAiH/C05FVFNDQVBFMi4wAwEA
AAAh+QQFHgD/ACwAAAAAeABBAAAI/wAHHDhAoACAgwMAHAAwgACBAAojLjx4QAFCigczMmDwMEAA
AwgSLhxgcOJCAgYIJDzIAIAEhQ8HCjS4MiNDlAkH6CSpE6NHmwBQGgAQgMFAhQEIZFS6lOjIhAaD
FkiodGdGAwWmAnCAoABThCvDNrS58IDRjAkNJGX4EUBUoj83/tR4MECCABMVHhjbkmLPmgA4Dj36
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
mZl5npAZnPIJnCM2n/MZEAA7

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=432&clientid=65&zoneid=0&source=&block=0&capping=0&cb=85cb520a11ab9d6a39f2bd55b5ad69e6

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.deccanherald.com/Openads/adlog.php?bannerid=91&clientid=77&zoneid=0&source=&block=0&capping=0&cb=d68bb7297873806aba3c15e4de8cd2f0

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/css/style.css

TITLE .yuimenubar {
	VISIBILITY: visible; POSITION: static
}
.yuimenu {
	LEFT: -10000px; VISIBILITY: hidden; POSITION: absolute; TOP: -10000px
}
.yuimenubar {
	LEFT: -10000px; VISIBILITY: hidden; POSITION: absolute; TOP: -10000px
}
.yuimenu LI {
	LIST-STYLE-TYPE: none
}
.yuimenubar LI {
	LIST-STYLE-TYPE: none
}
.yuimenubar UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.yuimenu UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.yuimenubar LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.yuimenu LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.yuimenuitemlabel {
	WHITE-SPACE: nowrap; TEXT-ALIGN: left
}
.yuimenubaritemlabel {
	WHITE-SPACE: nowrap; TEXT-ALIGN: left
}
.yuimenu UL {
	ZOOM: normal
}
.yuimenu LI {
	BORDER-RIGHT: #ffffff 0px solid; BORDER-TOP: #ffffff 0px solid; =
BACKGROUND: url(../images/bullet_white.jpg) no-repeat 5px 8px; =
BORDER-LEFT: #ffffff 0px solid; BORDER-BOTTOM: #ffffff 0px solid
}
.yuimenubar UL {
	ZOOM: 1
}
.yuimenubar > .bd > UL:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; LINE-HEIGHT: 0; =
HEIGHT: 0px; content: "."
}
.yuimenubaritem {
	FLOAT: left
}
.yuimenubaritemlabel {
	DISPLAY: block
}
.yuimenuitemlabel {
	DISPLAY: block
}
.yuimenu {
	FONT-SIZE: 93%; WIDTH: 150px; LINE-HEIGHT: 1.45
}
.yuimenubar {
	BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; =
FONT-SIZE: 93%; BORDER-LEFT: #808080 1px solid; LINE-HEIGHT: 1.9; =
BORDER-BOTTOM: #808080 1px solid
}
.yuimenu {
	FONT-SIZE: 100%
}
.yuimenubar {
	FONT-SIZE: 100%
}
.yuimenu .bd {
	BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; =
BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; =
BACKGROUND-COLOR: #547fb2; opacity: 0.9
}
.yuimenubarnav .yuimenubaritem {
	BORDER-RIGHT: #000000 0px solid
}
.yuimenuitem {
	BORDER-BOTTOM: #fff 0px solid
}
.yuimenubaritem {
	BORDER-BOTTOM: #fff 0px solid
}
.yuimenuitemlabel {
	PADDING-RIGHT: 0px; BORDER-TOP: #fff 0px solid; PADDING-LEFT: 15px; =
PADDING-BOTTOM: 0px; CURSOR: pointer; COLOR: #000; PADDING-TOP: 0px; =
BORDER-BOTTOM: #fff 1px solid; TEXT-DECORATION: none
}
.yuimenubaritemlabel {
	BORDER-RIGHT: #de8d00 0px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#de8d00 0px solid; PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
BORDER-LEFT: #de8d00 0px solid; CURSOR: default; COLOR: #000; =
PADDING-TOP: 0px; BORDER-BOTTOM: #de8d00 0px solid; POSITION: relative; =
TEXT-DECORATION: none
}
.yuimenubarnav .yuimenubaritemlabel {
	BORDER-RIGHT: #fff 0px solid; PADDING-RIGHT: 5px; DISPLAY: =
inline-block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 14px; =
BACKGROUND: url(../images/seperator.jpg) no-repeat right center; =
PADDING-BOTTOM: 5px; COLOR: #ffffff; PADDING-TOP: 5px; FONT-FAMILY: =
Arial, Helvetica, sans-serif; HEIGHT: 18px
}
.yuimenubarnav .yuimenubaritemlabel A:link {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; HEIGHT: 18px; TEXT-DECORATION: none
}
.yuimenubarnav .yuimenubaritemlabel A:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; HEIGHT: 18px; TEXT-DECORATION: none
}
.yuimenubarnav .yuimenubaritemlabel A:active {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; HEIGHT: 18px; TEXT-DECORATION: none
}
.yuimenubarnav .yuimenubaritemlabel A:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: red; FONT-FAMILY: Arial, =
Helvetica, sans-serif; HEIGHT: 18px; TEXT-DECORATION: underline
}
.yuimenubarnav .yuimenubaritemlabel-hassubmenu {
	BACKGROUND: url(menubaritem_submenuindicator.png) no-repeat right =
center
}
.yuimenubaritem-selected {
=09
}
.yuimenubaritemlabel-selected {
	BORDER-LEFT-COLOR: #6c8ebe; BORDER-BOTTOM-COLOR: #6c8ebe; =
BORDER-TOP-COLOR: #6c8ebe; BORDER-RIGHT-COLOR: #6c8ebe; opacity: 1
}
.yuimenubarnav .yuimenubaritemlabel-selected {
	BORDER-LEFT-WIDTH: 0px; LEFT: 0px; MARGIN-LEFT: 0px
}
.yuimenuitem-selected {
	BACKGROUND-COLOR: #5c7a9e
}
.yuimenuitem-hassubmenu {
	BACKGROUND-POSITION: right center; BACKGROUND-IMAGE: =
url(../images/v_arrow.gif); BACKGROUND-REPEAT: no-repeat
}
A.yuimenuitemlabel:link {
	COLOR: #ffffff
}
A.yuimenuitemlabel:visited {
	COLOR: #ffffff
}
A.yuimenuitemlabel:active {
	COLOR: #ffffff
}
A.yuimenuitemlabel:hover {
	BACKGROUND: url(../images/bullet_white.jpg) #6c8ebe no-repeat 5px 8px; =
COLOR: #000000
}
A.yuimenubaritemlabel:link {
	FONT-SIZE: 14px; BACKGROUND: url(../images/seperator.jpg) no-repeat =
right center; COLOR: #ffffff
}
A.yuimenubaritemlabel:visited {
	FONT-SIZE: 14px; BACKGROUND: url(../images/seperator.jpg) no-repeat =
right center; COLOR: #ffffff
}
A.yuimenubaritemlabel:active {
	FONT-SIZE: 14px; BACKGROUND: url(../images/seperator.jpg) no-repeat =
right center; COLOR: #ffffff
}
A.yuimenubaritemlabel:hover {
	FONT-SIZE: 14px; BACKGROUND: url(../images/seperator.jpg) #07192d =
no-repeat right center; COLOR: #ffffff
}
BODY {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 1px; COLOR: #000000; =
FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #ffffff
}
A:link {
	FONT-SIZE: 12px; COLOR: #003389; TEXT-DECORATION: none
}
A:visited {
	FONT-SIZE: 12px; COLOR: #003389; TEXT-DECORATION: none
}
A:active {
	FONT-SIZE: 12px; COLOR: #003389; TEXT-DECORATION: none
}
A:hover {
	COLOR: red; TEXT-DECORATION: underline
}
IMG {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: =
0px
}
DIV {
	BORDER-RIGHT: #cccccc 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#cccccc 0px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: =
#cccccc 0px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #cccccc 0px solid
}
TD {
	FONT-WEIGHT: normal; FONT-SIZE: 13px; COLOR: #000000; FONT-FAMILY: =
Arial, sans-serif
}
FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
LI {
	FONT-SIZE: 12px; COLOR: #000; LINE-HEIGHT: 20px; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN: 0px; COLOR: #0a58ba; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.gotop {
	PADDING-RIGHT: 10px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; TEXT-ALIGN: =
right
}
A.gototop {
	FONT-SIZE: 13px; COLOR: #003389; TEXT-DECORATION: none
}
A.gototop:hover {
	FONT-SIZE: 13px; COLOR: #003389; TEXT-DECORATION: underline
}
.TextBox {
	BORDER-RIGHT: #2d6ab3 1px solid; BORDER-TOP: #2d6ab3 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 0px; BORDER-LEFT: #2d6ab3 =
1px solid; COLOR: #000; BORDER-BOTTOM: #2d6ab3 1px solid; FONT-FAMILY: =
Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #fff
}
.Button {
	BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#000000 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; MARGIN: 0px; BORDER-LEFT: #000000 1px solid; CURSOR: pointer; =
COLOR: #000000; BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: Arial, =
Helvetica, sans-serif; BACKGROUND-COLOR: #c7dffa
}
.Hide {
	DISPLAY: none
}
.Show {
	DISPLAY: block
}
.OrangeTextBox {
	BORDER-RIGHT: #2d6ab3 1px solid; BORDER-TOP: #2d6ab3 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 0px; VERTICAL-ALIGN: middle; =
BORDER-LEFT: #2d6ab3 1px solid; COLOR: #000; BORDER-BOTTOM: #2d6ab3 1px =
solid; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 20px; =
BACKGROUND-COLOR: #fff
}
.WeatherTextBox {
	BORDER-RIGHT: #dddddd 1px solid; BORDER-TOP: #dddddd 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 10px; MARGIN: 0px; BORDER-LEFT: #dddddd =
1px solid; COLOR: #000; BORDER-BOTTOM: #dddddd 1px solid; FONT-FAMILY: =
Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #fff; TEXT-ALIGN: center
}
.WeatherTextBoxRO {
	BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 10px; MARGIN: 0px; BORDER-LEFT: #ffffff =
1px solid; COLOR: #000; BORDER-BOTTOM: #ffffff 1px solid; FONT-FAMILY: =
Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #fff; TEXT-ALIGN: center
}
.Container {
	WIDTH: 900px; BACKGROUND-COLOR: #ffffff
}
.LeftContainer {
	WIDTH: 166px; BACKGROUND-COLOR: #ffffff
}
.LeftContainer1 {
	BACKGROUND-COLOR: #ead5b6
}
.RightContainer {
	BORDER-LEFT: #5a79a5 1px solid; WIDTH: 150px; BACKGROUND-COLOR: #ffffff
}
.VerticalSeparator {
	PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; WIDTH: 5px; =
PADDING-TOP: 1px
}
.FullContainer {
	CLEAR: both; BORDER-RIGHT: #000000 0px solid; BORDER-TOP: #000000 0px =
solid; PADDING-LEFT: 10px; BORDER-LEFT: #000000 0px solid; WIDTH: 985px; =
BORDER-BOTTOM: #000000 0px solid
}
.FullSpacer {
	CLEAR: both; FONT-SIZE: 1px; WIDTH: 985px; HEIGHT: 2px; =
BACKGROUND-COLOR: #ffffff
}
.Spacer {
	CLEAR: both; FONT-SIZE: 1px; HEIGHT: 2px
}
.DivLeft {
	FLOAT: left
}
.DivRight {
	FLOAT: right
}
.Footer {
	LINE-HEIGHT: 24px; HEIGHT: 24px; BACKGROUND-COLOR: #ffffff
}
.Copyright {
	CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; COLOR: #969696; PADDING-TOP: 5px; TEXT-ALIGN: center
}
.ToolTipBox {
	BORDER-RIGHT: #d0babc 2px solid; BORDER-TOP: #d0babc 2px solid; =
DISPLAY: none; FONT-SIZE: 11px; BORDER-LEFT: #d0babc 2px solid; WIDTH: =
200px; COLOR: #000000; BORDER-BOTTOM: #d0babc 2px solid; FONT-FAMILY: =
Arial, Helvetica, sans-serif; POSITION: absolute; BACKGROUND-COLOR: =
#fefefe
}
A.BoldUnderlined:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: Arial; =
TEXT-DECORATION: underline
}
A.BoldUnderlined:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: Arial; =
TEXT-DECORATION: underline
}
A.BoldUnderlined:active {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: Arial; =
TEXT-DECORATION: underline
}
A.BoldUnderlined:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; FONT-FAMILY: Arial; =
TEXT-DECORATION: underline
}
.LoginBox {
	BORDER-RIGHT: #2d6ab3 1px solid; PADDING-RIGHT: 15px; BORDER-TOP: =
#2d6ab3 1px solid; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; =
BORDER-LEFT: #2d6ab3 1px solid; WIDTH: 340px; PADDING-TOP: 15px; =
BORDER-BOTTOM: #2d6ab3 1px solid
}
.MenuTable {
	PADDING-RIGHT: 0px; MARGIN-TOP: 10px; PADDING-LEFT: 0px; FONT-WEIGHT: =
normal; FONT-SIZE: 10pt; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
FONT-FAMILY: verdana
}
A.MenuHeading:link {
	COLOR: #000000; TEXT-DECORATION: none
}
A.MenuHeading:visited {
	COLOR: #000000; TEXT-DECORATION: none
}
A.MenuHeading:active {
	COLOR: #000000; TEXT-DECORATION: none
}
A.MenuHeading:hover {
	COLOR: #000000; TEXT-DECORATION: none
}
A.Logout:link {
	FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: underline
}
A.Logout:visited {
	FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: underline
}
A.Logout:active {
	FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: underline
}
A.Logout:hover {
	FONT-WEIGHT: normal; COLOR: #000000; TEXT-DECORATION: underline
}
TD.MenuBar {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; COLOR: #ffffff; PADDING-TOP: 0px; HEIGHT: 26px; =
BACKGROUND-COLOR: #6793c1; TEXT-ALIGN: left
}
TD.adminMenuBar {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 5px; COLOR: #ffffff; PADDING-TOP: 5px; HEIGHT: 25px; =
BACKGROUND-COLOR: #ffcc66
}
.MenuTable {
	MARGIN-TOP: 10px
}
.MenuHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-LEFT: 10px; TEXT-DECORATION: =
none
}
.AdminMenuHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-LEFT: 10px; COLOR: #ff9900; =
TEXT-DECORATION: none
}
.MenuTD {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt
}
.BrownLine {
	BACKGROUND-COLOR: #df8b04
}
.BlueLine {
	BACKGROUND-COLOR: #6793c1
}
.PageTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.headingTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.FormLabel {
	FONT-SIZE: 12px
}
.RedArrow {
	MARGIN-LEFT: 5px
}
.FormAlign {
	PADDING-TOP: 20px
}
.MessageBlock {
	FONT-WEIGHT: bold; VERTICAL-ALIGN: bottom; WIDTH: 50%; COLOR: #000000; =
HEIGHT: 17px; BACKGROUND-COLOR: #ffff80
}
.OrangeButton {
	BORDER-RIGHT: green 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: green =
1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: 10px; =
MARGIN: 0px; BORDER-LEFT: green 1px solid; CURSOR: pointer; COLOR: =
#ffffff; BORDER-BOTTOM: green 1px solid; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND-COLOR: #e99719
}
TABLE {
	BORDER-COLLAPSE: collapse
}
.ShowRowFireFox {
=09
}
DIV.ErrorBlock {
	FONT-WEIGHT: normal; FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: verdana
}
#ErrorMessage {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px; HEIGHT: 20px; TEXT-ALIGN: center
}
.ErrorMessage {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #ff3300; BACKGROUND-COLOR: =
#ffffff
}
.Message {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: normal; =
FONT-SIZE: 11px; PADDING-BOTTOM: 3px; COLOR: #ff3300; PADDING-TOP: 3px; =
BACKGROUND-COLOR: #ffffff
}
.homeheadlineslargefont {
	FONT-SIZE: 14px; COLOR: #b02926; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.PageTitleBar123 {
	PADDING-RIGHT: 2px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
16px; BORDER-LEFT-COLOR: #cccccc; BACKGROUND-IMAGE: =
url(../images/greenish1.JPG); PADDING-BOTTOM: 2px; COLOR: #000000; =
BORDER-TOP-COLOR: #cccccc; PADDING-TOP: 2px; BORDER-BOTTOM: #cccccc 0px =
solid; FONT-FAMILY: arial; BORDER-COLLAPSE: collapse; =
BORDER-RIGHT-COLOR: #cccccc
}
.PageTitleBar {
	PADDING-RIGHT: 2px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
16px; BORDER-LEFT-COLOR: #cccccc; PADDING-BOTTOM: 2px; COLOR: #000000; =
BORDER-TOP-COLOR: #cccccc; PADDING-TOP: 2px; BORDER-BOTTOM: #cccccc 0px =
solid; FONT-FAMILY: arial; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: =
#fff; BORDER-RIGHT-COLOR: #cccccc
}
.PageContent {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 5px
}
.PageDescription {
	BORDER-RIGHT: #2d6ab3 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#2d6ab3 1px solid; PADDING-LEFT: 5px; FONT-SIZE: 12px; PADDING-BOTTOM: =
5px; BORDER-LEFT: #2d6ab3 1px solid; COLOR: #000000; PADDING-TOP: 5px; =
BORDER-BOTTOM: #2d6ab3 1px solid; FONT-FAMILY: Arial,sans-serif
}
.ListHeader {
	PADDING-RIGHT: 2px; BORDER-TOP: #2f6bb3 1px solid; PADDING-LEFT: 2px; =
FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; COLOR: #ffffff; PADDING-TOP: =
2px; BACKGROUND-COLOR: #9ab6e6
}
.MenuHeader {
	PADDING-RIGHT: 5px; BORDER-TOP: #ffffff 1px solid; PADDING-LEFT: 5px; =
FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; COLOR: #ffffff; PADDING-TOP: =
5px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: #6793c1
}
.ListHeaderSeparator {
	PADDING-RIGHT: 5px; BORDER-TOP: #ead5b6 1px solid; PADDING-LEFT: 5px; =
PADDING-BOTTOM: 5px; COLOR: #886746; PADDING-TOP: 5px; BACKGROUND-COLOR: =
#fff5e1
}
.MenuHeaderSeparator {
	PADDING-RIGHT: 5px; BORDER-TOP: #ffffff 1px solid; PADDING-LEFT: 5px; =
PADDING-BOTTOM: 5px; COLOR: #ffffff; PADDING-TOP: 5px; BORDER-BOTTOM: =
#ffffff 1px solid; BACKGROUND-COLOR: #6793c1
}
.ListAltRow {
	BACKGROUND-COLOR: #f5f5f5
}
.ResultCounts {
	BORDER-RIGHT: #ead5b6 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#ead5b6 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#ead5b6 1px solid; COLOR: #886746; PADDING-TOP: 3px; BORDER-BOTTOM: =
#ead5b6 1px solid; BACKGROUND-COLOR: #fff5e1
}
.Mandatory {
	FONT-SIZE: 11px; COLOR: #ff0033
}
.SubHeader {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px
}
.BreadCrumb {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.BreadCrumb A:link {
	FONT-WEIGHT: normal; COLOR: #0066cc; TEXT-DECORATION: underline
}
.BreadCrumb A:visited {
	FONT-WEIGHT: normal; COLOR: #0066cc; TEXT-DECORATION: underline
}
.BreadCrumb A:active {
	FONT-WEIGHT: normal; COLOR: #0066cc; TEXT-DECORATION: underline
}
.BreadCrumb A:hover {
	FONT-WEIGHT: normal; COLOR: red; TEXT-DECORATION: underline
}
.OrangeBar {
	FONT-WEIGHT: bold; COLOR: #ffffff; FONT-FAMILY: Arial; HEIGHT: 30px; =
BACKGROUND-COLOR: #de8d00
}
.OrangeBar:hover {
	COLOR: blue; TEXT-DECORATION: none
}
.LeftMenu {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 5px; BORDER-TOP: #2f6bb3 1px solid; =
PADDING-LEFT: 5px; FONT-SIZE: 12px; PADDING-BOTTOM: 5px; BORDER-LEFT: =
0px; COLOR: #182b03; PADDING-TOP: 5px; BORDER-BOTTOM: #2f6bb3 1px solid; =
FONT-FAMILY: Arial; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: =
#b9dce7; TEXT-ALIGN: left
}
.IndexHeader {
	PADDING-BOTTOM: 5px; BORDER-BOTTOM: #cccccc 1px solid
}
.SmallImageHolder {
	BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; =
BORDER-LEFT: #c0c0c0 1px solid; WIDTH: 150px; BORDER-BOTTOM: #c0c0c0 1px =
solid; HEIGHT: 120px
}
.BigImageHolder {
	BORDER-RIGHT: #ead5b6 1px solid; BORDER-TOP: #ead5b6 1px solid; =
BORDER-LEFT: #ead5b6 1px solid; WIDTH: 300px; BORDER-BOTTOM: #ead5b6 1px =
solid; HEIGHT: 300px
}
.TodayHistoryImageHolder {
	BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; =
BORDER-LEFT: #c0c0c0 1px solid; WIDTH: 400px; BORDER-BOTTOM: #c0c0c0 1px =
solid; HEIGHT: 250px
}
.higLeftMenu {
	BORDER-RIGHT: 0px; BORDER-TOP: #c0c0c0 0px solid; FONT-SIZE: 12px; =
PADDING-BOTTOM: 3px; BORDER-LEFT: 0px; COLOR: #ff9900; PADDING-TOP: 3px; =
BORDER-BOTTOM: #c0c0c0 0px solid; FONT-FAMILY: Arial; BORDER-COLLAPSE: =
collapse; HEIGHT: 20px; BACKGROUND-COLOR: #fff5e1
}
.normalLeftMenu {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 2px; BORDER-TOP: #c0c0c0 1px solid; =
PADDING-LEFT: 2px; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; BORDER-LEFT: =
0px; COLOR: #182b03; PADDING-TOP: 2px; BORDER-BOTTOM: #c0c0c0 1px solid; =
FONT-FAMILY: Arial; BORDER-COLLAPSE: collapse
}
.GreenBar {
	FONT-WEIGHT: bold; COLOR: #ffffff; HEIGHT: 26px; BACKGROUND-COLOR: =
#348035
}
.FooterBar {
	FONT-SIZE: 12px; WIDTH: 950px; COLOR: #ffffff; FONT-FAMILY: Arial; =
BORDER-COLLAPSE: collapse; HEIGHT: 76px; BACKGROUND-COLOR: #e99719; =
TEXT-ALIGN: center
}
A.HeaderBar:link {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff; TEXT-DECORATION: =
none
}
A.HeaderBar:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff; TEXT-DECORATION: =
none
}
A.HeaderBar:active {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff; TEXT-DECORATION: =
none
}
A.HeaderBar:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff; TEXT-DECORATION: =
underline
}
.HeaderBarText {
	FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none
}
.HeaderLink:hover {
	COLOR: white; TEXT-DECORATION: none
}
.HeaderLink:active {
	COLOR: white; TEXT-DECORATION: none
}
.HeaderLink:link {
	COLOR: white; TEXT-DECORATION: none
}
.HeaderLink:visited {
	COLOR: white; TEXT-DECORATION: none
}
.GreenBlock {
	BORDER-RIGHT: #c0c0c0 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#c0c0c0 1px solid; PADDING-LEFT: 10px; FONT-SIZE: 12px; PADDING-BOTTOM: =
10px; BORDER-LEFT: #c0c0c0 1px solid; WIDTH: 70%; COLOR: #182b03; =
PADDING-TOP: 10px; BORDER-BOTTOM: #c0c0c0 1px solid; FONT-FAMILY: Arial; =
BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: #effbef
}
.TableBox {
	BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; =
BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid
}
.LeftLink:hover {
	COLOR: black; TEXT-DECORATION: none
}
.LeftLink:active {
	COLOR: black; TEXT-DECORATION: none
}
.LeftLink:link {
	COLOR: black; TEXT-DECORATION: none
}
.LeftLink:visited {
	COLOR: black; TEXT-DECORATION: none
}
.HistoryLink:hover {
	FONT-WEIGHT: bold; COLOR: #c96600; TEXT-DECORATION: none
}
.HistoryLink:active {
	FONT-WEIGHT: bold; COLOR: #c96600; TEXT-DECORATION: none
}
.HistoryLink:link {
	FONT-WEIGHT: bold; COLOR: #c96600; TEXT-DECORATION: none
}
.HistoryLink:visited {
	FONT-WEIGHT: bold; COLOR: #c96600; TEXT-DECORATION: none
}
.GreenMenuBar {
	BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; =
PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: =
#ffffff 1px solid; COLOR: #ffffff; BORDER-BOTTOM: #ffffff 1px solid; =
HEIGHT: 25px; BACKGROUND-COLOR: #348035
}
.AdminGreenMenuBar {
	BORDER-RIGHT: #ffffff 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#ffffff 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 5px; BORDER-LEFT: #ffffff 1px solid; COLOR: =
#ffffff; PADDING-TOP: 5px; BORDER-BOTTOM: #ffffff 1px solid; HEIGHT: =
25px; BACKGROUND-COLOR: #348035
}
.SearchBox {
	BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; MARGIN: =
0px; BORDER-LEFT: #ffffff 1px solid; COLOR: #000; BORDER-BOTTOM: #ffffff =
1px solid; HEIGHT: 18px; BACKGROUND-COLOR: #fff
}
.SearchBoxHeader {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BACKGROUND: url(http://www.ripple.org/images/google-logo-small.gif) =
no-repeat center 50%; MARGIN: 0px; BORDER-LEFT: #000000 1px solid; =
COLOR: #000; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 20px
}
.SearchButton {
	BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 0px; BORDER-LEFT: #c0c0c0 =
1px solid; WIDTH: 2em; CURSOR: pointer; COLOR: #937c48; BORDER-BOTTOM: =
#c0c0c0 1px solid; FONT-FAMILY: Arial, Helvetica, sans-serif; =
BACKGROUND-COLOR: #ffffff
}
.AlignSearchLink {
	PADDING-LEFT: 20px
}
.BrownBar {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 10px; COLOR: #94742b; PADDING-TOP: 10px; =
FONT-FAMILY: Arial; BACKGROUND-COLOR: #f8f1e9
}
.BrownBar_one {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 4px; COLOR: #94742b; PADDING-TOP: 4px; =
FONT-FAMILY: Arial; BACKGROUND-COLOR: #ffffff
}
.BrownLink:hover {
	COLOR: #886746; TEXT-DECORATION: none
}
.BrownLink:active {
	COLOR: #886746; TEXT-DECORATION: none
}
.BrownLink:visited {
	COLOR: #886746; TEXT-DECORATION: none
}
.BrownLink:link {
	COLOR: #886746; TEXT-DECORATION: none
}
.BoxLink:hover {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #886746; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.BoxLink:active {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #886746; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.BoxLink:visited {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #886746; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.BoxLink:link {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #886746; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.Entity_Link:active {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #ffffff; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.Entity_Link:visited {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #ffffff; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.Entity_Link:link {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #ffffff; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.Entity_Link:hover {
	PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: red; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: underline
}
.BrownLine {
	COLOR: #886746; BACKGROUND-COLOR: #f8f1e9
}
.SubHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; PADDING-BOTTOM: 3px
}
.Heading {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 0px; COLOR: #8e6e45; PADDING-TOP: 0px
}
.SaffronBox {
	BORDER-RIGHT: #efeedc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#efeedc 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
BORDER-LEFT: #efeedc 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: =
#efeedc 1px solid
}
.SaffronBar {
	HEIGHT: 25px; BACKGROUND-COLOR: #fff5e1
}
.SubHeadingContent {
	FONT-WEIGHT: normal; FONT-SIZE: 13px; COLOR: #000000; FONT-FAMILY: =
Arial,sans-serif
}
.RecreationAreaTitle {
	FONT-WEIGHT: normal; FONT-SIZE: 18px; COLOR: #000000; FONT-FAMILY: =
Arial,sans-serif
}
.subtitle {
	FONT-WEIGHT: normal; FONT-SIZE: 14px; COLOR: #000000; FONT-FAMILY: =
Arial,sans-serif
}
.RecreationAreaLink:hover {
	FONT-SIZE: 12px; COLOR: blue; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
.RecreationAreaLink:active {
	FONT-SIZE: 12px; COLOR: blue; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
.RecreationAreaLink:link {
	FONT-SIZE: 12px; COLOR: blue; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
.RecreationAreaLink:visited {
	FONT-SIZE: 12px; COLOR: blue; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
.BrownBoxPaginationLink:hover {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; BORDER-LEFT: 1px solid; COLOR: #cb6300; BORDER-BOTTOM: =
1px solid; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
.BrownBoxPaginationLink:active {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; BORDER-LEFT: 1px solid; COLOR: #cb6300; BORDER-BOTTOM: =
1px solid; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
.BrownBoxPaginationLink:link {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; BORDER-LEFT: 1px solid; COLOR: #cb6300; BORDER-BOTTOM: =
1px solid; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
.BrownBoxPaginationLink:visited {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; BORDER-LEFT: 1px solid; COLOR: #cb6300; BORDER-BOTTOM: =
1px solid; FONT-FAMILY: Arial; TEXT-DECORATION: none
}
.BrownPaginationLinkNormal:hover {
	FONT-SIZE: 11px; COLOR: #cb6300; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.BrownPaginationLinkNormal:active {
	FONT-SIZE: 11px; COLOR: #cb6300; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.BrownPaginationLinkNormal:link {
	FONT-SIZE: 11px; COLOR: #cb6300; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.BrownPaginationLinkNormal:visited {
	FONT-SIZE: 11px; COLOR: #cb6300; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.ImageBox {
	BORDER-RIGHT: #ead5b6 0px solid; PADDING-RIGHT: 2px; BORDER-TOP: =
#ead5b6 0px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: =
#ead5b6 0px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #ead5b6 0px solid
}
.ImageBoxSmall {
	BORDER-RIGHT: #ead5b6 0px solid; BORDER-TOP: #ead5b6 0px solid; =
BORDER-LEFT: #ead5b6 0px solid; WIDTH: 202px; BORDER-BOTTOM: #ead5b6 0px =
solid; HEIGHT: 152px
}
.BlankImageBoxSmall {
	BORDER-RIGHT: #ead5b6 1px solid; BORDER-TOP: #ead5b6 1px solid; =
BORDER-LEFT: #ead5b6 1px solid; WIDTH: 202px; BORDER-BOTTOM: #ead5b6 1px =
solid; HEIGHT: 152px
}
.but {
	BORDER-RIGHT: 0px; BACKGROUND-POSITION: left top; BORDER-TOP: 0px; =
FONT-WEIGHT: bold; FONT-SIZE: 11px; BACKGROUND-IMAGE: =
url(../images/btn_plain_yellow.jpg); BORDER-LEFT: 0px; WIDTH: 93px; =
CURSOR: pointer; BORDER-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat; =
FONT-FAMILY: "Trebuchet MS", Arial; HEIGHT: 18px; TEXT-ALIGN: center
}
.WhiteButton {
	BORDER-RIGHT: #8479d9 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#8479d9 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; MARGIN: 0px; BORDER-LEFT: #8479d9 1px solid; CURSOR: pointer; =
COLOR: #000000; BORDER-BOTTOM: #8479d9 1px solid; FONT-FAMILY: Arial, =
Helvetica, sans-serif; BACKGROUND-COLOR: #ffffff
}
.LeftMenu_Head {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: =
14px; BORDER-LEFT-COLOR: #cccccc; PADDING-BOTTOM: 4px; WIDTH: 70%; =
COLOR: #ffffff; BORDER-TOP-COLOR: #cccccc; PADDING-TOP: 4px; =
BORDER-BOTTOM: #cccccc 0px solid; FONT-FAMILY: verdana; BORDER-COLLAPSE: =
collapse; BACKGROUND-COLOR: #df8b04; BORDER-RIGHT-COLOR: #cccccc
}
.RecreationAreaSearchHeading {
	BORDER-RIGHT: #ead5b6 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#ead5b6 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: normal; FONT-SIZE: =
12px; PADDING-BOTTOM: 3px; BORDER-LEFT: #ead5b6 1px solid; COLOR: =
#000000; PADDING-TOP: 3px; BORDER-BOTTOM: #ead5b6 1px solid; =
FONT-FAMILY: Arial; BACKGROUND-COLOR: #ffffff
}
.SearchLabel {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: =
Arial
}
.BlockHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #009299; FONT-FAMILY: Arial
}
.OrangeLink:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #cb6300; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
.OrangeLink:active {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #cb6300; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
.OrangeLink:link {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #cb6300; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
.OrangeLink:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #cb6300; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
.BoldOrange {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ff9900; FONT-FAMILY: Arial
}
.OrganizationText {
	FONT-SIZE: 12px; FONT-FAMILY: verdana
}
.BlackTextBox {
	BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#000000 1px solid; PADDING-LEFT: 10px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 10px; MARGIN: 0px; BORDER-LEFT: #000000 1px solid; =
COLOR: #000; PADDING-TOP: 10px; BORDER-BOTTOM: #000000 1px solid; =
FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 20px; =
BACKGROUND-COLOR: #fff
}
.TextAreaBox {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; MARGIN: =
0px; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; =
FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #fff
}
.TopBox {
	BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#000000 1px solid; PADDING-LEFT: 5px; FONT-SIZE: 12px; PADDING-BOTTOM: =
10px; MARGIN: 0px; BORDER-LEFT: #000000 1px solid; PADDING-TOP: 10px; =
BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: verdana; =
BACKGROUND-COLOR: #eecc88
}
.TopLink:hover {
	FONT-WEIGHT: bold; COLOR: #000000; TEXT-DECORATION: none
}
.TopLink:active {
	FONT-WEIGHT: bold; COLOR: #000000; TEXT-DECORATION: none
}
.TopLink:visited {
	FONT-WEIGHT: bold; COLOR: #000000; TEXT-DECORATION: none
}
.TopLink:link {
	FONT-WEIGHT: bold; COLOR: #000000; TEXT-DECORATION: none
}
.TableBorder {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
.Para {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-LEFT: 20px; FONT-FAMILY: =
Arial
}
.ActivitySearchRadio {
	FONT-WEIGHT: normal; FONT-SIZE: 14px; COLOR: #000000; FONT-FAMILY: =
Arial
}
.FeatureStoryHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #4b7414; FONT-FAMILY: Arial
}
.HomePagePara {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.HomePagePara A:active {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.HomePagePara A:hover {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.HomePagePara A:visited {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.HomePagePara A:link {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.BlogPara FONT {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.BlogHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #b14008; FONT-FAMILY: Arial
}
.TravelTipHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #4b7414; FONT-FAMILY: Arial
}
.IndexBox {
	BORDER-RIGHT: #c8d4c0 1px solid; BORDER-TOP: #c8d4c0 1px solid; =
BORDER-LEFT: #c8d4c0 1px solid; BORDER-BOTTOM: #c8d4c0 1px solid
}
.BlueHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #029197; FONT-FAMILY: Arial
}
.FeatureStateLink:active {
	FONT-SIZE: 13px; COLOR: #1466e4; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.FeatureStateLink:hover {
	FONT-SIZE: 13px; COLOR: #1466e4; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.FeatureStateLink:visited {
	FONT-SIZE: 13px; COLOR: #1466e4; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.FeatureStateLink:link {
	FONT-SIZE: 13px; COLOR: #1466e4; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.ActivitySearchRadio {
	FONT-WEIGHT: normal; FONT-SIZE: 14px; COLOR: #000000; FONT-FAMILY: =
Arial
}
TABLE.MenuDesc {
	BORDER-RIGHT: #a6a6a6 1px solid; BORDER-TOP: #a6a6a6 1px solid; =
BORDER-LEFT: #a6a6a6 1px solid; BORDER-BOTTOM: #a6a6a6 1px solid; =
BACKGROUND-COLOR: #ffffff
}
.text {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.ForumBar {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 5px; COLOR: #ffffff; PADDING-TOP: 5px; HEIGHT: 25px; =
BACKGROUND-COLOR: #df8b04
}
.TrHeader {
	FONT-WEIGHT: bold; COLOR: #ffffff; HEIGHT: 25px; BACKGROUND-COLOR: =
#df8b04; TEXT-ALIGN: center
}
.ErrorMsg {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #ff3300
}
.BreadCrumbClient {
	PADDING-BOTTOM: 5px
}
.EntityLinks {
	PADDING-LEFT: 5px; TEXT-ALIGN: center
}
.GreenTableBox {
	BORDER-RIGHT: #cad3c0 1px solid; BORDER-TOP: #cad3c0 1px solid; =
BORDER-LEFT: #cad3c0 1px solid; BORDER-BOTTOM: #cad3c0 1px solid
}
.BrownButton:hover {
	COLOR: #000000; TEXT-DECORATION: none
}
.BrownButton:active {
	COLOR: #000000; TEXT-DECORATION: none
}
.BrownButton:visited {
	COLOR: #000000; TEXT-DECORATION: none
}
.BrownButton:link {
	COLOR: #000000; TEXT-DECORATION: none
}
.BrownButton {
	BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#000000 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; PADDING-BOTTOM: =
3px; MARGIN: 0px; BORDER-LEFT: #000000 1px solid; COLOR: #000; =
PADDING-TOP: 3px; BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: Arial, =
Helvetica, sans-serif; HEIGHT: 10px; BACKGROUND-COLOR: #eacd91
}
.IndexPara FONT {
	BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FONT-SIZE: =
13px; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid; =
FONT-FAMILY: Arial
}
.TellAFriendBox {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.BlackButton {
	BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#000000 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; MARGIN: 0px; BORDER-LEFT: #000000 1px solid; CURSOR: pointer; =
COLOR: #000000; BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: Arial, =
Helvetica, sans-serif; BACKGROUND-COLOR: #eacd91
}
.DateColor {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: red; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.TextFont {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
FONT-SIZE: 12px; MARGIN: 0px; BORDER-LEFT: #000000 1px solid; =
BORDER-BOTTOM: #000000 1px solid; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.TripText {
	PADDING-LEFT: 15px; FONT-SIZE: 12px; FONT-FAMILY: Arial
}
.ActivityListHeader {
	PADDING-RIGHT: 5px; BORDER-TOP: #ead5b6 1px solid; PADDING-LEFT: 5px; =
FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; COLOR: #000000; PADDING-TOP: =
5px; BACKGROUND-COLOR: #fff5e1
}
.RecreationSize {
	PADDING-RIGHT: 26px
}
.TravelTipsSection {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.TravelTipsSection A:active {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.TravelTipsSection A:hover {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.TravelTipsSection A:visited {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.TravelTipsSection A:link {
	FONT-SIZE: 13px; FONT-FAMILY: Arial
}
.StockBox {
	FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.StockText {
	FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.StockMarket {
	PADDING-LEFT: 5px
}
.Stock {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px
}
.DailyHoroscopeTitle {
	FONT-WEIGHT: bold; COLOR: #800000
}
#sidebar {
	FLOAT: right
}
.content {
	BORDER-RIGHT: black 0px solid; BORDER-TOP: black 0px solid; =
PADDING-LEFT: 10px; BORDER-LEFT: black 0px solid; WIDTH: 820px; =
BORDER-BOTTOM: black 0px solid
}
.rightmenu {
	PADDING-RIGHT: 30px; FLOAT: right; PADDING-TOP: 0px
}
.rightmenu H2 {
	FONT-SIZE: 1.2em; FONT-FAMILY: 'Lucida Grande',  Sans-Serif
}
.rightmenu {
	PADDING-LEFT: 10px; FONT: 1em 'Lucida Grande',  Arial, Sans-Serif
}
.rightmenu P {
	WIDTH: 220px
}
.rightmenu UL UL LI {
	COLOR: #777
}
.rightmenu UL OL LI {
	COLOR: #777
}
.rightmenu UL UL LI:unknown {
	content: "=BB "
}
.rightmenu UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.rightmenu UL OL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.rightmenu UL LI {
	LIST-STYLE-IMAGE: none; MARGIN-BOTTOM: 15px; LIST-STYLE-TYPE: none
}
.rightmenu UL P {
	MARGIN: 5px 0px 8px
}
.rightmenu UL SELECT {
	MARGIN: 5px 0px 8px
}
.rightmenu UL UL {
	MARGIN: 5px 0px 0px 10px
}
.rightmenu UL OL {
	MARGIN: 5px 0px 0px 10px
}
.rightmenu UL UL UL {
	MARGIN: 0px 0px 0px 10px
}
.rightmenu UL OL {
	MARGIN: 0px 0px 0px 10px
}
OL LI {
	LIST-STYLE-POSITION: outside; LIST-STYLE-TYPE: decimal
}
.rightmenu UL OL LI {
	LIST-STYLE-POSITION: outside; LIST-STYLE-TYPE: decimal
}
.rightmenu UL UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px =
0px 0px; PADDING-TOP: 0px
}
.rightmenu UL OL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px =
0px 0px; PADDING-TOP: 0px
}
.text {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.entry P {
	FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Arial
}
#lheader {
	FONT-SIZE: 12px
}
.LegendsPadding {
	PADDING-RIGHT: 10px
}
.entry FONT {
	FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial
}
A.leftmenu_link:link {
	FONT-SIZE: 12px; COLOR: #105289; TEXT-DECORATION: none
}
A.leftmenu_link:visited {
	FONT-SIZE: 12px; COLOR: #105289; TEXT-DECORATION: none
}
A.leftmenu_link:active {
	FONT-SIZE: 12px; COLOR: #105289; TEXT-DECORATION: none
}
A.leftmenu_link:hover {
	FONT-SIZE: 12px; COLOR: red; TEXT-DECORATION: underline
}
.boxcolor {
	BACKGROUND-COLOR: #9ab6e6
}
.blue_bar {
	WIDTH: 60%; COLOR: #ffffff; HEIGHT: 25px; BACKGROUND-COLOR: #830908
}
.blue_bar_text {
	FONT-SIZE: 12px; VERTICAL-ALIGN: middle; COLOR: #ffffff; TEXT-INDENT: =
6px; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left
}
.grey_bar {
	BACKGROUND-COLOR: #666666
}
.grey_bar_text {
	FONT-SIZE: 10px; VERTICAL-ALIGN: text-top; COLOR: #000; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.grey_bar_small_text {
	FONT-SIZE: 12px; VERTICAL-ALIGN: text-top; COLOR: blue; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.searchbox {
	BORDER-RIGHT: #cacaca; BORDER-TOP: #cacaca; BORDER-LEFT: #cacaca; =
BORDER-BOTTOM: #cacaca
}
A.BlueBarLink:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BlueBarLink:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BlueBarLink:active {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BlueBarLink:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #fff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.HeaderBar:link {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; FLOAT: left; COLOR: #ffffff; =
LINE-HEIGHT: 26px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: none
}
A.HeaderBar:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; FLOAT: left; COLOR: #ffffff; =
LINE-HEIGHT: 26px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: none
}
A.HeaderBar:active {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; FLOAT: left; COLOR: #ffffff; =
LINE-HEIGHT: 26px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: none
}
A.HeaderBar:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; FLOAT: left; COLOR: #ffffff; =
LINE-HEIGHT: 26px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
BACKGROUND-COLOR: #000000; TEXT-DECORATION: none
}
A.HeaderBarSmall:link {
	FONT-WEIGHT: bold; COLOR: #1a59a9; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none
}
A.HeaderBarSmall:visited {
	FONT-WEIGHT: bold; COLOR: #1a59a9; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none
}
A.HeaderBarSmall:active {
	FONT-WEIGHT: bold; COLOR: #1a59a9; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none
}
A.HeaderBarSmall:hover {
	FONT-WEIGHT: bold; COLOR: #1a59a9; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: underline
}
TD.MenuCell {
	BORDER-RIGHT: #c0c0c0 1px solid; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; =
COLOR: #ffffff
}
A.leftmenu_link:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.leftmenu_link:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.leftmenu_link:active {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.leftmenu_link:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: red; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.relatednews_link:link {
	FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: none
}
A.relatednews_link:visited {
	FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: none
}
A.relatednews_link:active {
	FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: none
}
A.relatednews_link:hover {
	FONT-SIZE: 12px; COLOR: red; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: underline
}
.SimpleLeftMenu {
	PADDING-RIGHT: 10px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 3px; BORDER-LEFT: 0px; COLOR: #000000; =
PADDING-TOP: 5px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
BORDER-COLLAPSE: collapse; TEXT-ALIGN: right
}
.line_menu {
	WIDTH: 169px; HEIGHT: 1px; BACKGROUND-COLOR: #ccd5e3
}
.boxleft_title {
	BORDER-RIGHT: #5a79a5; WIDTH: 169px; HEIGHT: 19px; BACKGROUND-COLOR: =
#5a79a5
}
.text_title {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ffffff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-ALIGN: right
}
.boxleft_submenu {
	BORDER-RIGHT: #5a79a5 thin solid; BORDER-TOP: #ffffff thin solid; =
WIDTH: 169px; BACKGROUND-COLOR: #dde2eb
}
.line_submenu {
	WIDTH: 169px; HEIGHT: 1px; BACKGROUND-COLOR: #ffffff
}
.newslettertext {
	PADDING-RIGHT: 10px; FONT-SIZE: 11px; COLOR: #151515; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-ALIGN: right
}
.ColoredLeft_submenu {
	PADDING-RIGHT: 10px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 3px; BORDER-LEFT: 0px; PADDING-TOP: 5px; =
BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: #dde2eb; TEXT-ALIGN: right
}
.newsletterbox {
	BORDER-RIGHT: #d1d1d1 1px solid; BORDER-TOP: #d1d1d1 1px solid; =
PADDING-LEFT: 3px; FONT-SIZE: 11px; BORDER-LEFT: #d1d1d1 1px solid; =
COLOR: #666666; BORDER-BOTTOM: #d1d1d1 1px solid; FONT-FAMILY: Arial, =
Helvetica, sans-serif; HEIGHT: 18px
}
TD.FrontEndMenuBar {
	PADDING-RIGHT: 10px; FONT-WEIGHT: bold; COLOR: #ffffff; HEIGHT: 20px; =
BACKGROUND-COLOR: #5a79a5; TEXT-ALIGN: right
}
.UpdateText {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 5px; COLOR: #545c5e; PADDING-TOP: 0px; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.boxright_title {
	BORDER-RIGHT: #5a79a5; WIDTH: 169px; HEIGHT: 19px; BACKGROUND-COLOR: =
#5a79a5
}
.boxright_bg {
	BORDER-LEFT: #5a79a5 0px solid; BACKGROUND-COLOR: #ffffff
}
.text_boxcontent {
	PADDING-LEFT: 10px; FONT-SIZE: 11px; COLOR: #666666; PADDING-TOP: 3px; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.text_boxlink {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #3084b6; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.RightTextTitle {
	PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ffffff; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left
}
TD.RightMenuBar {
	PADDING-LEFT: 10px; FONT-WEIGHT: bold; COLOR: #ffffff; HEIGHT: 20px; =
BACKGROUND-COLOR: #5a79a5; TEXT-ALIGN: left
}
UL.HoroscopeList {
	MARGIN-TOP: 0px; PADDING-LEFT: 15px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; LIST-STYLE-IMAGE: url(../images/bullet_right.jpg); MARGIN-BOTTOM: =
0px; MARGIN-LEFT: 0px; COLOR: #5879a4; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
A.HoroscopeNewLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #5879a4; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
A.HoroscopeNewLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #5879a4; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
A.HoroscopeNewLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #5879a4; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.Heading {
	FONT-WEIGHT: normal; FONT-SIZE: 20px; COLOR: #a8a8a8; FONT-FAMILY: =
arial, helvetica, sans-serif
}
.TopContent {
	FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: left
}
.TopBrownTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
A.TopBrownLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.TopBrownLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.TopBrownLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.TopBrownLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: red; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
.contentbold {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-ALIGN: left
}
.links {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #003399; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
A.BodyLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #830908; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #830908; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #830908; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #830908; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.SubCategoryLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #b02926; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.SubCategoryLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #b02926; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.SubCategoryLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #b02926; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.SubCategoryLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #b02926; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.BodyBrownLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyBrownLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyBrownLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyBrownLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.BodyBrownLinksBig:link {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.BodyBrownLinksBig:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.BodyBrownLinksBig:active {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #a33131; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.BodyBrownLinksBig:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: red; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.BodyBlackLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyBlackLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyBlackLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodyBlackLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.InnerBodyHeadlinesLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.InnerBodyHeadlinesLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.InnerBodyHeadlinesLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.InnerBodyHeadlinesLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.HeadlinesBlackLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 24px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.HeadlinesBlackLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 24px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.HeadlinesBlackLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 24px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.HeadlinesBlackLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 24px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
.HeadlinesBlackLinks1:link {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
.HeadlinesBlackLinks1:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
.HeadlinesBlackLinks1:active {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
.HeadlinesBlackLinks1:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
.Heading {
	FONT-WEIGHT: normal; FONT-SIZE: 20px; COLOR: #a8a8a8; FONT-FAMILY: =
arial, helvetica, sans-serif
}
A.BodySmallBlackLinks:link {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodySmallBlackLinks:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodySmallBlackLinks:active {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BodySmallBlackLinks:hover {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: underline
}
UL.SubmenuList {
	MARGIN-TOP: 0px; PADDING-LEFT: 15px; LIST-STYLE-IMAGE: =
url(../images/submenu_arrow.jpg); MARGIN-BOTTOM: 0px; MARGIN-LEFT: 0px
}
UL.SubmenuSmallList {
	MARGIN-TOP: 0px; PADDING-LEFT: 15px; FONT-WEIGHT: normal; FONT-SIZE: =
11px; LIST-STYLE-IMAGE: url(../images/submenu_arrow.jpg); MARGIN-BOTTOM: =
0px; MARGIN-LEFT: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
A.UnderlinedBodyLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #003398; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.UnderlinedBodyLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #003398; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.UnderlinedBodyLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #003398; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.UnderlinedBodyLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
.BlueHeading {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #003399; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.SmallText {
	FONT-SIZE: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.heading2 {
	FONT-SIZE: 14px; COLOR: #000000; FONT-FAMILY: arial, helvetica, =
sans-serif; TEXT-ALIGN: left
}
.link2 {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #003399; FONT-FAMILY: arial, =
helvetica, sans-serif; TEXT-ALIGN: left
}
A.BottomLinks:link {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #fff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BottomLinks:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #fff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BottomLinks:active {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #fff; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.BottomLinks:hover {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
.BottomText {
	FONT-SIZE: 11px; COLOR: #fff; LINE-HEIGHT: 20px; FONT-FAMILY: arial, =
helvetica, sans-serif; TEXT-ALIGN: center
}
.outerx {
	BORDER-RIGHT: #000 0px solid; BORDER-TOP: #000 0px solid; BACKGROUND: =
url(../images/Bg_left.jpg) #fff repeat-y left top; BORDER-LEFT: #000 0px =
solid; WIDTH: 100%; BORDER-BOTTOM: #000 0px solid
}
.innerx {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(../images/bg_right.jpg) repeat-y right top; PADDING-BOTTOM: 0em; =
WIDTH: 100%; PADDING-TOP: 0em
}
.outerx P {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; MARGIN: =
0px 0px 0em; PADDING-TOP: 0px
}
.SubmenuList1 {
	MARGIN-TOP: 0px; PADDING-LEFT: 15px; LIST-STYLE-IMAGE: =
url(../images/submenu_arrow.jpg); MARGIN-BOTTOM: 0px; MARGIN-LEFT: 0px
}
.SubmenuList2 {
	MARGIN-TOP: 0px; PADDING-LEFT: 15px; BACKGROUND: =
url(../images/dotted.jpg) repeat-x left bottom; LIST-STYLE-IMAGE: =
url(../images/submenu_arrow.jpg); MARGIN-BOTTOM: 0px; PADDING-BOTTOM: =
5px; MARGIN-LEFT: 0px
}
.HoroscopeDate {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #800000
}
.m3 {
	MARGIN: 3px
}
.b3sfuschia {
	BORDER-RIGHT: #9966ff 3px solid; BORDER-TOP: #9966ff 3px solid; =
BORDER-LEFT: #9966ff 3px solid; BORDER-BOTTOM: #9966ff 3px solid
}
.b3sfff {
	BORDER-RIGHT: #ffffff 3px solid; BORDER-TOP: #ffffff 3px solid; =
BORDER-LEFT: #ffffff 3px solid; BORDER-BOTTOM: #ffffff 3px solid
}
.b1s000 {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
.black1 {
	BACKGROUND: #000
}
.black2 {
	BORDER-RIGHT: #000000 3px solid; BORDER-TOP: #000000 3px solid; =
BORDER-LEFT: #000000 3px solid; BORDER-BOTTOM: #000000 3px solid
}
.framedimg {
	DISPLAY: block
}
.fl {
	CLEAR: left; FLOAT: left
}
.searchbtnHeader {
	BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#000000 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; MARGIN: 0px; BORDER-LEFT: #000000 1px solid; COLOR: #ffffff; =
PADDING-TOP: 0px; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 20px; =
BACKGROUND-COLOR: #224a7b
}
.marron_text {
	PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #b02926
}
.BreakingNews_text {
	PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #ffffff
}
TD.StockSmallText {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #000000; FONT-FAMILY: =
Arial,Helvetica,sans-serif
}
TD.StockSmallColorText {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #224a7b; FONT-FAMILY: =
Arial,Helvetica,sans-serif
}
.StockMarronText {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #723e40
}
.epaper {
	BORDER-RIGHT: #a2adbf 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#a2adbf 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; BACKGROUND: #5e7d9c; PADDING-BOTTOM: 5px; BORDER-LEFT: #a2adbf 1px =
solid; COLOR: #fff; PADDING-TOP: 5px; BORDER-BOTTOM: #a2adbf 1px solid; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: center
}
.epaper_image {
	BORDER-RIGHT: #a2adbf 1px solid; BORDER-TOP: #a2adbf 1px solid; =
BORDER-LEFT: #a2adbf 1px solid; BORDER-BOTTOM: #a2adbf 1px solid; =
HEIGHT: 200px; TEXT-ALIGN: center
}
.epaper A:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; BACKGROUND: #5e7d9c; COLOR: #fff; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.epaper A:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; BACKGROUND: #5e7d9c; COLOR: #fff; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.epaper A:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; BACKGROUND: #5e7d9c; COLOR: #fff; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.SearchOptions {
	MARGIN-TOP: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; VERTICAL-ALIGN: =
text-top; COLOR: #313398; LINE-HEIGHT: 19px; FONT-FAMILY: Arial, =
Helvetica, sans-serif; HEIGHT: 20px
}
A.SmallMoreLink:link {
	FONT-WEIGHT: normal; FONT-SIZE: 10px; COLOR: #830908; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.SmallMoreLink:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 10px; COLOR: #830908; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.SmallMoreLink:active {
	FONT-WEIGHT: normal; FONT-SIZE: 10px; COLOR: #830908; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.SmallMoreLink:hover {
	FONT-WEIGHT: normal; FONT-SIZE: 10px; COLOR: #830908; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
A.MoreLink:link {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #830908; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.MoreLink:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #830908; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.MoreLink:active {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #830908; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.MoreLink:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #830908; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.YouMightLinks:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.YouMightLinks:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.YouMightLinks:active {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
A.YouMightLinks:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #224a7b; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: underline
}
.RssStyle {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #234b7b
}
.PageTitle {
	FONT-SIZE: 22px; COLOR: #000000; FONT-FAMILY: arial, helvetica, =
sans-serif; TEXT-ALIGN: left
}
.StrapTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: arial, =
helvetica, sans-serif; TEXT-ALIGN: left
}
.SummaryStyle {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000000; FONT-FAMILY: arial, =
helvetica, sans-serif; TEXT-ALIGN: left
}
.weather_small_title:link {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #28457d; FONT-FAMILY: arial, =
helvetica, sans-serif; TEXT-ALIGN: left
}
.weather_small_title:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #28457d; FONT-FAMILY: arial, =
helvetica, sans-serif; TEXT-ALIGN: left
}
.weather_small_title:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #28457d; FONT-FAMILY: arial, =
helvetica, sans-serif; TEXT-ALIGN: left
}
.PageTitleBar H2 A:link {
	FONT-SIZE: 13px; COLOR: #003389; TEXT-DECORATION: none
}
A:visited {
	FONT-SIZE: 13px; COLOR: #003389; TEXT-DECORATION: none
}
A:active {
	FONT-SIZE: 13px; COLOR: #003389; TEXT-DECORATION: none
}
.PageTitleBar H2 A:hover {
	FONT-SIZE: 13px; COLOR: red; TEXT-DECORATION: underline
}
#footer {
	FONT-SIZE: 11px; BACKGROUND: #8e8e8e; COLOR: #ffffff; FONT-FAMILY: =
Arial, Helvetica, sans-serif; HEIGHT: 50px; TEXT-ALIGN: center
}
#footer A {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; COLOR: =
#ffffff; PADDING-TOP: 0px; TEXT-DECORATION: none
}
#footer A:hover {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; COLOR: =
#ffffff; PADDING-TOP: 0px; TEXT-DECORATION: underline
}
#footer DIV {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px
}

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/css/comments_style.css

BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
11px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 0px; COLOR: black; PADDING-TOP: =
0px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.comment_content {
	FONT-SIZE: 11px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
.title {
	FONT-WEIGHT: bold; FONT-SIZE: 9px; COLOR: #000000; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
.header {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; COLOR: #ed6c11
}
.headerlink1 {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #182b03! important; =
TEXT-DECORATION: none
}
.headercollink {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #cd3333; TEXT-DECORATION: =
none
}
.boxheader {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ffffff
}
.smalltext {
	FONT-SIZE: 9px
}
.mediumtext {
	FONT-SIZE: 11px
}
.smalllinktext {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
A.smalllinktext:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
A.smalllinktext:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
A.smalllinktext:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
.vncattext {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: =
arial; TEXT-DECORATION: none
}
.childcattext {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: =
arial; TEXT-DECORATION: none
}
.smalllink {
	FONT-SIZE: 12px; COLOR: #ed6c11; TEXT-DECORATION: none
}
.myfavtext {
	FONT-SIZE: 12px; COLOR: silver; FONT-FAMILY: normal Arial, Helvetica, =
sans-serif
}
HR {
	CLEAR: left; BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: =
medium none; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
BORDER-LEFT: medium none; COLOR: #9ab6e6; PADDING-TOP: 0px; =
BORDER-BOTTOM: medium none; HEIGHT: 1px; BACKGROUND-COLOR: #9ab6e6
}
.telugulinks {
	FONT-SIZE: 14px; LINE-HEIGHT: 20px; FONT-FAMILY: Gautami, Pothana2000
}
.telugutitle {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN-BOTTOM: 0px; FONT-FAMILY: =
Gautami, Pothana2000
}
.kannadalinks {
	FONT-SIZE: 13px; LINE-HEIGHT: 20px; FONT-FAMILY: Lohit Kannada, Tunga
}
.kannadatitle {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Lohit Kannada, Tunga
}
.tamillinks {
	FONT-SIZE: 11px; LINE-HEIGHT: 20px; FONT-FAMILY: latha, TSCu_paranar
}
.tamiltitle {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: latha, TSCu_paranar
}
.malayalamlinks {
	FONT-SIZE: 16px; LINE-HEIGHT: 20px; FONT-FAMILY: Kartika, AnjaliOldLipi
}
.malayalamtitle {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; FONT-FAMILY: Kartika, AnjaliOldLipi
}
.tableborder {
	BORDER-RIGHT: #ffc299 1px solid; BORDER-TOP: #ffc299 1px solid; =
BORDER-LEFT: #ffc299 1px solid; BORDER-BOTTOM: #ffc299 1px solid
}
.tagline {
	FONT: 12px arial, verdana, helvetica, sans-serif
}
A.tagline:link {
	COLOR: #cb6733; TEXT-DECORATION: none
}
A.tagline:visited {
	COLOR: #cb6733; TEXT-DECORATION: none
}
A.tagline:hover {
	COLOR: #ffffff; BACKGROUND-COLOR: #cb6733; TEXT-DECORATION: none
}
.error {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: red
}
.success {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: green; TEXT-DECORATION: none
}
.mylink {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #006dff; TEXT-DECORATION: =
none
}
.arrow {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ff6601; TEXT-DECORATION: =
none
}
.rightlink {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #669acc! important; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.rightlink1 {
	FONT-SIZE: 12px; COLOR: #4a76f8! important; TEXT-DECORATION: none
}
.rightlink2 {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #669acc! important; =
TEXT-DECORATION: none
}
.rightlink3 {
	FONT-SIZE: 11px; COLOR: #669acc! important; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
A.rightlink3:link {
	FONT-SIZE: 11px; COLOR: #669acc! important; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
A.rightlink3:visited {
	FONT-SIZE: 11px; COLOR: #669acc! important; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
A.rightlink3:hover {
	FONT-SIZE: 11px; COLOR: #669acc! important; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.vhead {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #313398! important; =
TEXT-DECORATION: none
}
.titlehead {
	FONT: bold 12px arial, verdana; COLOR: #000000; TEXT-DECORATION: none
}
.tablecontent {
	FONT-SIZE: 11px; COLOR: #000000; TEXT-DECORATION: none
}
.backimage {
	BORDER-RIGHT: #ffc299 1px solid; BORDER-TOP: #ffc299 1px solid; =
BACKGROUND-IMAGE: url(/videos/images/head_bg.jpg); BORDER-LEFT: #ffc299 =
1px solid; BORDER-BOTTOM: #ffc299 1px solid; BACKGROUND-REPEAT: repeat
}
.favbackimage {
	BACKGROUND-IMAGE: url(/videos/images/top_band.jpg); BACKGROUND-REPEAT: =
repeat
}
.favline {
	BACKGROUND-IMAGE: url(/videos/images/line.jpg); COLOR: #ffcc33
}
.backimage1 {
	BACKGROUND-IMAGE: none; BACKGROUND-REPEAT: repeat
}
.commentsHead {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #2370da; TEXT-DECORATION: =
none
}
.righttitle {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #f89410; TEXT-DECORATION: =
none
}
A.righttitle:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
A.righttitle:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
A.righttitle:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
.mytext {
	FONT: 12px arial,verdana,helvetica,sans-serif; COLOR: #000000; =
TEXT-DECORATION: none
}
.views {
	FONT-SIZE: 10px; COLOR: green
}
.numbox {
	PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; PADDING-BOTTOM: 0em; BORDER-TOP-STYLE: solid; =
PADDING-TOP: 0em; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; =
BORDER-BOTTOM-STYLE: solid
}
.playerbox {
	BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; BORDER-LEFT: 1px solid; COLOR: #dadada; BORDER-BOTTOM: =
1px solid
}
.chkimage {
	PADDING-LEFT: 3px; BACKGROUND: url(/videos/images/check_box.jpg) =
no-repeat center center
}
.my_textbox {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 10px; BORDER-TOP: 0px; PADDING-LEFT: =
10px; BACKGROUND-IMAGE: url(/videos/images/textbox.gif); PADDING-BOTTOM: =
0px; MARGIN: 0px; BORDER-LEFT: 0px; WIDTH: 150px; PADDING-TOP: 5px; =
BORDER-BOTTOM: 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 21px
}
.fotfont {
	FONT-SIZE: 12px; FONT-FAMILY: arial
}
.fotbg {
	COLOR: #000000; BACKGROUND-COLOR: #cccccc
}
.fotbord {
	BORDER-RIGHT: #c0c0c0 1px; BORDER-TOP: #c0c0c0 1px; BORDER-LEFT: =
#c0c0c0 1px; BORDER-BOTTOM: #c0c0c0 1px; BACKGROUND-COLOR: #f0f0f0
}
.ii9 {
	FONT-SIZE: 12px; COLOR: #0064cc! important; FONT-FAMILY: Arial; =
TEXT-DECORATION: none! important
}
A.ii9:hover {
	COLOR: #0064cc! important; TEXT-DECORATION: underline! important
}
.gr1 {
	FONT-SIZE: 11px; COLOR: #0064cc! important; FONT-FAMILY: Arial; =
TEXT-DECORATION: none! important
}
A.gr1:hover {
	COLOR: #0064cc! important; TEXT-DECORATION: underline! important
}
.fotf1 {
	FONT-SIZE: 11px; COLOR: #4064b8; FONT-FAMILY: arial
}
.FreezePaneOff {
	LEFT: -100px; VISIBILITY: hidden; POSITION: absolute; TOP: -100px
}
.FreezePaneOn {
	DISPLAY: block; Z-INDEX: 999; FILTER: alpha(opacity=3D85); LEFT: 0px; =
VISIBILITY: visible; WIDTH: 100%; PADDING-TOP: 20%; POSITION: absolute; =
TOP: 0px; HEIGHT: 1300px; BACKGROUND-COLOR: #000000; -moz-opacity: 0.85
}
BUTTON {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; BACKGROUND-IMAGE: =
url(..//videos/images/bt_bg.gif); FONT-FAMILY: Sans serif
}
.register {
	MARGIN-TOP: 8px; TEXT-DECORATION: none
}
.bg0 {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: white; FONT-FAMILY: arial; =
BACKGROUND-COLOR: #f89410
}
.f0 {
	FONT-SIZE: 12px; COLOR: black; FONT-FAMILY: arial; BACKGROUND-COLOR: =
white
}
.bg1 {
	FONT-SIZE: 12px; COLOR: black; FONT-FAMILY: arial; BACKGROUND-COLOR: =
#fcd59e
}
.input {
	FONT-SIZE: 12px; WIDTH: 150px; FONT-FAMILY: arial; HEIGHT: 20px
}
.textarea {
	FONT-SIZE: 12px; WIDTH: 233px; FONT-FAMILY: arial; HEIGHT: 70px
}
.input1 {
	FONT-SIZE: 12px; WIDTH: 233px; FONT-FAMILY: arial; HEIGHT: 20px
}
.select {
	FONT-SIZE: 12px; FONT-FAMILY: arial; HEIGHT: 20px
}
.select1 {
	FONT-SIZE: 12px; WIDTH: 233px; FONT-FAMILY: arial; HEIGHT: 20px
}
.smallstar {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: arial
}
A:link {
	COLOR: #0066cc; TEXT-DECORATION: none
}
A:visited {
	COLOR: #0066cc; TEXT-DECORATION: none
}
A:active {
	TEXT-DECORATION: none
}
A:hover {
	COLOR: #0066cc; TEXT-DECORATION: none
}
.newchannel {
	FONT-SIZE: 12px; COLOR: #4064b8; FONT-FAMILY: arial; TEXT-DECORATION: =
none
}
.oi2 {
	FONT-SIZE: 12px; COLOR: black; FONT-FAMILY: arial; TEXT-DECORATION: =
none
}
.mail {
	FONT-SIZE: 9px; COLOR: black; FONT-FAMILY: arial; TEXT-DECORATION: none
}
.catHead {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #cd3333; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
A.catHeadLink:link {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #cd3333; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
A.catHeadLink:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #cd3333; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
A.catHeadLink:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #cd3333; FONT-FAMILY: Arial; =
TEXT-DECORATION: none
}
.left-divider {
	BACKGROUND-IMAGE: url(..//videos/images/left_panel_divider.jpg); WIDTH: =
1px; BACKGROUND-REPEAT: repeat-y
}
.black {
	FONT-SIZE: 12px; COLOR: black; FONT-FAMILY: arial; TEXT-DECORATION: =
none
}
.black1 {
	FONT-SIZE: 12px; COLOR: #110000; FONT-FAMILY: arial; TEXT-DECORATION: =
none
}
A.rightCatLink:link {
	FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
A.rightCatLink:visited {
	FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
A.rightCatLink:hover {
	FONT-SIZE: 12px; COLOR: #4a76f8; FONT-FAMILY: Arial; TEXT-DECORATION: =
none
}
.playlistTable {
	BORDER-RIGHT: #ffb482 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#ffb482 1px solid; PADDING-LEFT: 10px; MARGIN-BOTTOM: 10px; =
PADDING-BOTTOM: 10px; BORDER-LEFT: #ffb482 1px solid; PADDING-TOP: 10px; =
BORDER-BOTTOM: #ffb482 1px solid; BACKGROUND-COLOR: #ffffff
}
.playlistBackImage {
	BACKGROUND-IMAGE: url(/videos/images/top_band.jpg); BACKGROUND-REPEAT: =
repeat
}
.tBox {
	BORDER-RIGHT: #9fbad2 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
#9fbad2 1px solid; PADDING-LEFT: 1px; FONT-SIZE: 10px; PADDING-BOTTOM: =
1px; BORDER-LEFT: #9fbad2 1px solid; WIDTH: 25px; PADDING-TOP: 1px; =
BORDER-BOTTOM: #9fbad2 1px solid; FONT-FAMILY: arial
}
.tBox1 {
	BORDER-RIGHT: #9fbad2 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
#9fbad2 1px solid; PADDING-LEFT: 1px; FONT-SIZE: 12px; PADDING-BOTTOM: =
1px; BORDER-LEFT: #9fbad2 1px solid; WIDTH: 140px; PADDING-TOP: 1px; =
BORDER-BOTTOM: #9fbad2 1px solid; FONT-FAMILY: arial
}
.select2 {
	FONT-SIZE: 11px; WIDTH: 150px; FONT-FAMILY: arial; HEIGHT: 20px
}
.sb2 {
	FONT-SIZE: 12px; FONT-FAMILY: arial; TEXT-DECORATION: none
}
A.cmntLink:link {
	FONT-SIZE: 12px; COLOR: #0064cc! important; FONT-FAMILY: Arial; =
TEXT-DECORATION: none! important
}
A.cmntLink:visited {
	FONT-SIZE: 12px; COLOR: #0064cc! important; FONT-FAMILY: Arial; =
TEXT-DECORATION: none! important
}
A.cmntLink:hover {
	FONT-SIZE: 12px; COLOR: #0064cc! important; FONT-FAMILY: Arial; =
TEXT-DECORATION: none! important
}
.smallBr {
	FONT-SIZE: 1px; LINE-HEIGHT: 5px
}

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/css/tabber.css

.tabberlive .tabbertabhide {
	DISPLAY: none
}
.tabber {
=09
}
.tabberlive {
	MARGIN-TOP: 0px; WIDTH: 180px
}
UL.tabbernav {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; MARGIN: =
0px; FONT: bold 11px Arial, Helvetica, sans-serif; PADDING-TOP: 3px; =
BORDER-BOTTOM: #778 0px solid
}
UL.tabbernav LI {
	PADDING-RIGHT: 5px; DISPLAY: inline; MARGIN: 0px; LIST-STYLE-TYPE: none
}
UL.tabbernav LI A {
	BORDER-RIGHT: #778 0px solid; PADDING-RIGHT: 2px; BORDER-TOP: #778 0px =
solid; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 11px; =
BACKGROUND: url(../images/bg_tab.jpg) #000000 repeat-x; PADDING-BOTTOM: =
5px; MARGIN-LEFT: 0px; BORDER-LEFT: #778 0px solid; PADDING-TOP: 4px; =
BORDER-BOTTOM: medium none; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-DECORATION: none
}
UL.tabbernav LI A:link {
	BORDER-RIGHT: #a2adbf 1px solid; BORDER-TOP: #a2adbf 1px solid; =
BACKGROUND: #fff; BORDER-LEFT: #a2adbf 1px solid; COLOR: #8a3435; =
LINE-HEIGHT: 15px; BORDER-BOTTOM: #a2adbf 1px solid
}
UL.tabbernav LI A:visited {
	BORDER-RIGHT: #a2adbf 1px solid; BORDER-TOP: #a2adbf 1px solid; =
BORDER-LEFT: #a2adbf 1px solid; COLOR: #8a3435; BORDER-BOTTOM: #a2adbf =
1px solid
}
UL.tabbernav LI A:hover {
	BORDER-RIGHT: #a2adbf 1px solid; BORDER-TOP: #a2adbf 1px solid; =
BACKGROUND: #5e7d9c; BORDER-LEFT: #a2adbf 1px solid; COLOR: #000; =
BORDER-BOTTOM: #a2adbf 1px solid
}
UL.tabbernav LI.tabberactive A {
	BORDER-RIGHT: #a2adbf 1px solid; BORDER-TOP: #a2adbf 1px solid; =
BACKGROUND: #5e7d9c; BORDER-LEFT: #a2adbf 1px solid; COLOR: #fff; =
BORDER-BOTTOM: #a2adbf 1px solid
}
UL.tabbernav LI.tabberactive A:hover {
	BORDER-RIGHT: #a2adbf 1px solid; BORDER-TOP: #a2adbf 1px solid; =
BORDER-LEFT: #a2adbf 1px solid; BORDER-BOTTOM: #a2adbf 1px solid
}
.tabberlive .tabbertab {
	BORDER-RIGHT: #aaa 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: 0px =
solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #aaa 0px =
solid; WIDTH: 180px; PADDING-TOP: 0px; BORDER-BOTTOM: #aaa 0px solid; =
HEIGHT: 200px
}
.tabberlive .tabbertab H2 {
	DISPLAY: none
}
.tabberlive .tabbertab H3 {
	DISPLAY: none
}
.tabberlive#tab1 {
=09
}
.tabberlive#tab2 {
=09
}
.tabberlive#tab2 .tabbertab {
	OVERFLOW: auto; HEIGHT: 180px
}

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/css/js_color_picker_v2.css

#dhtmlgoodies_colorPicker {
	BORDER-RIGHT: #317082 1px solid; BORDER-TOP: #317082 1px solid; =
PADDING-BOTTOM: 1px; BORDER-LEFT: #317082 1px solid; WIDTH: 250px; =
BORDER-BOTTOM: #317082 1px solid; POSITION: absolute; BACKGROUND-COLOR: =
#fff
}
#dhtmlgoodies_colorPicker .colorPicker_topRow {
	PADDING-LEFT: 2px; PADDING-BOTTOM: 1px; WIDTH: 248px; BORDER-BOTTOM: =
#317082 3px double; HEIGHT: 16px; BACKGROUND-COLOR: #e2ebed
}
#dhtmlgoodies_colorPicker .colorPicker_statusBar {
	CLEAR: both; BORDER-TOP: #317082 3px double; PADDING-LEFT: 2px; =
PADDING-BOTTOM: 2px; WIDTH: 248px; HEIGHT: 13px; BACKGROUND-COLOR: =
#e2ebed
}
#dhtmlgoodies_colorPicker .colorSquare {
	BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; FLOAT: left; =
MARGIN-BOTTOM: 1px; MARGIN-LEFT: 1px; BORDER-LEFT: #000 1px solid; =
WIDTH: 10px; CURSOR: pointer; BORDER-BOTTOM: #000 1px solid; HEIGHT: =
10px
}
.colorPickerTab_inactive {
	PADDING-LEFT: 4px; CURSOR: pointer; HEIGHT: 17px
}
.colorPickerTab_active {
	PADDING-LEFT: 4px; CURSOR: pointer; HEIGHT: 17px
}
.colorPickerTab_inactive SPAN {
	BACKGROUND-IMAGE: url(images/tab_left_inactive.gif)
}
.colorPickerTab_active SPAN {
	BACKGROUND-IMAGE: url(images/tab_left_active.gif)
}
.colorPickerTab_inactive SPAN {
	BACKGROUND-POSITION: left top; PADDING-LEFT: 6px; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; FLOAT: left; VERTICAL-ALIGN: middle; LINE-HEIGHT: 16px; =
PADDING-TOP: 1px; BACKGROUND-REPEAT: no-repeat; FONT-FAMILY: arial; =
-moz-user-select: no
}
.colorPickerTab_active SPAN {
	BACKGROUND-POSITION: left top; PADDING-LEFT: 6px; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; FLOAT: left; VERTICAL-ALIGN: middle; LINE-HEIGHT: 16px; =
PADDING-TOP: 1px; BACKGROUND-REPEAT: no-repeat; FONT-FAMILY: arial; =
-moz-user-select: no
}
.colorPickerTab_inactive IMG {
	FLOAT: left
}
.colorPickerTab_active IMG {
	FLOAT: left
}
.colorPickerCloseButton {
	BORDER-RIGHT: #317082 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
#317082 1px solid; PADDING-LEFT: 1px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; RIGHT: 1px; PADDING-BOTTOM: 1px; BORDER-LEFT: #317082 1px solid; =
WIDTH: 11px; CURSOR: pointer; LINE-HEIGHT: 10px; PADDING-TOP: 1px; =
BORDER-BOTTOM: #317082 1px solid; POSITION: absolute; TOP: 1px; HEIGHT: =
11px; TEXT-ALIGN: center
}
#colorPicker_statusBarTxt {
	FONT-SIZE: 11px; VERTICAL-ALIGN: top; LINE-HEIGHT: 13px; FONT-FAMILY: =
arial
}
FORM {
	PADDING-LEFT: 5px
}
.form_widget_amount_slider {
	BORDER-RIGHT: #eee 1px solid; BORDER-TOP: #9d9c99 1px solid; =
BORDER-LEFT: #9d9c99 1px solid; WIDTH: 3px; BOTTOM: 0px; BORDER-BOTTOM: =
#eee 1px solid; POSITION: absolute; HEIGHT: 3px; BACKGROUND-COLOR: =
#f0ede0
}
.colorSliderLabel {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FLOAT: left; WIDTH: 15px; HEIGHT: =
20px
}
.colorSlider {
	FLOAT: left; WIDTH: 175px; HEIGHT: 20px
}
.colorInput {
	FLOAT: left; WIDTH: 45px; HEIGHT: 20px
}
.colorPreviewDiv {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
1px; FLOAT: left; BORDER-LEFT: #ccc 1px solid; WIDTH: 186px; CURSOR: =
pointer; MARGIN-RIGHT: 2px; BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 20px
}
.colorCodeDiv {
	FLOAT: left; WIDTH: 50px; HEIGHT: 20px
}

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_068F_01CADA5D.297297F0"


------=_NextPart_001_068F_01CADA5D.297297F0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/content/16049/class-action-suit-form-part.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Class action suit to form part of Companies =
Bill</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3DISO-8859-1">
<META content=3D"Class action suit, Companies Bill, Satyam fraud case"=20
name=3Dkeywords>
<META=20
content=3D"With lessons from the Satyam fraud case, the government is =
planning to include the concept of class action suit in new Companies =
Bill, likely to be introduced in the current session of Parliament, to =
help investors claim damages from fraudulent companies."=20
name=3Ddescription><LINK =
href=3D"http://www.deccanherald.com/css/style.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.deccanherald.com/css/comments_style.css" =
type=3Dtext/css=20
rel=3Dstylesheet><LINK media=3Dscreen=20
href=3D"http://www.deccanherald.com/css/tabber.css" type=3Dtext/css=20
rel=3Dstylesheet><LINK media=3Dscreen=20
href=3D"http://www.deccanherald.com/css/js_color_picker_v2.css"=20
rel=3Dstylesheet><NOSCRIPT>
<META http-equiv=3DRefresh=20
content=3D"1; =
URL=3Dhttp://www.deccanherald.com/enable_javascript.html"></NOSCRIPT>
<SCRIPT language=3Djavascript=20
src=3D"http://www.deccanherald.com/js/script.js"></SCRIPT>

<SCRIPT src=3D"http://www.deccanherald.com/js/ajax_request.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.deccanherald.com/js/comments.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.deccanherald.com/js/color_functions.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.deccanherald.com/js/js_color_picker_v2.js"=20
type=3Dtext/javascript></SCRIPT>
<!--
	 added for tabber
-->
<SCRIPT src=3D"http://www.deccanherald.com/js/tabber.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>

		/* Optional: Temporarily hide the "tabber" class so it does not =
"flash"
		   on the page as plain HTML. After tabber runs, the class is changed
		   to "tabberlive" and it will appear. */

			document.write('<style =
type=3D"text/css">.tabber{display:none;}<\/style>');
		</SCRIPT>
<!--
	//ends tabber
-->
<SCRIPT language=3Djavascript=20
src=3D"http://www.deccanherald.com/js/tiny_mce/tiny_mce_src.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>
		function CheckMeta()
		{
		   for (var i=3D0; i < document.search_form.restrict.length; i++){
			  if (document.search_form.restrict[i].checked){
				  var status =3D document.search_form.restrict[i].value;
				}
		   }

		   if(status =3D=3D 'yes'){
				document.search_form.meta.value=3D'web*vs%3Ddeccanherald.com';
		   }
		   if(status =3D=3D 'no'){
				document.search_form.meta.value=3D'';
		   }
		}

	</SCRIPT>

<STYLE type=3Dtext/css>#vert_productsandservices {
	POSITION: static
}
#horiz_productsandservices {
	MARGIN: 0px 0px 10px
}
#productsandservices .yuimenuitemlabel {
	ZOOM: 1
}
#productsandservices .yuimenu .yuimenuitemlabel {
	ZOOM: normal
}
</STYLE>

<SCRIPT src=3D"http://www.deccanherald.com/js/yahoo-dom-event.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.deccanherald.com/js/container_core.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.deccanherald.com/js/vertical_menu.js"=20
type=3Dtext/javascript></SCRIPT>
<!--
<script type=3D"text/javascript" src=3D"js/vertical_menu.js"></script>
-->
<SCRIPT type=3Dtext/javascript>

		/*
			 Initialize and render the Menu when its elements are ready
			 to be scripted.
		*/

		YAHOO.util.Event.onContentReady("vert_productsandservices", function =
() {

			/*
				 Instantiate a Menu:  The first argument passed to the
				 constructor is the id of the element in the page
				 representing the Menu; the second is an object literal
				 of configuration properties.
			*/

			var oMenu =3D new YAHOO.widget.Menu("vert_productsandservices", {
													position: "static",
													hidedelay:  750,
													lazyload: true });

			/*
				 Call the "render" method with no arguments since the
				 markup for this Menu instance is already exists in the page.
			*/

			oMenu.render();

		});


		/*
			 Initialize and render the MenuBar when its elements are ready
			 to be scripted.
		*/

		YAHOO.util.Event.onContentReady("horiz_productsandservices", function =
() {

			/*
				 Instantiate a MenuBar:  The first argument passed to the
				 constructor is the id of the element in the page
				 representing the MenuBar; the second is an object literal
				 of configuration properties.
			*/

			var oMenuBar =3D new =
YAHOO.widget.MenuBar("horiz_productsandservices", {
														autosubmenudisplay: true,
														hidedelay: 750,
														lazyload: true });

			/*
				 Call the "render" method with no arguments since the
				 markup for this MenuBar instance is already exists in
				 the page.
			*/

			oMenuBar.render();

		});

	</SCRIPT>

<META content=3D"MSHTML 6.00.6000.16674" name=3DGENERATOR></HEAD>
<BODY style=3D"MARGIN: 0px"><!-- <div class=3D"outerx" =
style=3D"width:995px;">
	<div class=3D"innerx"> -->
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D960 align=3Dcenter =
border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop>
      <STYLE type=3Dtext/css>#vert_productsandservices {
	POSITION: static
}
#horiz_productsandservices {
	MARGIN: 0px 0px 10px
}
#productsandservices .yuimenuitemlabel {
	ZOOM: 1
}
#productsandservices .yuimenu .yuimenuitemlabel {
	ZOOM: normal
}
</STYLE>

      <SCRIPT src=3D"http://www.deccanherald.com/js/yahoo-dom-event.js"=20
      type=3Dtext/javascript></SCRIPT>

      <SCRIPT src=3D"http://www.deccanherald.com/js/container_core.js"=20
      type=3Dtext/javascript></SCRIPT>

      <SCRIPT src=3D"http://www.deccanherald.com/js/vertical_menu.js"=20
      type=3Dtext/javascript></SCRIPT>
<!--
<script type=3D"text/javascript" src=3D"js/vertical_menu.js"></script>
-->
      <SCRIPT type=3Dtext/javascript>

		/*
			 Initialize and render the Menu when its elements are ready
			 to be scripted.
		*/

		YAHOO.util.Event.onContentReady("vert_productsandservices", function =
() {

			/*
				 Instantiate a Menu:  The first argument passed to the
				 constructor is the id of the element in the page
				 representing the Menu; the second is an object literal
				 of configuration properties.
			*/

			var oMenu =3D new YAHOO.widget.Menu("vert_productsandservices", {
													position: "static",
													hidedelay:  750,
													lazyload: true });

			/*
				 Call the "render" method with no arguments since the
				 markup for this Menu instance is already exists in the page.
			*/

			oMenu.render();

		});


		/*
			 Initialize and render the MenuBar when its elements are ready
			 to be scripted.
		*/

		YAHOO.util.Event.onContentReady("horiz_productsandservices", function =
() {

			/*
				 Instantiate a MenuBar:  The first argument passed to the
				 constructor is the id of the element in the page
				 representing the MenuBar; the second is an object literal
				 of configuration properties.
			*/

			var oMenuBar =3D new =
YAHOO.widget.MenuBar("horiz_productsandservices", {
														autosubmenudisplay: true,
														hidedelay: 750,
														lazyload: true });

			/*
				 Call the "render" method with no arguments since the
				 markup for this MenuBar instance is already exists in
				 the page.
			*/

			oMenuBar.render();

		});

	</SCRIPT>

      <SCRIPT type=3Dtext/javascript>

	   function YBg(showIt){
			if (showIt){
				document.getElementById('q').style.backgroundImage=3D"none";
			}
			else{
				if (document.getElementById('q').value.length<=3D0){
					=
document.getElementById('q').style.backgroundImage=3D"url(http://www.ripp=
le.org/images/google-logo-small.gif)";
				}
			}
		}

	</SCRIPT>

      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD>
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD style=3D"PADDING-LEFT: 5px" align=3Dleft><A=20
                  class=3DHeaderBarSmall=20
                  =
href=3D"http://www.deccanherald.com/login.php">Login</A> | <A=20
                  class=3DHeaderBarSmall=20
                  =
href=3D"http://www.deccanherald.com/register.php">Register</A></TD>
                <TD class=3DUpdateText align=3Dright>News updated at =
4:04 PM IST=20
                  &nbsp; <A =
href=3D"http://www.deccanherald.com/rss.html"=20
                  align=3D"center"><IMG=20
                  =
src=3D"http://www.deccanherald.com/images/rss_image.jpg"=20
                  border=3D0><SPAN class=3DRssStyle>&nbsp; RSS =
</SPAN></A></TD></TR>
              <TR>
                <TD=20
                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/line.jpg) repeat-x; HEIGHT: 5px"=20
                colSpan=3D2></TD></TR>
              <TR>
                <TD=20
                style=3D"PADDING-RIGHT: 5px; PADDING-LEFT: 5px; =
TEXT-ALIGN: center"><A=20
                  title=3D"Deccan Herald" =
href=3D"http://www.deccanherald.com/"><IMG=20
                  alt=3D"Deccan Herald"=20
                  =
src=3D"http://www.deccanherald.com//images/New_DH_Logo.gif"=20
                  border=3D0></A> <BR><BR><SPAN=20
                  style=3D"BORDER-RIGHT: red 0px solid; BORDER-TOP: red =
0px solid; FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: red 0px =
solid; COLOR: #797979; BORDER-BOTTOM: red 0px solid">Monday=20
                  12 April 2010 <!---Bangalore--></SPAN><BR></TD>
                <TD>
                  <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD align=3Dmiddle colSpan=3D2><!-- Javascript =
tag: --><!-- begin ZEDO for channel: deccanherald_banner , publisher: =
DECCANHERALD , Ad Dimension: Super Banner - 728 x 90 -->
                        <SCRIPT language=3DJavaScript>
var zflag_nid=3D"1185"; var zflag_cid=3D"857/368/121"; var =
zflag_sid=3D"13"; var zflag_width=3D"728"; var zflag_height=3D"90"; var =
zflag_sz=3D"14";=20
</SCRIPT>

                        <SCRIPT language=3DJavaScript=20
                        =
src=3D"http://d8.zedo.com/jsc/d8/fo.js"></SCRIPT>

                        <DIV id=3Dbeacon_435=20
                        style=3D"LEFT: 0px; VISIBILITY: hidden; =
POSITION: absolute; TOP: 0px"><IMG=20
                        style=3D"WIDTH: 0px; HEIGHT: 0px" height=3D0 =
alt=3D""=20
                        =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D435&amp;c=
lientid=3D10&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D6c3454a17ee13321990ac310ad57c215"=20
                        width=3D0></DIV></TD></TR>
                    <TR>
                      <TD=20
                      style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/line.jpg) repeat-x center 50%; =
HEIGHT: 5px"=20
                      colSpan=3D2></TD></TR>
                    <TR>
                      <TD style=3D"PADDING-BOTTOM: 10px" align=3Dmiddle=20
                        width=3D"70%"><FORM id=3Dcse-search-box=20
                        action=3Dhttp://www.deccanherald.com/search.php>
                        <DIV align=3Dcenter>
                        <TABLE cellSpacing=3D2 cellPadding=3D2>
                          <TBODY>
                          <TR>
                            <TD><INPUT type=3Dhidden=20
                              =
value=3Dpartner-pub-6098511427863223:4rvf9i-8j92=20
                              name=3Dcx> <INPUT type=3Dhidden =
value=3DFORID:10=20
                              name=3Dcof> <INPUT type=3Dhidden =
value=3DISO-8859-1=20
                              name=3Die> <INPUT class=3DSearchBoxHeader =
id=3Dq=20
                              onblur=3DYBg(false);=20
                              style=3D"PADDING-BOTTOM: 0px; PADDING-TOP: =
0px"=20
                              onfocus=3DYBg(true); maxLength=3D100 =
name=3Dq> </TD>
                            <TD><INPUT class=3DsearchbtnHeader =
type=3Dsubmit value=3DSEARCH =
name=3Dsa></TD></TR></TBODY></TABLE></DIV></FORM></TD>
                      <TD style=3D"PADDING-RIGHT: 5px" align=3Dright>
                        <TABLE style=3D"TEXT-ALIGN: center" =
height=3D"100%"=20
                        cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                          <TBODY>
                          <TR>
                            <TD=20
                            style=3D"PADDING-RIGHT: 2px; PADDING-LEFT: =
2px; PADDING-BOTTOM: 10px; WIDTH: 195px; PADDING-TOP: 10px"=20
                            align=3Dmiddle colSpan=3D2>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD vAlign=3Dtop align=3Dmiddle><A=20
                                class=3Dweather_small_title=20
                                =
href=3D"http://www.deccanherald.com/weather_details.php"><B>Weather</B></=
A><BR><FONT=20
                                style=3D"FONT-WEIGHT: bold; FONT-SIZE: =
10px; COLOR: #b02926">Max:=20
                                <SPAN=20
                                style=3D"FONT-WEIGHT: bold; FONT-SIZE: =
10px; COLOR: #b02926">36=B0C</SPAN></FONT><BR><FONT=20
                                style=3D"FONT-WEIGHT: bold; FONT-SIZE: =
10px; COLOR: #b02926">Min=20
                                : <SPAN=20
                                style=3D"COLOR: =
#c35150">23=B0C</SPAN></FONT> </TD>
                                <TD=20
                                style=3D"PADDING-RIGHT: 2px; =
PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px"=20
                                align=3Dmiddle><A=20
                                =
href=3D"http://www.deccanherald.com/weather_details.php"><IMG=20
                                =
src=3D"http://www.deccanherald.com/images/Partially%20cloudy.jpg"></A>=20
                                </TD>
                                <TD=20
                                style=3D"PADDING-RIGHT: 2px; =
PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px"><FONT=20
                                style=3D"FONT-WEIGHT: bold; FONT-SIZE: =
11px; COLOR: #8e4a35">In=20
                                Bangalore </FONT><BR><FONT=20
                                style=3D"FONT-WEIGHT: bold; FONT-SIZE: =
11px; COLOR: #7488a3">Partially=20
                                cloudy</FONT>=20
                          =
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></T=
ABLE></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD=20
          style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/line.jpg) repeat-x center 50%; =
HEIGHT: 5px"=20
          colSpan=3D2></TD></TR>
        <TR>
          <TD>
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD=20
                style=3D"PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
BACKGROUND-COLOR: #244c7d; TEXT-ALIGN: center"=20
                width=3D"90%">
                  <DIV class=3D"yuimenubar yuimenubarnav"=20
                  id=3Dhoriz_productsandservices=20
                  style=3D"BORDER-RIGHT: #000000 0px dotted; BORDER-TOP: =
#000000 0px dotted; MARGIN-BOTTOM: 0px; BORDER-LEFT: #000000 0px dotted; =
BORDER-BOTTOM: #000000 0px dotted">
                  <DIV class=3Dbd=20
                  style=3D"BORDER-RIGHT: #000000 0px dotted; BORDER-TOP: =
#000000 0px dotted; MARGIN: 0px; BORDER-LEFT: #000000 0px dotted; =
BORDER-BOTTOM: #000000 0px dotted">
                  <UL class=3Dfirst-of-type>
                    <LI class=3D"yuimenubaritem first-of-type"><A=20
                    class=3Dyuimenubaritemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/">&nbsp;Home&nbsp;</A>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/content/16049/class-action-suit-form-=
part.html#">&nbsp;News&nbsp;</A>
                    <DIV class=3Dyuimenu>
                    <DIV class=3Dbd>
                    <UL>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/231/environment.html">&nbsp;=
Environment&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/72/district.html">&nbsp;Dist=
rict&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/73/city.html">&nbsp;City&nbs=
p;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/71/state.html">&nbsp;State&n=
bsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/70/national.html">&nbsp;Nati=
onal&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/158/international.html">&nbs=
p;International&nbsp;</A></LI></UL></DIV></DIV>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/contents/168/business.html">&nbsp;Bus=
iness&nbsp;</A>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/contents/76/sports.html">&nbsp;Sports=
&nbsp;</A>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/supplements.php">&nbsp;Supplements&nb=
sp;</A>
                    <DIV class=3Dyuimenu>
                    <DIV class=3Dbd>
                    <UL>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/127/sunday.html">&nbsp;Sunda=
y&nbsp;</A>
                      <DIV class=3Dyuimenu>
                      <DIV class=3Dbd>
                      <UL>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/140/sportscene.html">&nbsp;S=
portscene&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/148/sunday-herald.html">&nbs=
p;Sunday=20
                        Herald&nbsp;</A>
                        <DIV class=3Dyuimenu>
                        <DIV class=3Dbd>
                        <UL>
                          <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                          style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                          =
href=3D"http://www.deccanherald.com/contents/247/travel.html">&nbsp;Trave=
l&nbsp;</A>
                          <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                          style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                          =
href=3D"http://www.deccanherald.com/contents/149/articulations.html">&nbs=
p;Articulations&nbsp;</A>
                          <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                          style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                          =
href=3D"http://www.deccanherald.com/contents/152/books.html">&nbsp;Books&=
nbsp;</A>
                          <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                          style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                          =
href=3D"http://www.deccanherald.com/contents/151/art-culture.html">&nbsp;=
Art=20
                          &amp; Culture&nbsp;</A>
                          <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                          style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                          =
href=3D"http://www.deccanherald.com/contents/150/entertainment.html">&nbs=
p;Entertainment&nbsp;</A></LI></UL></DIV></DIV></LI></UL></DIV></DIV>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/121/monday.html">&nbsp;Monda=
y&nbsp;</A>
                      <DIV class=3Dyuimenu>
                      <DIV class=3Dbd>
                      <UL>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/129/economy-business.html">&=
nbsp;Economy=20
                        &amp; Business&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/130/art-review.html">&nbsp;A=
rt=20
                        Review&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/128/metrolife.html">&nbsp;Me=
trolife&nbsp;</A></LI></UL></DIV></DIV>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/122/tuesday.html">&nbsp;Tues=
day&nbsp;</A>
                      <DIV class=3Dyuimenu>
                      <DIV class=3Dbd>
                      <UL>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/132/spectrum.html">&nbsp;Spe=
ctrum&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/133/science-technology.html"=
>&nbsp;Science=20
                        &amp; Technology&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/134/environment.html">&nbsp;=
Environment&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/131/metrolife.html">&nbsp;Me=
trolife&nbsp;</A></LI></UL></DIV></DIV>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/123/wednesday.html">&nbsp;We=
dnesday&nbsp;</A>
                      <DIV class=3Dyuimenu>
                      <DIV class=3Dbd>
                      <UL>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/102/dh-avenues.html">&nbsp;D=
H=20
                        Avenues&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/137/cyber-space.html">&nbsp;=
Cyber=20
                        Space&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/135/metrolife.html">&nbsp;Me=
trolife&nbsp;</A></LI></UL></DIV></DIV>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/124/thursday.html">&nbsp;Thu=
rsday&nbsp;</A>
                      <DIV class=3Dyuimenu>
                      <DIV class=3Dbd>
                      <UL>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/138/metrolife.html">&nbsp;Me=
trolife&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/139/dh-education.html">&nbsp=
;DH=20
                        Education&nbsp;</A></LI></UL></DIV></DIV>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/125/friday.html">&nbsp;Frida=
y&nbsp;</A>
                      <DIV class=3Dyuimenu>
                      <DIV class=3Dbd>
                      <UL>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/143/open-sesame.html">&nbsp;=
Open=20
                        Sesame&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/142/dh-realty.html">&nbsp;DH=
=20
                        Realty&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/141/metrolife.html">&nbsp;Me=
trolife&nbsp;</A></LI></UL></DIV></DIV>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/126/saturday.html">&nbsp;Sat=
urday&nbsp;</A>
                      <DIV class=3Dyuimenu>
                      <DIV class=3Dbd>
                      <UL>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/146/she.html">&nbsp;She&nbsp=
;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/145/living.html">&nbsp;Livin=
g&nbsp;</A>
                        <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                        style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                        =
href=3D"http://www.deccanherald.com/contents/144/metrolife.html">&nbsp;Me=
trolife&nbsp;</A></LI></UL></DIV></DIV></LI></UL></DIV></DIV>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/contents/161/entertainment.html">&nbs=
p;Entertainment&nbsp;</A>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/contents/118/opinion.html">&nbsp;Opin=
ion&nbsp;</A>
                    <DIV class=3Dyuimenu>
                    <DIV class=3Dbd>
                    <UL>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/215/in-perspective.html">&nb=
sp;In=20
                      Perspective&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/216/right-middle.html">&nbsp=
;Right=20
                      in the Middle&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/content/63078/todays-letters.html">&n=
bsp;Net=20
                      mail&nbsp;</A></LI></UL></DIV></DIV>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/contents/206/columns.html">&nbsp;Colu=
mns&nbsp;</A>
                    <DIV class=3Dyuimenu>
                    <DIV class=3Dbd>
                    <UL>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/226/rajdeep-sardesai.html">&=
nbsp;Rajdeep=20
                      Sardesai&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/223/m-j-akbar.html">&nbsp;M =

                      J Akbar&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/220/khushwant-singh.html">&n=
bsp;Khushwant=20
                      Singh&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/213/kuldip-nayar.html">&nbsp=
;Kuldip=20
                      Nayar&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/207/oasis.html">&nbsp;Oasis&=
nbsp;</A></LI></UL></DIV></DIV>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/contents/119/analysis.html">&nbsp;Ana=
lysis&nbsp;</A>
                    <DIV class=3Dyuimenu>
                    <DIV class=3Dbd>
                    <UL>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/211/panorama.html">&nbsp;Pan=
orama&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/187/special-features.html">&=
nbsp;Special=20
                      Features&nbsp;</A>
                      <LI class=3Dyuimenuitem><A =
class=3Dyuimenuitemlabel=20
                      style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                      =
href=3D"http://www.deccanherald.com/contents/188/sunday-spotlight.html">&=
nbsp;Sunday=20
                      Spotlight&nbsp;</A></LI></UL></DIV></DIV>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"mailto:dhfeedback@deccanherald.co.in">&nbsp;Feedback&nbsp;</A>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.deccanherald.com/archives.php">&nbsp;Archives&nbsp;</A=
>
                    <LI class=3Dyuimenuitem><A class=3Dyuimenuitemlabel=20
                    style=3D"FONT-WEIGHT: bold; CURSOR: pointer; =
TEXT-DECORATION: none"=20
                    =
href=3D"http://www.careeravenues.in/JobSeeker/JSRegistration.aspx"=20
                    =
target=3D_blank>&nbsp;Jobs&nbsp;</A></LI></UL></DIV></DIV>
                  <DIV></DIV>
                  <DIV></DIV></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD style=3D"BACKGROUND-COLOR: #830908" height=3D20>
            <TABLE height=3D20 cellSpacing=3D0 cellPadding=3D0 =
border=3D0>
              <TBODY>
              <TR>
                <TD width=3D"10%">
                  <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D135 =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DBreakingNews_text=20
                      style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 8px; =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                      noWrap width=3D105>Breaking News</TD>
                      <TD=20
                      style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/white_Title_arrow_bg.gif) =
repeat-x left center"=20
                      width=3D15></TD>
                      <TD=20
                      style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/white_Title_arrow.gif) no-repeat =
left center"=20
                      width=3D5></TD></TR></TBODY></TABLE></TD>
                <TD class=3Dblue_bar=20
                style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 5px"=20
                vAlign=3Dcenter align=3Dleft width=3D"90%">
                  <MARQUEE onmouseover=3Dthis.stop()=20
                  style=3D"PADDING-RIGHT: 20px; PADDING-LEFT: 20px"=20
                  onmouseout=3Dthis.start() scrollAmount=3D3><FONT=20
                  color=3D#ffffff><B>Fire on 5th floor of Gold Tower =
building on=20
                  Residency Road in=20
                  Bangalore</B></FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT=20
                  color=3D#ffffff><B>No casualties=20
                  =
reported</B></FONT>&nbsp;&nbsp;&nbsp;&nbsp;</MARQUEE></TD></TR></TBODY></=
TABLE></TD></TR>
        <TR>
          <TD=20
          style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/line.jpg) repeat-x center 50%; =
HEIGHT: 5px"></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD class=3DPageContent=20
    style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; =
PADDING-TOP: 8px"=20
    vAlign=3Dtop align=3Dmiddle>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
align=3Dcenter border=3D0><!--
                    <tr><td></td></tr>
                    <tr><td></td></tr>
--><!--
					--><!--
										-->
        <TBODY>
        <TR>
          <TD vAlign=3Dtop><!-- Content Goes Here-->
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
              <TBODY>
              <TR>
                <TD vAlign=3Dtop>
                  <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DBreadCrumbClient colSpan=3D2>You are =
here:=20
                        <SPAN><A =
href=3D"http://www.deccanherald.com/">Home</A> =BB=20
                        <A=20
                        =
href=3D"http://www.deccanherald.com/contents/168/business.html">Business<=
/A>=20
                        =BB Class action suit to form part of Companies=20
                      Bill</SPAN></TD></TR>
                    <TR>
                      <TD colSpan=3D2>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
border=3D0>
                          <TBODY>
                          <TR>
                            <TD=20
                            style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) repeat-x left =
center"=20
                            width=3D"95%">&nbsp;</TD>
                            <TD=20
                            style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) no-repeat left =
center"=20
                            =
width=3D"5%"></TD></TR></TBODY></TABLE></TD></TR>
                    <TR>
                      <TD style=3D"PADDING-RIGHT: 4px" vAlign=3Dtop>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%" border=3D0=20
                        valign=3D"top">
                          <TBODY>
                          <TR>
                            <TD vAlign=3Dtop>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                              border=3D0 valign=3D"top">
                                <TBODY>
                                <TR>
                                <TD class=3DStrapTitle =
vAlign=3Dbottom>The move is=20
                                believed to help the end users, both in =
terms of=20
                                cost and time</TD></TR><!--
																			<tr><td>New Delhi, Press Trust of =
India:<br/><br/></td></tr>
									-->
                                <TR>
                                <TD class=3DPageTitle>Class action suit =
to form=20
                                part of Companies Bill</TD></TR>
                                <TR>
                                <TD>New Delhi, Press Trust of =
India:</TD></TR><!--
																		<tr>
										<td colspan=3D"2" class=3D"overviewfont">Sunday, July 26, =
2009</td>
									</tr>
									--><!-- =
~~|ByLine|ArticleContentFont|height=3D"5px"|byline|520|10| ~~-->
                                <TR>
                                <TD class=3DSummaryStyle =
colSpan=3D2><BR><I>With=20
                                lessons from the Satyam fraud case, the=20
                                government is planning to include the =
concept of=20
                                class action suit in new Companies Bill, =
likely=20
                                to be introduced in the current session =
of=20
                                Parliament, to help investors claim =
damages from=20
                                fraudulent companies.</I> </TD></TR>
                                <TR height=3D1>
                                <TD><BR></TD></TR>
                                <TR>
                                <TD class=3Doverviewfont =
colSpan=3D2><IMG height=3D127=20
                                alt=3D"Salman Khurshid"=20
                                =
src=3D"http://www.deccanherald.com/images/editor_images/salman-khursheed.=
jpg"=20
                                width=3D130 align=3Dright>=93We are =
planning to=20
                                include class action suit in the new =
Companies=20
                                Bill, 2008. This will help retail =
investors and=20
                                small investors in fighting for their =
rights,=94=20
                                Corporate Affairs Minister Salman =
Khurshid told=20
                                PTI.<BR><BR>He said small investors, who =
at=20
                                present are not able, unlike in the US, =
to get=20
                                compensation in cases of fraud due to =
the=20
                                absence of any such law, will be able to =
fight=20
                                for justice with class action suits. =
Class=20
                                action suit is one brought by one party =
on=20
                                behalf of a group of individuals to file =
for=20
                                claims against erring companies in a =
court of=20
                                law.<BR><BR>Recently, Midas Touch =
Investor=20
                                Association, an NGO, had filed a =
petition with=20
                                the National Consumer Disputes Redressal =

                                Commission seeking compensation on =
behalf of=20
                                Satyam investors. It alleged that they =
were=20
                                deceived by misleading statements of the =
IT firm=20
                                and duped into buying its shares at a=20
                                manipulated price.<BR><BR>Midas claimed =
damages=20
                                of Rs 4,987 crore from Satyam, the Raju=20
                                brothers, Price Waterhouse and =
independent=20
                                directors. Khurshid said with the =
introduction=20
                                of the concept of class action suits, =
the=20
                                problem of addressing such complaints on =
behalf=20
                                of small investors would be solved. =
Institute of=20
                                Company Secretaries CEO &amp; Secretary =
N K Jain=20
                                said: =93it will be advantageous for the =
end users=20
                                in terms of cost and =
time.=94<BR><BR>Earlier this=20
                                year, Raju confessed to manipulating the =
books=20
                                of accounts of Satyam for several years, =

                                following which US-based law firms, on =
behalf of=20
                                Satyam=92s ADR holders and securities =
and=20
                                anti-trust firms, filed class action =
suits=20
                                against the IT firm in=20
                                America.<BR><BR><STRONG>Slew of=20
                                suits<BR><BR></STRONG>There are 12 class =
action=20
                                suits pending in US courts for which the =

                                company, rechristened Mahindra Satyam =
after Tech=20
                                Mahindra took it over, has appointed =
Wachtell,=20
                                Lipton, Rosen &amp; Katz as =
lawyers.<BR><BR>The=20
                                idea of class action suit originated in =
the=20
                                United States and it is often filed when =
an=20
                                organisation on behalf of shareholders =
launches=20
                                a lawsuit, mainly because it would be =
too=20
                                expensive for each individual =
shareholder to=20
                                launch her/his own law suit and claim =
damages.=20
                                In the US, class action has become a =
tool for=20
                                social and economic reform and is also =
used to=20
                                promote consumer protection. It is =
frequently=20
                                used in antitrust cases and to combat =
consumer=20
                                fraud, price fixing, and other =
commercial abuses=20
                                in the US. <BR><BR>The new Companies =
Bill was=20
                                introduced in the lower house but lapsed =
after=20
                                the 14th Lok Sabha was dissolved. =
</TD></TR>
                                <TR></TR>
                                <TR>
                                <TD vAlign=3Dtop align=3Dmiddle=20
                                width=3D"100%"></TD></TR>
                                <TR>
                                <TD class=3Dgotop align=3Dright><A =
class=3Dgototop=20
                                style=3D"PADDING-RIGHT: 25px"=20
                                =
href=3D"http://www.deccanherald.com/content/16049/class-action-suit-form-=
part.html#top">Go=20
                                to Top</A> </TD></TR>
                                <TR>
                                <TD height=3D5></TD></TR>
                                <TR style=3D"LINE-HEIGHT: 6px; HEIGHT: =
6px">
                                <TD=20
                                style=3D"PADDING-RIGHT: 0px; =
PADDING-LEFT: 0px; BACKGROUND: =
url(http://www.deccanherald.com/images/dotted.jpg) repeat-x left top; =
PADDING-BOTTOM: 0px; LINE-HEIGHT: 6px; PADDING-TOP: 6px"></TD></TR>
                                <TR>
                                <TD style=3D"PADDING-TOP: 5px" =
align=3Dmiddle><SPAN>
                                <SCRIPT language=3DJavaScript=20
type=3Dtext/javascript><!--=0A=
/* openads=3Dhttp://www.deccanherald.com/Openads bannerid=3D421 =
zoneid=3D0 source=3D */=0A=
if (typeof phpAds_adg =3D=3D 'undefined') {=0A=
	document.write('<scr'+'ipt language=3D"JavaScript" =
type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/Openads/adg.js"></scr'+'ipt>');=0A=
}=0A=
//--></SCRIPT>

                                <SCRIPT type=3Dtext/javascript><!--
google_ad_client =3D "pub-6098511427863223";
google_ad_width =3D 468;
google_ad_height =3D 60;
google_ad_format =3D "468x60_as";
google_ad_type =3D "text_image";
google_ad_channel =3D"2353409498";
//--></SCRIPT>

                                <SCRIPT=20
                                =
src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js"=20
                                type=3Dtext/javascript>
</SCRIPT>
                                </SPAN>
                                <DIV id=3Dbeacon_421=20
                                style=3D"LEFT: 0px; VISIBILITY: hidden; =
POSITION: absolute; TOP: 0px"><IMG=20
                                style=3D"WIDTH: 0px; HEIGHT: 0px" =
height=3D0 alt=3D""=20
                                =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D421&amp;c=
lientid=3D16&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3Dbc32ef43371545f745523f1e54efb313"=20
                                width=3D0></DIV></TD></TR>
                                <TR>
                                <TD style=3D"PADDING-TOP: 5px"=20
                                align=3Dmiddle><IFRAME marginWidth=3D0=20
                                marginHeight=3D0 src=3D"about:blank" =
frameBorder=3D0=20
                                width=3D468 scrolling=3Dno=20
                                height=3D60> <ilayer =
src=3D"http://www.s2d6.com/x/?x=3Di&amp;z=3Di&amp;v=3D2723006&amp;r=3D[RA=
NDOM]&amp;k=3D[NETWORKID]" z-index=3D"0" width=3D"468" height=3D"60"> <a =
target=3D'_blank' =
href=3D"http://www.deccanherald.com/Openads/adclick.php?bannerid=3D434&am=
p;zoneid=3D0&amp;source=3D&amp;dest=3Dhttp%3A%2F%2Fwww.s2d6.com%2Fx%2F%3F=
x%3Dc%26z%3Ds%26v%3D2723006%26r%3D%5BRANDOM%5D%26k%3D%5BNETWORKID%5D&amp;=
ismap=3D" > <img =
src=3D"http://www.s2d6.com/x/?x=3Di&amp;z=3Ds&amp;v=3D2723006&amp;r=3D[RA=
NDOM]&amp;k=3D[NETWORKID]" border=3D"0" alt=3D"click here" /> </a> =
</ilayer> </IFRAME>
                                <DIV id=3Dbeacon_434=20
                                style=3D"LEFT: 0px; VISIBILITY: hidden; =
POSITION: absolute; TOP: 0px"><IMG=20
                                style=3D"WIDTH: 0px; HEIGHT: 0px" =
height=3D0 alt=3D""=20
                                =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D434&amp;c=
lientid=3D18&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3Dde1c24d620abae796cc7b9b7737c157b"=20
                                width=3D0></DIV></TD></TR>
                                <TR>
                                <TD style=3D"PADDING-TOP: 5px"=20
                                align=3Dmiddle></TD></TR>
                                <TR>
                                <TD width=3D510 background=3D"" =
height=3D1></TD></TR>
                                <TR>
                                <TD =
height=3D5></TD></TR></TBODY></TABLE></TD></TR>
                          <TR>
                            <TD><BR></TD></TR>
                          <TR>
                            <TD style=3D"PADDING-TOP: 10px"><!-- =
Comments Start -->
                              <TABLE class=3Dcomment_content =
cellSpacing=3D0=20
                              cellPadding=3D0 width=3D"100%" border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3DRightMenuBar align=3Dleft=20
                                height=3D25><FONT =
class=3DRightTextTitle>&nbsp;User=20
                                Comments</FONT></TD></TR>
                                <TR>
                                <TD vAlign=3Dtop>
                                <TABLE cellSpacing=3D0 cellPadding=3D5 =
width=3D"100%"=20
                                border=3D0>
                                <TBODY>
                                <TR align=3Dleft>
                                <TD vAlign=3Dtop align=3Dleft>[ <A =
class=3Dsmalllink=20
                                =
onclick=3D"javascript:showCommentsForm(16049,0, =
'CommentForm_16049_0',0,1,1,'/content/16049/class-action-suit-form-part.h=
tml');"=20
                                href=3D"javascript://">Post Comments</A> =
] <INPUT=20
                                id=3DpreDiv type=3Dhidden> </TD>
                                <TD class=3Dred align=3Dright><FONT=20
                                =
class=3Dvhead>&nbsp;</FONT></TD></TR></TBODY></TABLE>
                                <DIV id=3DCommentForm_16049_0=20
                                style=3D"MARGIN-LEFT: 20px"></DIV>
                                <DIV id=3DDisplayAllComments><INPUT =
id=3DprePage=20
                                type=3Dhidden value=3DComment1>
                                <DIV id=3DComment1 =
style=3D"PADDING-BOTTOM: 10px">
                                <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                                border=3D0>
                                <TBODY>
                                <TR>
                                <TD>
                                <TR>
                                <TD colSpan=3D2><A =
id=3Dcomment-6693></A></TD></TR>
                                <TR>
                                <TD colSpan=3D2>
                                <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                                border=3D0>
                                <TBODY>
                                <TR>
                                <TD width=3D15><IMG height=3D1 alt=3D" " =

                                =
src=3D"http://www.deccanherald.com/content/16049/images/blank.gif"=20
                                width=3D15> </TD>
                                <TD>
                                <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                                border=3D0>
                                <TBODY>
                                <TR bgColor=3D#ffffff>
                                <TD wrap=3D""><FONT=20
                                class=3Dtitle>By:&nbsp;</FONT><FONT=20
                                class=3Dmytext>T. Varadaraj</FONT> =
<BR><FONT=20
                                class=3Dtitle>On:&nbsp;</FONT><FONT=20
                                class=3Dmytext>26 Jul 2009 10:19 =
pm</FONT> <BR>
                                <P class=3Dmytext>How about class action =
suits=20
                                against government for services not =
rendered for=20
                                the taxes collected? I see all pot-holed =

                                streets, chaotic unpoliced roads, =
garbage not=20
                                collected and the like and wonder where =
all my=20
                                taxes have gone. This is a Satyam like =
scam that=20
                                goes on every day. </P>
                                <P><A class=3DcmntLink=20
                                =
onclick=3D"javascript:showCommentsForm(16049,6693,'CommentForm_16049_6693=
',1,1,15,'/comments.php')"=20
                                =
href=3D"javascript://">Reply</A>&nbsp;|&nbsp; <A=20
                                class=3DcmntLink=20
                                onclick=3D"showReportAbuse(16049, 6693, =
'CommentForm_16049_6693',15)"=20
                                href=3D"javascript://">Report abuse</A>=20
                                =
</P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
                                <TR>
                                <TD colSpan=3D2>
                                <DIV id=3DCommentForm_16049_6693=20
                                style=3D"DISPLAY: none"></DIV></TD></TR>
                                <TR>
                                <TD colSpan=3D2>
                                <HR>
                                </HR></TD></TR></TBODY></TABLE>
                                <TABLE width=3D"100%" border=3D0>
                                <TBODY>
                                <TR align=3Dleft>
                                <TD vAlign=3Dtop align=3Dleft>[ <A =
class=3Dsmalllink=20
                                =
onclick=3D"javascript:showCommentsForm(16049,0, =
'CommentForm_16049_0',0,1,1,'/comments.php');"=20
                                href=3D"javascript://">Post Comments</A> =
] <INPUT=20
                                id=3DpreDiv type=3Dhidden> </TD>
                                <TD=20
                                =
align=3Dright></TD></TR></TBODY></TABLE></DIV></DIV></TD></TR></TBODY></T=
ABLE><!-- Comments End --></TD></TR></TBODY></TABLE></TD>
                      <TD vAlign=3Dtop>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
border=3D0>
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD style=3D"PADDING-TOP: 10px" =
align=3Dleft><A=20
                                =
href=3D"http://www.deccanherald.com/tell_a_friend.php?id=3D16049"><IMG=20
                                =
src=3D"http://www.deccanherald.com/images/mail.gif"=20
                                align=3Dleft border=3D0></A> </TD></TR>
                                <TR style=3D"LINE-HEIGHT: 6px; HEIGHT: =
6px">
                                <TD=20
                                style=3D"PADDING-RIGHT: 0px; =
PADDING-LEFT: 0px; BACKGROUND: =
url(http://www.deccanherald.com/images/dotted.jpg) repeat-x left bottom; =
PADDING-BOTTOM: 0px; LINE-HEIGHT: 6px; PADDING-TOP: 6px"></TD></TR>
                                <TR>
                                <TD style=3D"PADDING-TOP: 10px" =
align=3Dleft><IMG=20
                                style=3D"CURSOR: pointer"=20
                                onclick=3Djavascript:window.print();=20
                                =
src=3D"http://www.deccanherald.com/images/print.gif"=20
                                align=3Dleft border=3D0> </TD></TR>
                                <TR style=3D"LINE-HEIGHT: 6px; HEIGHT: =
6px">
                                <TD=20
                                style=3D"PADDING-RIGHT: 0px; =
PADDING-LEFT: 0px; BACKGROUND: =
url(http://www.deccanherald.com/images/dotted.jpg) repeat-x left top; =
PADDING-BOTTOM: 0px; LINE-HEIGHT: 6px; PADDING-TOP: 6px"></TD></TR>
                                <TR>
                                <TD style=3D"PADDING-TOP: 10px" =
align=3Dleft><A=20
                                =
href=3D"javascript:addToFavorites()"><IMG=20
                                =
src=3D"http://www.deccanherald.com/images/bookmark.gif"=20
                                align=3Dleft border=3D0></A> </TD></TR>
                                <TR style=3D"LINE-HEIGHT: 6px; HEIGHT: =
6px">
                                <TD=20
                                style=3D"PADDING-RIGHT: 0px; =
PADDING-LEFT: 0px; BACKGROUND: =
url(http://www.deccanherald.com/images/dotted.jpg) repeat-x left top; =
PADDING-BOTTOM: 0px; LINE-HEIGHT: 6px; PADDING-TOP: =
6px"></TD></TR></TBODY></TABLE></TD></TR>
                          <TR>
                            <TD><!-- Javascript tag: --><!-- begin ZEDO =
for channel: www.deccanherald.com , publisher: deccanherald.com , Ad =
Dimension: Skyscraper - 120 x 600 -->
                              <SCRIPT language=3DJavaScript>
var zflag_nid=3D"1217"; var zflag_cid=3D"99"; var zflag_sid=3D"27"; var =
zflag_width=3D"120"; var zflag_height=3D"600"; var zflag_sz=3D"8";
</SCRIPT>

                              <SCRIPT language=3DJavaScript=20
                              =
src=3D"http://d2.zedo.com/jsc/d2/fo.js"></SCRIPT>

                              <DIV id=3Dbeacon_255=20
                              style=3D"LEFT: 0px; VISIBILITY: hidden; =
POSITION: absolute; TOP: 0px"><IMG=20
                              style=3D"WIDTH: 0px; HEIGHT: 0px" =
height=3D0 alt=3D""=20
                              =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D255&amp;c=
lientid=3D59&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D6b1ffe5d45bade1f888f28ca1ac04d6d"=20
                              width=3D0></DIV><BR><IFRAME name=3D""=20
                              =
src=3D"http://d13.zedo.com/OzoDB/cutils/R48/jsc/1185/zpu.html?f=3D;z=3D2-=
110"=20
                              frameBorder=3D0 width=3D120 scrolling=3Dno =

                              height=3D700></IFRAME>
                              <DIV id=3Dbeacon_142=20
                              style=3D"LEFT: 0px; VISIBILITY: hidden; =
POSITION: absolute; TOP: 0px"><IMG=20
                              style=3D"WIDTH: 0px; HEIGHT: 0px" =
height=3D0 alt=3D""=20
                              =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D142&amp;c=
lientid=3D61&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D49d732cc669b3a2b30c10f52b90ef723"=20
                              =
width=3D0></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>=
<!--
	        <td valign=3D"top">
	        		        </td>
--></TR></TBODY></TABLE><!-- End of Content--></TD>
          <TD vAlign=3Dtop align=3Dmiddle width=3D310>
            <SCRIPT language=3DJavaScript=20
            =
src=3D"http://174.133.94.26/Openads/adpopup.php?n=3Da2fceaf4&amp;clientid=
=3D71"=20
            type=3Dtext/javascript></SCRIPT>

            <SCRIPT language=3DJavaScript type=3Dtext/javascript>
function showCricket(){
		window.open('http://www.deccanherald.com//cricket.php', 'scorecard', =
'toolbar=3Dno,location=3Dno,directories=3Dno,status=3Dyes,menubar=3Dno,sc=
rollbars=3Dno,status=3Dno,resizable=3Dno,copyhistory=3Dno,width=3D400,hei=
ght=3D300'); return false;
}
</SCRIPT>

            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D170 =
border=3D0><!--<tr>
		<td class=3D"UpdateText" nowrap style=3D"border-left:0px;" =
align=3D"center">News updated at <br>4:04 PM IST</td>
	</tr>-->
              <TBODY>
              <TR>
                <TD style=3D"PADDING-BOTTOM: 5px">&nbsp;</TD></TR>
              <TR>
                <TD>
                  <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD colSpan=3D2>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
border=3D0>
                          <TBODY>
                          <TR>
                            <TD class=3Dmarron_text noWrap =
width=3D95>Related=20
                            News</TD>
                            <TD=20
                            style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) repeat-x left =
center"=20
                            width=3D200></TD>
                            <TD=20
                            style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) no-repeat left =
center"=20
                            =
width=3D10></TD></TR></TBODY></TABLE></TD></TR>
                    <TR>
                      <TD align=3Dright width=3D"5%"><IMG=20
                        =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></TD>
                      <TD style=3D"PADDING-LEFT: 10px" width=3D"95%"><A=20
                        class=3Drelatednews_link=20
                        =
href=3D"http://www.deccanherald.com/content/51224/satyam-probe-almost-com=
plete-khurshid.html">Satyam=20
                        probe almost complete: Khurshid</A></TD></TR>
                    <TR>
                      <TD align=3Dright width=3D"5%"><IMG=20
                        =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></TD>
                      <TD style=3D"PADDING-LEFT: 10px" width=3D"95%"><A=20
                        class=3Drelatednews_link=20
                        =
href=3D"http://www.deccanherald.com/content/50717/sc-grants-bail-pricewat=
er-auditor.html">SC=20
                        grants bail to PriceWater auditor in Satyam=20
                    case</A></TD></TR>
                    <TR>
                      <TD align=3Dright width=3D"5%"><IMG=20
                        =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></TD>
                      <TD style=3D"PADDING-LEFT: 10px" width=3D"95%"><A=20
                        class=3Drelatednews_link=20
                        =
href=3D"http://www.deccanherald.com/content/28355/sfio-gain-more-teeth-th=
rough.html">SFIO=20
                        to gain more teeth through new Companies =
Bill</A></TD></TR>
                    <TR>
                      <TD align=3Dright width=3D"5%"><IMG=20
                        =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></TD>
                      <TD style=3D"PADDING-LEFT: 10px" width=3D"95%"><A=20
                        class=3Drelatednews_link=20
                        =
href=3D"http://www.deccanherald.com/content/17577/govt-re-introduces-comp=
anies-bill.html">Govt=20
                        re-introduces Companies Bill</A></TD></TR>
                    <TR>
                      <TD align=3Dright width=3D"5%"><IMG=20
                        =
src=3D"http://www.deccanherald.com//images/submenu_arrow.jpg"></TD>
                      <TD style=3D"PADDING-LEFT: 10px" width=3D"95%"><A=20
                        class=3Drelatednews_link=20
                        =
href=3D"http://www.deccanherald.com/content/17634/companies-bill-mulls-st=
rict-steps.html">New=20
                        Companies Bill mulls strict steps to stem=20
                    frauds</A></TD></TR></TBODY></TABLE></TD></TR>
              <TR>
                <TD style=3D"PADDING-TOP: 2px"><!--
<table class=3D"boxright_bg" cellpadding=3D"0" border=3D"0" =
cellspacing=3D"0" border=3D"0" width=3D"100%">
	<tr>
			<td class=3D"RightMenuBar">
				<table border=3D"0" width=3D"100%" cellpadding=3D"0" =
cellspacing=3D"0" >
					<tr>
						<td class=3D"RightTextTitle">Videos</td>
						<td align=3D"right"><img =
src=3D"http://www.deccanherald.com/images/headingicon_image.jpg" =
style=3D"margin-right:5px;"></td>
					</tr>
				</table>
			</td>
		</tr>



						<tr>
				<td align=3D"center" class=3D"text_boxcontent" style=3D"padding:5px =
5px 10px 10px">  <a =
href=3D"/videos/watch/1333/two-army-men-arrested-over.html" =
class=3D"vhead" align=3D"center">
				<img src=3D"/videos/images//thumb/2010/04/10/1270894727_front.jpg" =
alt=3D"Two Army men arrested over Pune girl rape" border=3D"0" =
class=3D"numbox"  /></a></td>
			</tr>

			</table>
-->
                  <TABLE class=3Dboxright_bg cellSpacing=3D0 =
cellPadding=3D0=20
                  width=3D"100%" border=3D0>
                    <TBODY>
                    <TR>
                      <TD>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
border=3D0>
                          <TBODY>
                          <TR>
                            <TD class=3Dmarron_text noWrap =
width=3D39>Videos</TD>
                            <TD=20
                            style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) repeat-x left =
center"=20
                            width=3D244></TD>
                            <TD=20
                            style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) no-repeat left =
center"=20
                            =
width=3D5></TD></TR></TBODY></TABLE></TD></TR>
                    <TR>
                      <TD class=3Dtext_boxcontent=20
                      style=3D"PADDING-RIGHT: 5px; PADDING-LEFT: 5px; =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                      align=3Dmiddle><A class=3Dvhead=20
                        =
href=3D"http://www.deccanherald.com//videos/watch/1333/two-army-men-arres=
ted-over.html"=20
                        align=3D"center"><IMG class=3Dnumbox=20
                        alt=3D"Two Army men arrested over Pune girl =
rape"=20
                        =
src=3D"http://www.deccanherald.com/videos/images//thumb/2010/04/10/127089=
4727_front.jpg"=20
                        border=3D0></A></TD></TR>
                    <TR>
                      <TD align=3Dmiddle><A class=3Dvhead =
style=3D"FONT-SIZE: 13px"=20
                        =
href=3D"http://www.deccanherald.com//videos/watch/1333/two-army-men-arres=
ted-over.html"=20
                        align=3D"center">Two Army men arrested over Pune =
girl=20
                        rape</A></TD></TR>
                    <TR>
                      <TD>&nbsp;</TD></TR>
                    <TR>
                      <TD>Submit your Videos along with brief captions: =
To the=20
                        <A=20
                        =
href=3D"mailto:dhinternet@deccanherald.co.in">Webmaster.</A></TD></TR>
                    <TR>
                      <TD>&nbsp;</TD></TR></TBODY></TABLE></TD></TR>
              <TR>
                <TD align=3Dmiddle><!--IFRAME Tag // Tag for network =
875: iAvatarZ // Website: Deccanherald // Page: Home Page // Placement: =
300x250 (2308094) // created at: Feb 9, 2010 9:10:37 AM   --><IFRAME=20
                  marginWidth=3D0 marginHeight=3D0=20
                  =
src=3D"http://googleads.g.doubleclick.net/pagead/ads?client=3Dca-pub-6098=
511427863223&amp;format=3D468x60_as&amp;output=3Dhtml&amp;h=3D60&amp;w=3D=
468&amp;lmt=3D1271069861&amp;channel=3D2353409498&amp;ad_type=3Dtext_imag=
e&amp;flash=3D10.0.32.18&amp;url=3Dhttp%3A%2F%2Fwww.deccanherald.com%2Fco=
ntent%2F16049%2Fclass-action-suit-form-part.html&amp;dt=3D1271069861727&a=
mp;shv=3Dr20100331&amp;correlator=3D1271069861774&amp;frm=3D0&amp;ga_vid=3D=
1285291295.1271069862&amp;ga_sid=3D1271069862&amp;ga_hid=3D1231405359&amp=
;ga_fc=3D0&amp;u_tz=3D330&amp;u_his=3D0&amp;u_java=3D1&amp;u_h=3D768&amp;=
u_w=3D1024&amp;u_ah=3D738&amp;u_aw=3D1024&amp;u_cd=3D32&amp;u_nplug=3D0&a=
mp;u_nmime=3D0&amp;biw=3D796&amp;bih=3D452&amp;ref=3Dhttp%3A%2F%2Frs%2Fmt=
ia%2FRel4%2Fhomepage%2Fcontent_1.htm&amp;fu=3D0&amp;ifi=3D1&amp;dtd=3D94&=
amp;xpc=3DBqq3uJTFQa&amp;p=3Dhttp%3A//www.deccanherald.com"=20
                  frameBorder=3D0 width=3D300 scrolling=3Dno=20
                  height=3D250><script language=3D"javascript" =
src=3D"http://adserver.adtech.de/addyn/3.0/875/2308094/0/170/ADTECH;loc=3D=
700;target=3D_blank;grp=3D[group]"></script><noscript><a =
target=3D'_blank' =
href=3D"http://www.deccanherald.com/Openads/adclick.php?bannerid=3D297&am=
p;zoneid=3D0&amp;source=3D&amp;dest=3Dhttp%3A%2F%2Fadserver.adtech.de%2Fa=
dlink%2F3.0%2F875%2F2308094%2F0%2F170%2FADTECH%3Bloc%3D300%3Bgrp%3D%5Bgro=
up%5D&amp;ismap=3D" ><img =
src=3D"http://adserver.adtech.de/adserv/3.0/875/2308094/0/170/ADTECH;loc=3D=
300;grp=3D[group]" border=3D"0" width=3D"300" =
height=3D"250"></a></noscript></IFRAME><!-- End of IFRAME Tag -->
                  <DIV id=3Dbeacon_297=20
                  style=3D"LEFT: 0px; VISIBILITY: hidden; POSITION: =
absolute; TOP: 0px"><IMG=20
                  style=3D"WIDTH: 0px; HEIGHT: 0px" height=3D0 alt=3D""=20
                  =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D297&amp;c=
lientid=3D51&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D9b3d993e0cc69f28edc5e4d3d49dd906"=20
                  width=3D0></DIV></TD></TR>
              <TR>
                <TD style=3D"PADDING-TOP: 2px">
                  <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD vAlign=3Dtop width=3D170><!--
<table class=3D"boxright_bg" cellpadding=3D"0" border=3D"0" =
cellspacing=3D"0" border=3D"0"  width=3D"100%">
	<tr>
			<td class=3D"RightMenuBar">
				<table border=3D"0" width=3D"100%" cellpadding=3D"0" =
cellspacing=3D"0" >
					<tr>
						<td class=3D"RightTextTitle">Photos</td>
						<td align=3D"right"><img =
src=3D"http://www.deccanherald.com/images/headingicon_image.jpg" =
style=3D"margin-right:5px;"></td>
					</tr>
				</table>
			</td>
		</tr>

				<tr>
		<td style=3D"padding:7px 3px 0px 7px" class=3D"text_boxcontent" =
align=3D"center"><a href=3D"/photo.php?id=3D3924"><img =
src=3D"http://www.deccanherald.com/photos/small/spinning_win_201004102056=
31.jpg" width=3D"130px" height=3D"120px"></a></td>
		</tr>
		<tr>
		<TD style=3D"padding-left:10px;padding-bottom:5px;" =
class=3D"text_boxcontent">Anil Kumble has done a wonderful job for&nbsp; =
Royal Challengers Bangalore</TD>
		</tr>
				<tr>
	<td style=3D"padding-left:10px;" class=3D"text_boxcontent">
	<img src=3D"http://www.deccanherald.com/images/Photogallery_icon.jpg" =
align=3D"left">
	<a href=3D"http://www.deccanherald.com/photo.php?id=3D3936" =
class=3D"text_boxlink">Horseshoe</a>
	</td>
	</tr>
	<tr><TD class=3D"text_boxcontent"></TD></tr>
		</table>
-->
                        <TABLE class=3Dboxright_bg cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"100%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3Dmarron_text noWrap =
width=3D90>Photo=20
                                Gallery</TD>
                                <TD=20
                                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) repeat-x left =
center"=20
                                width=3D120></TD>
                                <TD=20
                                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) no-repeat left =
center"=20
                                =
width=3D20></TD></TR></TBODY></TABLE></TD></TR>
                          <TR>
                            <TD=20
                              style=3D"FONT-SIZE: 11px; TEXT-ALIGN: =
center">spinning=20
                              win</TD></TR>
                          <TR>
                            <TD class=3Dtext_boxcontent=20
                            style=3D"PADDING-RIGHT: 5px; PADDING-LEFT: =
5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                            align=3Dmiddle><A=20
                              =
href=3D"http://www.deccanherald.com/photo.php?id=3D3924"><!--
		<img alt=3D"spinning win" title=3D"spinning win" id=3D"3924" =
onload=3D"resize(3924,145)" =
src=3D"http://www.deccanherald.com/photos/small/spinning_win_201004102056=
31.jpg"></a>
--><IMG id=3D3924 title=3D"spinning win"=20
                              alt=3D"spinning win"=20
                              =
src=3D"http://www.deccanherald.com/photos/home_small/spinning_win_2010041=
0205631.jpg"></A>=20
                            </TD></TR><!--<tr>
		<TD style=3D"padding-left:10px;padding-bottom:5px;" =
class=3D"text_boxcontent">Anil Kumble has done a wonderful job for&nbsp; =
Royal Challengers Bangalore</TD>
		</tr>-->
                          <TR>
                            <TD=20
                              style=3D"FONT-SIZE: 11px; TEXT-ALIGN: =
center">Horseshoe</TD></TR>
                          <TR>
                            <TD class=3Dtext_boxcontent=20
                            style=3D"PADDING-RIGHT: 5px; PADDING-LEFT: =
5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                            align=3Dmiddle><A=20
                              =
href=3D"http://www.deccanherald.com/photo.php?id=3D3936"><!--
		<img alt=3D"Horseshoe" title=3D"Horseshoe" id=3D"3936" =
onload=3D"resize(3936,145)" =
src=3D"http://www.deccanherald.com/photos/small/Horseshoe_20100411172538.=
jpg"></a>
--><IMG id=3D3936 title=3DHorseshoe alt=3DHorseshoe=20
                              =
src=3D"http://www.deccanherald.com/photos/home_small/Horseshoe_2010041117=
2538.jpg"></A>=20
                            </TD></TR>
                          <TR>
                            <TD style=3D"FONT-SIZE: 11px; TEXT-ALIGN: =
right"><A=20
                              style=3D"FONT-SIZE: 11px"=20
                              =
href=3D"http://www.deccanherald.com/photo_gallery.php">View=20
                              more photos</A></TD></TR><!--<tr>
		<TD style=3D"padding-left:10px;padding-bottom:5px;" =
class=3D"text_boxcontent">Antelope Canyon at Page, Arizona, USA,&nbsp; =
is carved from the Navajo...</TD>
		</tr>--></TBODY></TABLE></TD>
                      <TD=20
                      style=3D"PADDING-RIGHT: 5px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 10px; PADDING-TOP: 0px"=20
                      vAlign=3Dtop align=3Dmiddle>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
border=3D0=20
valign=3D"top">
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D125=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3Dmarron_text noWrap=20
                                width=3D40>Cricket</TD>
                                <TD=20
                                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) repeat-x left =
center"=20
                                width=3D55></TD>
                                <TD=20
                                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) no-repeat left =
center"=20
                                =
width=3D5></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
                        <TABLE>
                          <TBODY>
                          <TR>
                            <TD><A onclick=3DshowCricket();=20
                              =
href=3D"http://www.deccanherald.com/content/16049/class-action-suit-form-=
part.html#"><IMG=20
                              =
src=3D"http://www.deccanherald.com//images/desksb2.jpg"></A></TD></TR></T=
BODY></TABLE>
                        <TABLE class=3Dboxright_bg=20
                        style=3D"BORDER-RIGHT: #0066cc 1px solid; =
BORDER-TOP: #0066cc 1px solid; BORDER-LEFT: #0066cc 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: #0066cc 1px solid"=20
                        cellSpacing=3D0 cellPadding=3D0 width=3D"60%" =
border=3D0><!--
							<tr>
								<td>
									<table width=3D"148px" border=3D"0" cellspacing=3D'0' =
cellpadding=3D'0'>
										<tr>
										<td nowrap class=3D"marron_text" width=3D"55px">Cricket</td>
										<td width=3D"85px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) =
repeat-x;background-position: left center;"></td>
										<td width=3D"5px" style=3D"background: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) =
no-repeat;background-position: left center;"></td>
										</tr>
									</table>
								</td>
							</tr>
--><!--
							<tr><td style=3D"padding:2px;" align=3D"top" =
valign=3D"center"><img =
src=3D"http://www.deccanherald.com//images/score.jpg"></td></tr>
-->
                          <TBODY>
                          <TR>
                            <TD style=3D"PADDING-LEFT: 0px" =
vAlign=3Dcenter=20
                            align=3Dtop><!-- Begin Cricbuzz Code -->
                              <SCRIPT type=3Dtext/javascript>
									   crbz_sc_client =3D "31719180dhp05";
									   crbz_scag_width =3D 120;
									   crbz_scag_height =3D 125;
									   crbz_scag_dtlpage =3D "../../cricket.php";
									   crbz_scag_dtllinknm =3D "SCORE CARD ";
									   </SCRIPT>

                              <SCRIPT=20
                              =
src=3D"http://www.cricbuzz.com/livescore/dh/lv_scag_ren.php"=20
                              type=3Dtext/javascript>
									   </SCRIPT>
<!-- End Cricbuzz Code --></TD></TR></TBODY></TABLE></TD></TR>
                    <TR>
                      <TD style=3D"PADDING-RIGHT: 5px; PADDING-LEFT: =
5px"=20
                      vAlign=3Dtop width=3D148>
                        <TABLE class=3Dboxright_bg cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"100%" border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D148>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3Dmarron_text noWrap =
width=3D85>Movie=20
                                Guide</TD>
                                <TD=20
                                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) repeat-x left =
center"=20
                                width=3D55></TD>
                                <TD=20
                                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) no-repeat left =
center"=20
                                =
width=3D5></TD></TR></TBODY></TABLE></TD></TR>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD=20
                                style=3D"PADDING-RIGHT: 1px; =
PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px"=20
                                align=3Dmiddle><A=20
                                =
href=3D"http://www.deccanherald.com/content/62858/movie-guide.html"><IMG =

                                title=3DParole alt=3DParole=20
                                =
src=3D"http://www.deccanherald.com/images/front_page_images/62858_thump.j=
pg"=20
                                border=3D0></A></TD></TR>
                                <TR>
                                <TD=20
                                style=3D"BORDER-BOTTOM: #5a79a5 thin =
solid">=91Parole=92=20
                                (Kannada) An action film with a murder =
mystery,=20
                                Parole is inspired by a real-life =
incident.=20
                                Directed by Rajshekhar and produced=20
                                =
by...</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
                      <TD vAlign=3Dtop width=3D"50%">
                        <TABLE class=3Dboxright_bg cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D148 border=3D0>
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D148=20
                              border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3Dmarron_text noWrap=20
                                width=3D75>Horoscope</TD>
                                <TD=20
                                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow_bg.jpg) repeat-x left =
center"=20
                                width=3D65></TD>
                                <TD=20
                                style=3D"BACKGROUND: =
url(http://www.deccanherald.com/images/Title_arrow.jpg) no-repeat left =
center"=20
                                =
width=3D5></TD></TR></TBODY></TABLE></TD></TR>
                          <TR>
                            <TD=20
                            style=3D"BORDER-RIGHT: #0066cc 1px solid; =
PADDING-RIGHT: 4px; BORDER-TOP: #0066cc 1px solid; PADDING-LEFT: 4px; =
PADDING-BOTTOM: 4px; BORDER-LEFT: #0066cc 1px solid; PADDING-TOP: 4px; =
BORDER-BOTTOM: #0066cc 1px solid">
                              <UL class=3DHoroscopeList=20
                              style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: =
20px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px">
                                <LI><A class=3DHoroscopeNewLinks=20
                                =
href=3D"http://www.deccanherald.com/horoscope.php?func=3DYearly">Year=20
                                2010</A>=20
                                <LI><A class=3DHoroscopeNewLinks=20
                                =
href=3D"http://www.deccanherald.com/horoscope.php?func=3DWeekly">Weekly</=
A>=20

                                <LI><A class=3DHoroscopeNewLinks=20
                                =
href=3D"http://www.deccanherald.com/horoscope.php?func=3DDaily">Daily=20
                                Astrospeak</A>=20
                                <LI><A class=3DHoroscopeNewLinks=20
                                =
href=3D"http://www.deccanherald.com/yearly_calender.php"=20
                                target=3D_blank>Calender 2010</A> =
</LI></UL></TD></TR>
                          <TR>
                            <TD style=3D"PADDING-TOP: 2px" =
align=3Dmiddle>
                              <SCRIPT language=3DJavaScript=20
                              =
src=3D"http://www.deccanherald.com/Openads/adx.js"=20
                              type=3Dtext/javascript></SCRIPT>

                              <SCRIPT language=3DJavaScript =
type=3Dtext/javascript>=0A=
<!--=0A=
var phpads_activex =3D "<object =
classid=3D'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' =
codebase=3D'http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.=
cab#version=3D8,0,0,0' width=3D'120' height=3D'65'><param name=3D'movie' =
value=3D'http://www.deccanherald.com/Openads/adimage.php?filename=3Dratec=
ard.swf&amp;contenttype=3Dswf'><param name=3D'quality' =
value=3D'high'><param name=3D'allowScriptAccess' value=3D'always'><embed =
src=3D'http://www.deccanherald.com/Openads/adimage.php?filename=3Dratecar=
d.swf&amp;contenttype=3Dswf' quality=3Dhigh width=3D'120' height=3D'65' =
type=3D'application/x-shockwave-flash' =
pluginspace=3D'http://www.adobe.com/go/getflashplayer' =
allowScriptAccess=3D'always'><"+"/embed><"+"/object>";=0A=
phpads_deliverActiveX(phpads_activex);=0A=
//-->=0A=
</SCRIPT>

                              <DIV id=3Dbeacon_256=20
                              style=3D"LEFT: 0px; VISIBILITY: hidden; =
POSITION: absolute; TOP: 0px"><IMG=20
                              style=3D"WIDTH: 0px; HEIGHT: 0px" =
height=3D0 alt=3D""=20
                              =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D256&amp;c=
lientid=3D63&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D03ba9feb4b7275d6ebb0f405496236ec"=20
                              width=3D0></DIV><!--
									<img src=3D"http://www.deccanherald.com/images/airtel.jpg">
--></TD></TR>
                          <TR>
                            <TD=20
                            style=3D"PADDING-RIGHT: 5px; PADDING-LEFT: =
5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                            width=3D170><A=20
                              =
href=3D"http://www.deccanherald.com/Openads/adclick.php?bannerid=3D432&am=
p;zoneid=3D0&amp;source=3D&amp;dest=3Dhttp%3A%2F%2Fwww.deccanherald.com%2=
Fevents%2FCompetetion.pdf"=20
                              target=3D_blank><IMG title=3D"" =
height=3D65 alt=3D""=20
                              =
src=3D"http://www.deccanherald.com/Openads/adimage.php?filename=3Dshcompe=
tition.gif&amp;contenttype=3Dgif"=20
                              width=3D120 border=3D0></A>
                              <DIV id=3Dbeacon_432=20
                              style=3D"LEFT: 0px; VISIBILITY: hidden; =
POSITION: absolute; TOP: 0px"><IMG=20
                              style=3D"WIDTH: 0px; HEIGHT: 0px" =
height=3D0 alt=3D""=20
                              =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D432&amp;c=
lientid=3D65&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&a=
mp;cb=3D85cb520a11ab9d6a39f2bd55b5ad69e6"=20
                              =
width=3D0></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>=
</TR>
              <TR>
                <TD align=3Dmiddle><SPAN>
                  <SCRIPT language=3DJavaScript =
type=3Dtext/javascript><!--=0A=
/* openads=3Dhttp://www.deccanherald.com/Openads bannerid=3D91 =
zoneid=3D0 source=3D */=0A=
if (typeof phpAds_adg =3D=3D 'undefined') {=0A=
	document.write('<scr'+'ipt language=3D"JavaScript" =
type=3D"text/javascript" =
src=3D"http://www.deccanherald.com/Openads/adg.js"></scr'+'ipt>');=0A=
}=0A=
//--></SCRIPT>

                  <SCRIPT type=3Dtext/javascript><!--

google_ad_client =3D "pub-6098511427863223";

/* Deccanherald 300x250, created 09/05/09 */

google_ad_slot =3D "0179354348";

google_ad_width =3D 300;

google_ad_height =3D 250;

//-->

</SCRIPT>

                  <SCRIPT=20
                  =
src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js"=20
                  type=3Dtext/javascript>

</SCRIPT>
                  </SPAN>
                  <DIV id=3Dbeacon_91=20
                  style=3D"LEFT: 0px; VISIBILITY: hidden; POSITION: =
absolute; TOP: 0px"><IMG=20
                  style=3D"WIDTH: 0px; HEIGHT: 0px" height=3D0 alt=3D""=20
                  =
src=3D"http://www.deccanherald.com/Openads/adlog.php?bannerid=3D91&amp;cl=
ientid=3D77&amp;zoneid=3D0&amp;source=3D&amp;block=3D0&amp;capping=3D0&am=
p;cb=3Dd68bb7297873806aba3c15e4de8cd2f0"=20
                  =
width=3D0></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>=
<!--
           <td class=3D"VerticalSeparator" style=3D"padding:1px;" =
width=3D"2px"> </td>
--></TR>
  <TR><!--
 	     	<td style=3D"background-color:#8e8e8e;" =
width=3D'15px;'>&nbsp;&nbsp;&nbsp;</td>
-->
    <TD id=3Dfooter align=3Dmiddle><!--Footer-->
      <TABLE style=3D"BACKGROUND-COLOR: #8e8e8e" cellSpacing=3D0 =
cellPadding=3D0=20
      width=3D"100%" align=3Dcenter border=3D0>
        <TBODY>
        <TR><!--=0A=
        <td style=3D"background: =
url('http://www.deccanherald.com/images/bg_bottom.jpg') repeat-x;" >=0A=
-->
          <TD>
            <TABLE cellSpacing=3D0 cellPadding=3D0 align=3Dcenter =
border=3D0>
              <TBODY>
              <TR>
                <TD=20
                style=3D"BORDER-RIGHT: #c0c0c0 0px solid; PADDING-RIGHT: =
5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                align=3Dmiddle><A class=3DBottomLinks=20
                  =
href=3D"http://www.deccanherald.com/content/130/about-us.html">About=20
                  Us </A></TD>
                <TD class=3DBottomText>| </TD>
                <TD=20
                style=3D"BORDER-RIGHT: #c0c0c0 0px solid; PADDING-RIGHT: =
5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                align=3Dmiddle><A class=3DBottomLinks=20
                  =
href=3D"http://www.deccanherald.com/contents/69/news.html">News</A></TD>
                <TD class=3DBottomText>| </TD>
                <TD=20
                style=3D"BORDER-RIGHT: #c0c0c0 0px solid; PADDING-RIGHT: =
5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                align=3Dmiddle><A class=3DBottomLinks=20
                  =
href=3D"http://www.deccanherald.com/contents/74/business.html">Business</=
A></TD>
                <TD class=3DBottomText>| </TD>
                <TD=20
                style=3D"BORDER-RIGHT: #c0c0c0 0px solid; PADDING-RIGHT: =
5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                align=3Dmiddle><A class=3DBottomLinks=20
                  =
href=3D"http://www.deccanherald.com/contents/76/sports.html">Sports</A></=
TD>
                <TD class=3DBottomText>| </TD>
                <TD=20
                style=3D"BORDER-RIGHT: #c0c0c0 0px solid; PADDING-RIGHT: =
5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                align=3Dmiddle><A class=3DBottomLinks=20
                  =
href=3D"http://www.deccanherald.com/supplements.php">Supplements</A></TD>=

                <TD class=3DBottomText>| </TD><!--=0A=
					<td style=3D"border-right:0px solid #C0C0C0; padding:5px;" =
align=3D"center"><a class=3D"BottomLinks"  =
href=3D"http://www.deccanherald.com/classifieds.php">Classifieds</a></td>=0A=
					<td class=3D"BottomText"> | </td>=0A=
-->
                <TD=20
                style=3D"BORDER-RIGHT: #c0c0c0 0px solid; PADDING-RIGHT: =
5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px"=20
                align=3Dmiddle><A class=3DBottomLinks=20
                  =
href=3D"http://www.deccanherald.com/content/131/contact-us.html">Contact =

                  Us</A></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD class=3DBottomText>Copyright 2009, The Printers (Mysore) =
Private=20
            Ltd., 75, M.G Road, Post Box 5331, Bangalore - 560001 =
</TD></TR>
        <TR>
          <TD class=3DBottomText>Tel: +91 (80) 25880000 Fax No. +91 (80) =

            25880523 </TD></TR></TBODY></TABLE><!--End of =
Footer--></TD><!--
			<td style=3D"background-color:#8e8e8e;" =
width=3D'15px;'>&nbsp;&nbsp;&nbsp;</td>
--></TR></TBODY></TABLE><!-- </div>
</div> --></BODY></HTML>

------=_NextPart_001_068F_01CADA5D.297297F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://d13.zedo.com/OzoDB/cutils/R48/jsc/1185/zpu.html?f=;z=2-110

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--  Copyright (c) 2000-2010 ZEDO Inc. All Rights Reserved. =
--><HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.6000.16674" name=3DGENERATOR></HEAD>
<BODY>
<SCRIPT language=3DJavaScript>=0A=
var zcc7=3Dnew Array();var zce9=3D0;=0A=
function zCF5(zcw1){=0A=
if(zce9<1){=0A=
var zct3=3D''+window.location.search;var zcv4=3Dnew Array();var =
zcd3=3Dzct3.indexOf(';l=3D')+1;=0A=
if(zcd3>1){=0A=
zcc7['l']=3Dzct3.substring(zcd3+2);=0A=
zct3=3Dzct3.substring(0,zcd3);=0A=
}=0A=
zct3=3Dzct3.replace(/^\?/,'');=0A=
zcv4=3Dzct3.split(';');=0A=
zce9=3Dzcv4.length;=0A=
for(var i=3D0;i<zce9;i++){=0A=
if(zcv4[i].length>2){=0A=
zcc7[zcv4[i].substring(0,1)]=3Dzcv4[i].substring(2,zcv4[i].length);=0A=
}}}=0A=
if(zcc7[zcw1]){return zcc7[zcw1];}=0A=
else{return '';}=0A=
}=0A=
var zcd7=3DzCF5('f');var zcz11=3D'';=0A=
if(document.cookie.indexOf('aps')=3D=3D-1){=0A=
document.cookie=3D'aps=3D1000;domain=3D.zedo.com;path=3D/;';=0A=
}=0A=
if(document.cookie.indexOf('aps')!=3D-1){=0A=
if(document.cookie.match(/aps=3D([^;]*)/)){=0A=
zcz11=3DRegExp.$1;=0A=
}=0A=
if(zcz11=3D=3D1000){=0A=
var zcy8=3Dnew Date();=0A=
zcy8.setTime(zcy8.getTime()+86400000);=0A=
document.cookie=3D'aps=3D1;expires=3Dzcy8.toGMTString();domain=3D.zedo.co=
m;path=3D/;';=0A=
if(zcd7=3D=3D2 |zcd7=3D=3D1){=0A=
var =
zcn8=3D"http://d3.zedo.com/jsc/d3/ff2.html?n=3D933;c=3D3;s=3D1;d=3D15;w=3D=
1;h=3D1";=0A=
ifrm=3Ddocument.createElement("IFRAME");=0A=
ifrm.setAttribute("src",zcn8);=0A=
ifrm.style.width=3D0+"px";=0A=
ifrm.style.height=3D0+"px";=0A=
ifrm.style.border=3D0+"px";=0A=
document.body.appendChild(ifrm);=0A=
}=0A=
if(zcd7=3D=3D2 |zcd7=3D=3D3){=0A=
var =
zcn8=3D"http://d3.zedo.com/jsc/d3/ff2.html?n=3D933;c=3D1;s=3D1;d=3D15;w=3D=
1;h=3D1";=0A=
ifrm=3Ddocument.createElement("IFRAME");=0A=
ifrm.setAttribute("src",zcn8);=0A=
ifrm.style.width=3D0+"px";=0A=
ifrm.style.height=3D0+"px";=0A=
ifrm.style.border=3D0+"px";=0A=
document.body.appendChild(ifrm);=0A=
}}}=0A=
</SCRIPT>
</BODY></HTML>

------=_NextPart_001_068F_01CADA5D.297297F0--

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://pagead2.googlesyndication.com/pagead/abglogo/abg-en-100c-000000.png

iVBORw0KGgoAAAANSUhEUgAAAE4AAAAQCAYAAAC4LkmaAAAABGdBTUEAAK/INwWK6QAAABl0RVh0
U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOASURBVFjD5ZhRSFRBFIa/0JRCcgt8SZAS
QfDpSj36sAXFlhQSvgZGIEhS4UtBDxkEViAJhUFUSlEERUUkomAIlb0IGkgYRd1CsQxrQ8iC4Pby
3zgOd3dvZLbQwLB35pw7c+abc87MXYIgIB9qhlINbALKbWcW/aUorcAMEACnMmrlIbhy4CYwDHQC
PcBrYFbt0r8MDmAMmM+qkWfg6oA5oCXC1E4BrAj1cwHM4c3ZynNgKq5yAkjmkHsxx4mj54IrUYic
y6DuAWUWWK6Qj5kOosob1VjjHFZcN2UYLKnwyVXi6rnGNGt+L857QAHQCzwCxrXQRqNWAPQBd2VP
H9Bg5MXAU3lXoDoGrAWmgffSKwTuAwPAE+ALUGnt8WXAuGPnBsFoMkDCvmQWcKFOIsKbE4DngOuR
8WUxmBcBI8AxoFb1tha8FVgJDGkzQvl5Ld4T1E9Am8Zr09ytak+rAgwC7WbuEeCrDYPA+UU7FAhE
+JsA0nr2I7wrKXlacl8Q02bHe4FeB9wtzVEdA9xZ5aBa01eh968BXcAPR74K+Cb5RemWG9k88EDt
j/K4IukdB44C/cq1a7AL0fM98zxsaHep7ZmQ9hTiLrhAsBCwJmeONJB0wJ3Ue20RoHbLe5oVjne0
0PWO3kudvoMaq9SRDyrsuiQ/YGRTJr9+ELgS6b0FbgjworBJmzgP1E7IWxoicle7ZIFAu+B80x4W
3KTxOj8ix9XIS+aAdeb9qlQqFaRSqdC2Q8Zj3Hz4TDnvquTbHPkwcFme5AOfgYMK+VEz74zAFcqm
VwrvRaVJC7IlbXJal+NxSQOrwfEu1+MSzgLD0G2PAAfQIf1RYKNjU71kLYIcAI8VjuuV2xakVwN8
ByaAncB24LQ2ZYcJzyPmcKhyvG9Wz9cl7xbw8OBZBMeGrm/C0nfymW/qeIYc55tciPHUX6AzHPF7
FYZpXYTb5GX9Wnij9LcoL75Q0p90bgSbFV6TwDt5zZ6INHBGNg0JyArNvQBcMQdNoBAeBS5hTr5M
d7qE0fGce1Uyyz0u6j7XbkFmuRsV6VMrzGv19tDIdo+L+XVSpU0Z1GExIDAjUSFpbFotkMtaemVc
w1J8tfxBKVAO6zZ9tcAF2VdJnhXP9cB/BK5OgPY7/fvUXxxrlHz5Vl1GcIXmT4NmheAu4CFwIvYo
/yG48B+YDuXbCV18635ngJ+og1hiEd8S4QAAAABJRU5ErkJggg==

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://pagead2.googlesyndication.com/pagead/sma8.js

(function(){=0A=
var c=3Dwindow,d=3Ddocument;function g(a,b){return a.cursor=3Db}function =
h(a,b){return a.onmouseover=3Db}function i(a,b){return a.display=3Db}var =
l=3D"appendChild",m=3D"length",o=3D"style",s;=0A=
function =
v(a){this.O=3Da.adsContainer;this.K=3Da.nextAdIndex||0;this.z=3Da.linksCo=
ntainer;this.b=3Da.previousLink;this.a=3Da.nextLink;this.v=3Da.linkArrowC=
olor;this.q=3Da.linkActiveBgColor;this.w=3Da.linkInactiveBgColor;this.G=3D=
a.linkActiveCursor;this.H=3Da.linkInactiveCursor;this.I=3Da.loading;this.=
j=3Da.requestToken;this.fa=3Da.renderAds;this.S=3Da.getNextAdRequestUrl;t=
his.ca=3Da.maxAds;this.U=3Da.handlerUrl;this.ha=3Da.requestUrl;this.R=3Da=
.formatParams;this.d=3Da.pages;this.c=3D0;this.i=3Dfalse;this.o=3D{};this=
.n=3D{};this.da=3Da.nextAdsMessage;=0A=
this.ea=3Da.previousAdsMessage;this.f=3Da.arrowHeight;this.g=3Da.arrowWid=
th;this.l=3Da.arrowSize;this.P=3Da.arrowGap;this.Y=3Da.isRtl;this.X();thi=
s.ja();i(this.z[o],"block")}s=3Dv.prototype;s.ba=3Dfunction(a){this.V();i=
f(a.ads[m]=3D=3D0){this.j=3Dnull;this.c=3D0;this.A()}else{this.j=3Da.toke=
n&&a.token[m]>0?a.token:null;for(var =
b=3D0;b<a.ads[m];++b){a.ads[b].id=3Dthis.K;++this.K}this.Z(a.ads)}this.p(=
);this.i=3Dfalse};s.F=3Dfunction(){for(var =
a=3D0;a<this.d[m];++a)i(this.d[a][o],"none")};s.ka=3Dfunction(){this.F();=
i(this.I[o],"")};=0A=
s.V=3Dfunction(){i(this.I[o],"none")};s.B=3Dfunction(a){if(a=3D=3D0&&this=
.c>0)this.aa();else =
if(a=3D=3D1&&(this.j||this.c<this.d[m]-1))this.$()};s.C=3Dfunction(a){i((=
a=3D=3D0?this.o:this.n)[2][o],"none");this.p()};s.D=3Dfunction(a){if(a=3D=
=3D0&&this.c>0||a=3D=3D1&&(this.j||this.c<this.d[m]-1))this.ia(a)};s.Z=3D=
function(a){var =
b=3Dthis.fa(this.c,a,this.R);this.d.push(b);this.O[l](b)};s.$=3Dfunction(=
){if(!this.i){this.i=3Dtrue;++this.c;if(this.c=3D=3Dthis.d[m]){this.ka();=
this.ga()}else{this.A();this.p();this.i=3Dfalse}}};=0A=
s.aa=3Dfunction(){if(!this.i){this.i=3Dtrue;--this.c;this.A();this.p();th=
is.i=3Dfalse}};s.A=3Dfunction(){this.F();i(this.d[this.c][o],"")};s.ga=3D=
function(){var =
a=3Dthis.Q();d.getElementsByTagName("head")[0][l](a)};s.Q=3Dfunction(){va=
r =
a=3Dthis.T(),b=3Dd.createElement("script");b.setAttribute("src",a);return=
 =
b};s.s=3Dfunction(a,b){this.u(a);i((a=3D=3D0?this.o:this.n)[b][o],"block"=
)};s.u=3Dfunction(a){for(var =
b=3Da=3D=3D0?this.o:this.n,f=3D0;f<=3D2;f++)i(b[f][o],"none")};=0A=
s.T=3Dfunction(){return =
this.S({handlerUrl:this.U,maxAds:this.ca,requestToken:this.j,requestUrl:t=
his.ha})};s.ia=3Dfunction(a){if(a=3D=3D0)g(this.b[o],this.b.r);else =
g(this.a[o],this.a.r);this.s(a,2)};s.M=3Dfunction(a){if(a=3D=3D0)g(this.b=
[o],this.b.m);else =
g(this.a[o],this.a.m);this.s(a,1)};s.L=3Dfunction(a){if(a=3D=3D0)g(this.b=
[o],this.b.m);else g(this.a[o],this.a.m);this.s(a,0)};=0A=
s.p=3Dfunction(){if(this.c>0){h(this.b,this.b.k);this.o[2][o].display=3D=3D=
"none"&&this.L(0)}else{h(this.b,null);this.M(0)}if(this.j||this.c<this.d[=
m]-1){h(this.a,this.a.k);this.n[2][o].display=3D=3D"none"&&this.L(1)}else=
{h(this.a,null);this.M(1)}};=0A=
s.ja=3Dfunction(){this.b.N=3Dthis.q;this.b.W=3Dthis.w;this.b.e=3Dthis;thi=
s.b.r=3Dthis.G;this.b.m=3Dthis.H;this.b.onmousedown=3Dfunction(){this.e.B=
(0)};this.b.k=3Dfunction(){this.e.D(0)};this.b.onmouseout=3Dfunction(){th=
is.e.C(0)};h(this.b,this.b.k);this.a.N=3Dthis.q;this.a.W=3Dthis.w;this.a.=
e=3Dthis;this.a.r=3Dthis.G;this.a.m=3Dthis.H;this.a.onmousedown=3Dfunctio=
n(){this.e.B(1)};this.a.k=3Dfunction(){this.e.D(1)};this.a.onmouseout=3Df=
unction(){this.e.C(1)};h(this.a,this.a.k);this.p()};=0A=
s.h=3Dfunction(a,b,f,j,p){var =
k=3Dd.createElement("div"),e=3D"position:absolute;overflow:hidden;left:";=
e+=3Da;e+=3D"px;top:";e+=3Db;e+=3D"px;width:";e+=3Df;e+=3D"px;height:";e+=
=3Dj;e+=3D"px;";e+=3D"background-color:";e+=3Dp;k[o].cssText=3De;return =
k};=0A=
s.t=3Dfunction(a,b,f,j){var =
p;p=3Df?this.h(0,0,this.g,this.f,a):this.h(0,0,this.g,this.f,b);var =
k=3Dthis.h(1,1,this.g-2,this.f-2,b);p[l](k);var =
e=3Dthis.f/2-1,q=3DMath.floor((this.g-3-this.l)/2),t,u,r;if(j=3D=3D0){k[l=
](this.h(q-1,e-1,2,2,a));t=3D-2;u=3D0;r=3D-1}else{k[l](this.h(q+this.l,e-=
1,2,2,a));t=3D-this.l-1;u=3Dthis.l-1;r=3D1}for(var =
n=3D0;n<this.l;n++){k[l](this.h(q+n,e+t+r*n,2,2,a));k[l](this.h(q+n,e+u-r=
*n,2,2,a))}return p};=0A=
s.J=3Dfunction(a,b,f){var =
j=3Dfalse;b[1]=3Dthis.t(this.v,this.w,j,f);a[l](b[1]);b[0]=3Dthis.t(this.=
v,this.q,j,f);a[l](b[0]);j=3Dtrue;b[2]=3Dthis.t(this.q,this.v,j,f);a[l](b=
[2])};s.X=3Dfunction(){var =
a=3D0,b=3D1;if(this.Y){a=3D1;b=3D0}this.J(this.b,this.o,a);this.J(this.a,=
this.n,b);this.a.title=3Dthis.da;this.b.title=3Dthis.ea;this.z[o].width=3D=
2*this.g+this.P+"px";this.z[o].height=3Dthis.f+"px";this.b[o].width=3Dthi=
s.g+"px";this.b[o].height=3Dthis.f+"px";this.a[o].width=3Dthis.g+"px";thi=
s.a[o].height=3Dthis.f+"px";this.u(0);this.u(1)};=0A=
if(!Array.prototype.indexOf)Array.prototype.indexOf=3Dfunction(a){for(var=
 b=3D0;b<this[m];b++)if(this[b]=3D=3Da)return =
b;return-1};if(c.sma){c.smaSlotManager=3Dnew =
v(c.sma);c.handleAdsRequestDone=3Dfunction(a){c.smaSlotManager.ba(a)}};=0A=
})();=0A=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-6098511427863223&format=468x60_as&output=html&h=60&w=468&lmt=1271069861&channel=2353409498&ad_type=text_image&flash=10.0.32.18&url=http%3A%2F%2Fwww.deccanherald.com%2Fcontent%2F16049%2Fclass-action-suit-form-part.html&dt=1271069861727&shv=r20100331&correlator=1271069861774&frm=0&ga_vid=1285291295.1271069862&ga_sid=1271069862&ga_hid=1231405359&ga_fc=0&u_tz=330&u_his=0&u_java=1&u_h=768&u_w=1024&u_ah=738&u_aw=1024&u_cd=32&u_nplug=0&u_nmime=0&biw=796&bih=452&ref=http%3A%2F%2Frs%2Fmtia%2FRel4%2Fhomepage%2Fcontent_1.htm&fu=0&ifi=1&dtd=94&xpc=Bqq3uJTFQa&p=http%3A//www.deccanherald.com

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<STYLE>A:link {
	CURSOR: hand; COLOR: #0000ff
}
A:visited {
	CURSOR: hand; COLOR: #0000ff
}
A:hover {
	CURSOR: hand; COLOR: #0000ff
}
A:active {
	CURSOR: hand; COLOR: #0000ff
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
TABLE {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
DIV {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
BODY {
	FONT-FAMILY: verdana,arial,sans-serif; HEIGHT: 100%; BACKGROUND-COLOR: =
transparent
}
#aus {
	WIDTH: 468px; HEIGHT: 60px
}
#ads {
	LEFT: 0px; WIDTH: 468px; POSITION: absolute; TOP: 0px
}
#ads UL {
	WIDTH: 100%; LIST-STYLE-TYPE: none
}
#ads UL LI {
	DISPLAY: inline; FLOAT: left; OVERFLOW: hidden; WIDTH: 468px; HEIGHT: =
42px
}
.ad {
	MARGIN: 0px 2px
}
.adt {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.adb {
	DISPLAY: block; FONT-SIZE: 12px; COLOR: #000000
}
.adu {
	FONT-SIZE: 10px; OVERFLOW: hidden; COLOR: #009900; LINE-HEIGHT: 12px; =
WHITE-SPACE: nowrap
}
.adus {
	CURSOR: hand
}
#abgi {
	LEFT: 388px; POSITION: absolute; TOP: 43px
}
#aubg {
	BORDER-RIGHT: #ffffff 0px solid; BORDER-TOP: #ffffff 0px solid; =
BORDER-LEFT: #ffffff 0px solid; WIDTH: 468px; BORDER-BOTTOM: #ffffff 0px =
solid; HEIGHT: 60px; BACKGROUND-COLOR: #ffffff
}
#load {
	HEIGHT: 42px
}
#load TABLE {
	WIDTH: 100%; HEIGHT: 100%
}
#load TD {
	FONT-SIZE: 12px; VERTICAL-ALIGN: middle; COLOR: #000000; TEXT-ALIGN: =
center
}
#ads UL.auma {
=09
}
#ads UL LI.adma {
	WIDTH: 234px; HEIGHT: 42px
}
.adma .adc {
	HEIGHT: 42px
}
.adma .adt {
	FONT-SIZE: 11px; LINE-HEIGHT: 14px
}
.adma .adb {
	FONT-SIZE: 10px; LINE-HEIGHT: 13px
}
#smac SPAN {
	DISPLAY: inline-block; WIDTH: 15px; POSITION: absolute; HEIGHT: 14px
}
#smac {
	DISPLAY: none; LEFT: 2px; OVERFLOW: hidden; WIDTH: 34px; =
LIST-STYLE-TYPE: none; POSITION: absolute; TOP: 44px
}
#smac DIV {
	OVERFLOW: hidden; WIDTH: 15px; POSITION: relative; HEIGHT: 14px
}
#smap {
	FLOAT: left
}
#sman {
	FLOAT: right
}
</STYLE>

<SCRIPT>(function(){function =
d(a,c){window.status=3Da;if(a=3Ddocument.getElementById(c))a.href=3De(a.h=
ref,"nm");return true}function e(a,c){var =
b=3Da.match("^(.*)([?|&]"+c+"=3D)([^&]*)(.*)$");if(!b)return =
a+"&"+c+"=3D1";b[3]=3D(Number(b[3])||0)+1;b[0]=3D"";return =
b.join("")}window.ss=3Dd;})();function st(id) {var a =3D =
document.getElementById(id);if (a) {a.myt =3D (new =
Date()).getTime();}}function su(id) {var a =3D =
document.getElementById(id);var b =3D (new Date()).getTime();if (a && =
a.myt && b) {var t =3D b - a.myt;var bi =3D =
a.href.indexOf("&clkt=3D");if (bi > 0) {var c =3D a.href.substring(0, =
bi+6); var d =3D a.href.substring(bi+6, a.href.length);var ei =3D =
d.indexOf("&");var r =3D '';if (ei >=3D 0)r =3D d.substring(ei, =
d.length);a.href =3D c + t + r; } else {a.href +=3D "&clkt=3D" + =
t;}}return true;}function cs(){window.status=3D'';} function jcc(a) =
{pha=3Ddocument.getElementById(a); nc=3Dpha.href.indexOf('&jca=3D'); =
if(nc>=3D1) return; jca=3D(170)+(8597)-(17); if (a=3D=3D'aw0') =
{jca+=3D(-8517);} else {jca=3D0;} phb=3Dpha.href+'&jca=3D'+jca; =
pha.href=3Dphb;} function ha(a){  var =
pha=3Ddocument.getElementById(a);var =
nhi=3Dpha.href.indexOf("&nh=3D");if(nhi < 1) =
{pha.href+=3D"&nh=3D1";}su(a); jcc(a); }function ca(a) {  var =
pha=3Ddocument.getElementById(a);var =
nci=3Dpha.href.indexOf("&nc=3D");if(nci < 1) =
{pha.href+=3D"&nc=3D1";}su(a); jcc(a); =
top.location.href=3Ddocument.getElementById(a).href;}function ga(o,e) =
{if (document.getElementById) =
{a=3Do.id.substring(1);p=3D"";r=3D"";g=3De.target;if (g) =
{t=3Dg.id;f=3Dg.parentNode;if (f) {p=3Df.id;h=3Df.parentNode;if =
(h)r=3Dh.id;}} else {h=3De.srcElement;f=3Dh.parentNode;if =
(f)p=3Df.id;t=3Dh.id;}if (t=3D=3Da||p=3D=3Da||r=3D=3Da)return true;var =
pha=3Ddocument.getElementById(a);var =
nbi=3Dpha.href.indexOf("&nb=3D");if(nbi < 1) =
{pha.href+=3D"&nb=3D1";}su(a); jcc(a); =
top.location.href=3Ddocument.getElementById(a).href;}}</SCRIPT>

<META content=3D"MSHTML 6.00.6000.16674" name=3DGENERATOR></HEAD>
<BODY>
<DIV id=3Daus>
<DIV id=3Daubg></DIV>
<DIV id=3Dads>
<UL id=3Dload style=3D"DISPLAY: none">
  <LI style=3D"WIDTH: 100%">
  <TABLE>
    <TBODY>
    <TR>
      <TD>Loading...</TD></TR></TBODY></TABLE></LI></UL>
<UL id=3Dads0>
  <LI id=3Dtaw0 onmouseover=3D"ss('','aw0')" onfocus=3D"ss('','aw0')">
  <DIV class=3Dad><A class=3Dadt onmousedown=3D"st('aw0')" id=3Daw0=20
  onmouseover=3D"return ss('','aw0')" onfocus=3D"ss('','aw0')" =
onclick=3D"ha('aw0')"=20
  =
href=3D"http://googleads.g.doubleclick.net/aclk?sa=3Dl&amp;ai=3DBi_Gs7PzC=
S6f1NMGgcL_zlJQOnuXmqgGu783iDZCJoK8GoNXHDBABGAEg24L4BTgAULrU_Jv7_____wFg5=
Yrpg-AOsgEUd3d3LmRlY2NhbmhlcmFsZC5jb226AQk0Njh4NjBfYXPIAQHaAUpodHRwOi8vd3=
d3LmRlY2NhbmhlcmFsZC5jb20vY29udGVudC8xNjA0OS9jbGFzcy1hY3Rpb24tc3VpdC1mb3J=
tLXBhcnQuaHRtbKkCjYuMPOs8WD7AAgHIAuao_w2oAwHIAwfoAxPoAxDoA-kG6AOrA_UDAAAA=
RA&amp;num=3D1&amp;sig=3DAGiWqtzUJiNdRdXqd4eDjaCbES7qR5LLPA&amp;client=3D=
ca-pub-6098511427863223&amp;adurl=3Dhttp://www.hsbc.co.in/1/2/personal/lo=
ans/smart-home"=20
  target=3D_top><SPAN>Need Home Loan?</SPAN></A>
  <DIV class=3Dadb>HSBC Smart Home is a simple way to Save upto 50% on =
Interest=20
  Payments! </DIV>
  <DIV class=3Dadu><SPAN class=3Dadus =
onmousedown=3Dst(this.id.substr(1)) id=3Duaw0=20
  onclick=3Dga(this,event)>HSBC.co.in</SPAN></DIV></DIV></LI></UL></DIV>
<DIV id=3Dsmac>
<DIV id=3Dsmap></DIV>
<DIV id=3Dsman></DIV></DIV>
<DIV id=3Dabgi><A=20
href=3D"http://www.google.com/url?ct=3Dabg&amp;q=3Dhttps://www.google.com=
/adsense/support/bin/request.py%3Fcontact%3Dabg_afc%26url%3Dhttp://www.de=
ccanherald.com/content/16049/class-action-suit-form-part.html%26hl%3Den%2=
6client%3Dca-pub-6098511427863223%26adU%3DHSBC.co.in%26adT%3DNeed%2BHome%=
2BLoan%253F%26gl%3DIN&amp;usg=3DAFQjCNG0_hzWiGv0XsgXQY6sKFqHnxqDeA"=20
target=3D_blank><SPAN=20
style=3D"DISPLAY: inline-block; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(src=3D'http://pagead2.=
googlesyndication.com/pagead/abglogo/abg-en-100c-000000.png'); WIDTH: =
78px; HEIGHT: 16px"><IMG=20
style=3D"FILTER: progid:DXImageTransform.Microsoft.Alpha(opacity=3D0)" =
height=3D16=20
alt=3D"Ads by Google"=20
src=3D"http://pagead2.googlesyndication.com/pagead/abglogo/abg-en-100c-00=
0000.png"=20
width=3D78 border=3D0></SPAN></A></DIV></DIV>
<SCRIPT>var formatParams =3D =
{badgeParams:{height:10,filename:'checkout_999999.gif',path:'/pagead/badg=
e/',style:'',tooltip:'This site accepts Google =
Checkout',width:19},isVerticalFormat:0,linkTarget:'_top',staticHost:'http=
://pagead2.googlesyndication.com'};(function(){var =
e=3D"push",g=3D"join";function i(a){var =
b=3Dk((a.requestUrl||document.location.href).split("?")[1]);b.ad_type=3D"=
text";b.format=3D"sma-"+b.format;b.num_ads=3Da.maxAds;b.output=3D"smajs";=
b.targeting=3D"content";b.tok=3Da.requestToken;delete b.prev_fmts;delete =
b.prev_slotnames;delete b.deb;delete b.dfp_req;return =
a.handlerUrl+"?"+l(b)}function m(a,b,f){var =
c=3Ddocument.createElement("ul");c.id=3D"ads"+a;c.setAttribute("class","a=
uma");c.innerHTML=3Dn(b,f,true);return c}function n(a,b,f){var =
c=3D[],d=3D0;for(;d<a.length;++d)c[e](o(a[d],b,f));return =
c[g]("")}function o(a,b,f){var =
c=3D[],d=3D'ss("","aw'+a.id+'")';c[e]("<li");f&&c[e](" =
class=3Dadma");a.isRtl&&c[e](" dir=3Drtl");c[e](" id=3Dtaw"+a.id+" =
onfocus=3D"+d+" onmouseover=3D"+d+">");c[e]("<div =
class=3Dad>");b.isVerticalFormat&&c[e]("<table border=3D0 =
cellpadding=3D0 cellspacing=3D0 class=3Dadc><tbody><tr><td =
valign=3Dmiddle>");c[e](p(a,b,d));b.isVerticalFormat&&c[e]("</td></tr></t=
body></table>");c[e]("</div></li>");a.viewUrl&&typeof =
vu=3D=3D"function"&&vu(a.viewUrl);return c[g]("")}function p(a,b,f){var =
c=3D[];c[e]('<a class=3Dadt href=3D"'+a.url+'" id=3Daw'+a.id+' =
onclick=3Dha("aw'+a.id+'") onfocus=3D'+f+' =
onmousedown=3Dst("aw'+a.id+'") onmouseover=3D'+f+" =
target=3D"+b.linkTarget+">");c[e]("<span>"+a.title+"</span></a>");var =
d=3Db.badgeParams;a.hasCheckoutBadge&&d&&c[e](q(b.staticHost,d.path,d.fil=
ename,d.height,d.width,d.style,d.tooltip));c[e]("<div =
class=3Dadb>"+a.text+"</div>");c[e]("<div class=3Dadu><span class=3Dadus =
id=3Duaw"+a.id+" onclick=3Dga(this,event) =
onmousedown=3Dst(this.id.substr(1))>"+a.visibleUrl+"</span></div>");retur=
n c[g]("")}function q(a,b,f,c,d,j,r){var h=3D[];h[e]('&nbsp;<img =
alt=3D"" border=3D0 height=3D'+c+' src=3D"'+a+b+f+'" title=3D"'+r+'" =
width=3D'+d);j&&h[e](' style=3D"'+j+'"');h[e](">");return =
h[g]("")}function k(a){var =
b=3D{},f=3Da.split("&"),c=3D0;for(;c<f.length;++c){var =
d=3Df[c].split("=3D");d.length<2||d[0]=3D=3D""||d[1]=3D=3D""||(b[d[0]]=3D=
d[1])}return b}function l(a){var b=3D[];for(var f in =
a)f&&b[e](f+"=3D"+a[f]);return =
b[g]("&")}window.renderAdsList=3Dn;window.smaGetNextAdRequestUrl=3Di;wind=
ow.smaRenderAds=3Dm;})();var =
sma=3D{adsContainer:document.getElementById('ads'),arrowGap:4,arrowSize:4=
,arrowHeight:14,arrowWidth:15,nextAdIndex:1,linksContainer:document.getEl=
ementById('smac'),previousLink:document.getElementById('smap'),nextLink:d=
ocument.getElementById('sman'),pages:[document.getElementById('ads0')],li=
nkArrowColor:'#ffffff',linkActiveBgColor:'#0000ff',linkInactiveBgColor:'#=
a5a5ff',linkActiveCursor:'hand',linkInactiveCursor:'',nextAdsMessage:'Nex=
t ads',previousAdsMessage: 'Previous =
ads',loading:document.getElementById('load'),requestToken:'V-FzXO2dFG0KEw=
inm9W-gIGhAhVBEBwKHb85heIQARgCIP7sww4oADABQgwIABAAGAEgASgBMAA',renderAds:=
smaRenderAds,getNextAdRequestUrl:smaGetNextAdRequestUrl,maxAds:2,handlerU=
rl:'http://googleads.g.doubleclick.net/pagead/ads',requestUrl:'http://goo=
gleads.g.doubleclick.net/pagead/ads?client\x3dca-pub-6098511427863223\x26=
format\x3d468x60_as\x26output\x3dhtml\x26h\x3d60\x26w\x3d468\x26lmt\x3d12=
71069861\x26channel\x3d2353409498\x26ad_type\x3dtext_image\x26flash\x3d10=
.0.32.18\x26url\x3dhttp%3A%2F%2Fwww.deccanherald.com%2Fcontent%2F16049%2F=
class-action-suit-form-part.html\x26dt\x3d1271069861727\x26shv\x3dr201003=
31\x26correlator\x3d1271069861774\x26frm\x3d0\x26ga_vid\x3d1285291295.127=
1069862\x26ga_sid\x3d1271069862\x26ga_hid\x3d1231405359\x26ga_fc\x3d0\x26=
u_tz\x3d330\x26u_his\x3d0\x26u_java\x3d1\x26u_h\x3d768\x26u_w\x3d1024\x26=
u_ah\x3d738\x26u_aw\x3d1024\x26u_cd\x3d32\x26u_nplug\x3d0\x26u_nmime\x3d0=
\x26biw\x3d796\x26bih\x3d452\x26ref\x3dhttp%3A%2F%2Frs%2Fmtia%2FRel4%2Fho=
mepage%2Fcontent_1.htm\x26fu\x3d0\x26ifi\x3d1\x26dtd\x3d94\x26xpc\x3dBqq3=
uJTFQa\x26p\x3dhttp%3A//www.deccanherald.com',formatParams:formatParams,i=
sRtl:false};</SCRIPT>

<SCRIPT =
src=3D"http://pagead2.googlesyndication.com/pagead/sma8.js"></SCRIPT>
</BODY></HTML>

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/script.js

//function for removing white spaces
function Trim(txt){
	  if(txt.split(" ").join("").length =3D=3D 0)
		return true;
	  else
		return false;
}

function trim_str(str) {
	return str.split(" ").join("");
}

//function to alert error messages for text fields
function retunMessage(message,fldId) {
	alert(message);
	document.getElementById(fldId).focus();
	return false;
}


//function to check empty text fields
function nullCheck(fldId,message) {
	var objValue =3D document.getElementById(fldId).value;
	if( (objValue =3D=3D "") || (Trim(objValue)))
		retunMessage(message,fldId);
	else
		return true;
}

//function to check length
function checkLen(len,fldId,message) {
	var objValue =3D document.getElementById(fldId).value;
	var length =3D objValue.length
	if(length < len)
		retunMessage(message,fldId);
	else
		return true;
}

//function to validate user name
function validateUserName(fldId) {
	var myRegxp =3D /^[a-zA-Z0-9_.\s]+$/;
	var str     =3D document.getElementById(fldId).value;
    if(! myRegxp.test(str)){
		alert("Please enter valid username");
		PageLoadFocus(fldId);
		return false;
	}else{
		return true;
	}
}

function validateName(fldId) {
	var myRegxp =3D /^[a-zA-Z0-9_. ]+$/;
	var str     =3D document.getElementById(fldId).value;
    if(! myRegxp.test(str)){
		alert("Please enter valid name");
		PageLoadFocus(fldId);
		return false;
	}else{
		return true;
	}
}

function validateWeatherFields(fldId) {
	var myRegxp =3D /^[\s a-zA-Z0-9_.]+$/;
	var str     =3D document.getElementById(fldId).value;
    if(! myRegxp.test(str)){
		if(fldId =3D=3D 'summary')
			alert("Please enter valid summary");
		if(fldId =3D=3D 'forecast')
			alert("Please enter valid forecast");
		PageLoadFocus(fldId);
		return false;
	}else{
		return true;
	}
}

//function to compare two strings
function equal(fldId1,fldId2,message) {
	var objValue1 =3D document.getElementById(fldId1).value;
	var objValue2 =3D document.getElementById(fldId2).value;
	if (objValue1 !=3D objValue2)
		retunMessage(message,fldId1);
	else
			return true;
}

function alphaSpaceOnly(fldId) {

	var myRegxp =3D /^[a-zA-Z ]+$/;
	var str     =3D document.getElementById(fldId).value;
    if( !myRegxp.test(str) ){
		if(fldId =3D=3D 'first_name')
			alert("First name allows only alphabets and spaces");
		if(fldId =3D=3D 'last_name')
			alert("Last name allows only alphabets and spaces");
		PageLoadFocus(fldId);
		return false;
	}else{
		return true;
	}
}

//function for email validation
function emailValidation(fldId) {
	var str =3D document.getElementById(fldId).value;
	var =
filter=3D/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6=
}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
		return true;
	}
	else {
		alert("Please Enter Valid Email");
		PageLoadFocus(fldId);
		return false;
	}
}

//function for onload event
function PageLoadFocus(fldId) {
	document.getElementById(fldId).focus();
}

function resetMessage(){
	if(document.getElementById('ErrorMessage')) =
document.getElementById('ErrorMessage').innerHTML =3D '';
}

//function loadFolderRecord(id, name, parent_id){
	//resetMessage();
	//document.getElementById('id').value =3D id;
	//document.getElementById('name').value =3D name;
	//document.getElementById('parent_id').value =3D parent_id;

//}

//function for validating names
function isValidName(fldId,msg){
	var obj =3D document.getElementById(fldId).value;
	var pattern=3D/[*/\\:"><|]@/;

	if(pattern.test(obj)){
		alert(msg);
	   	PageLoadFocus(fldId);
   		return false;
    }
    else return true;
}

//function for validating strings
function isValidString(fldId,msg)
{
	var result =3D true;
	var iChars =3D "*|,\":<>[]{}`\;()@$#%_^";
	var string =3D document.getElementById(fldId).value;
	var leng =3D string.length;

	for(i=3D0; i<leng; i++){
		if(iChars.indexOf(string.charAt(i)) !=3D -1){
			result =3D false;
		}
	}

	if(result =3D=3D false){
		alert(msg);
		result =3D false;
	}
	return result;
}

function Trimstr(str){
	return str.replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '');
}

//function for checking alphanumerics only
function alphanumeric(fldId) {
	var myRegxp =3D /^[-a-zA-Z0-9 ()]+$/;
	var str     =3D document.getElementById(fldId).value;
    if( !myRegxp.test(str) ){
    	alert("Please Enter alpha numeric Characters Only");
    	PageLoadFocus(fldId);
		return false;
	}else{
		return true;
	}
}

/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Cyanide_7 |  */
var isNN =3D (navigator.appName.indexOf("Netscape")!=3D-1);

function autoTab(input,len, e) {
  var keyCode =3D (isNN) ? e.which : e.keyCode;
  var filter =3D (isNN) ? [0,8,9,16] : [0,8,9,16,17,18,37,38,39,40,46];
  if(input.value.length >=3D len && !containsElement(filter,keyCode)) {
    input.value =3D input.value.slice(0, len);
	input.form[(getIndex(input)+1) % input.form.length].focus();
  }

  function containsElement(arr, ele) {
    var found =3D false, index =3D 0;
    while(!found && index < arr.length)
    if(arr[index] =3D=3D ele)
    found =3D true;
    else
    index++;
    return found;
  }

  function getIndex(input) {
    var index =3D -1, i =3D 0, found =3D false;
    while (i < input.form.length && index =3D=3D -1)
    if (input.form[i] =3D=3D input)index =3D i;
    else i++;
    return index;
  }
  return true;
}

//function for checking numbers only
function isInteger(fldId) {
	var s =3D document.getElementById(fldId).value;
	if (isNaN(s)) {
			alert("Please Enter Numbers Only");
			PageLoadFocus(fldId);
			return false;
    }
    // All characters are numbers.
    return true;
}

//US phone validation
function isPhoneValid(fldId) {

	if(!nullCheck(fldId,"Please Enter Phone Code") || !isInteger(fldId) || =
!checkLen(3,fldId,"Please Enter Valid Phone Code"))
		return false;
	else
		return true;
}

/************************************************************************=
*******
* To create popups
* @author Tony Thomas - Greynium Information Technologies Pvt. Ltd. | =
01-Feb-2008
*************************************************************************=
********/
function popitup(url,height,width) {
	tinyMCE.triggerSave();

	=
newwindow=3Dwindow.open(url,'name','height=3D'+height+',width=3D'+width+'=
,resizable=3D1,scrollbars=3D1');
}

/************************************************************************=
*******
* To create popups for checking url in left menu add page
* @author Alind Tiwari - Greynium Information Technologies Pvt. Ltd. | =
11-july-2008
*************************************************************************=
********/
function urlpopitup(url,height,width) {
	=
newwindow=3Dwindow.open(url,'name','height=3D'+height+',width=3D'+width+'=
,resizable=3D1,scrollbars=3D1');
}


/************************************************************************=
*******
* To validate the form fields of opinion polls
* @author Tony Thomas - Greynium Information Technologies Pvt. Ltd. | =
04-Feb-2008
*************************************************************************=
********/
function validateOpinionPolls(formname)
{
	var obj =3D eval('document.' + formname);

	if( !nullCheck('title','Enter the poll question')){
		return false;
	}

	var cnt=3D1;
	for (var i=3D0;i<obj.elements.length;i++ ){
		if(obj.elements[i].type =3D=3D 'text' && obj.elements[i].name =3D=3D =
'poll_option[]'){
			if( (cnt<=3D2) && (obj.elements[i].value =3D=3D '' || =
Trim(obj.elements[i].value) )  ){
				alert('Enter option'+cnt);
				alert(cnt);
				obj.elements[i].focus();
				return false;
			}

			cnt++;
		}

	}

	var options =3D document.getElementsByName('poll_option[]');
	var compare_counter=3D0;
	var temp_opt_value=3D0;
	for (var j=3D0;j<options.length;j++ ){
		temp_opt_value =3D trim_str(options[j].value);

		if(trim_str(options[j].value)!=3D''){
			for (var k=3D0;k<options.length;k++){
				if(temp_opt_value.toString() =3D=3D =
trim_str(options[k].value.toString())){
					compare_counter++;
					if(compare_counter>1){
						compare_counter=3D0;
						alert("options cannot be same");
						return false;

					}
				}
			}
		}

		compare_counter=3D0;

	}

	if( (obj.display_start_date.value !=3D '') || =
(obj.display_end_date.value !=3D '') )
	{
		if( (obj.display_start_date.value =3D=3D '') || =
(obj.display_end_date.value =3D=3D '') ){
			alert("Enter both display start and end dates");
			obj.display_start_date.focus();
			return false;
		}
		var today  =3D new Date();
		var month =3D today.getMonth() + 1;
		if (month < 10){
			month =3D "0" + month;
		}
		var day   =3D today.getDate();
		if (day < 10){
			day =3D "0" + day;
		}
		var year  =3D today.getFullYear();
		var today1 =3D year+'-'+month+'-'+day;

		//alind changing the condition from less than equal to less than only
		if (obj.display_start_date.value < today1){
			alert("Display start date should be greater than today");
			obj.display_start_date.focus();
			return false;
		}

		if (obj.display_end_date.value < obj.display_start_date.value){
			alert("Display end date should be greater than Display start date");
			obj.display_end_date.focus();
			return false;
		}
	}
	IGNORE_UNLOAD =3D true;
}

function validateForgotPassword() {
	var frm =3D document.fpw_form1;
	if(!nullCheck("fpw_email","Please enter email") || =
!emailValidation("fpw_email"))
			return false;
	IGNORE_UNLOAD =3D true;
	return true;
}

/************************************************************************=
*******
* To alert while moving away from forms
* @author Tony Thomas - Greynium Information Technologies Pvt. Ltd. | =
6/18/2008
*************************************************************************=
********/

function containsElements(arr, ele) {
    var found =3D false, index =3D 0;
    while(!found && index < arr.length)
    if(arr[index] =3D=3D ele)
    found =3D true;
    else
    index++;
    return found;
}

function checkKeycode(e) {
	var keycode;
	if (window.event) keycode =3D window.event.keyCode;
	else if (e) keycode =3D e.which;
	//alert("keycode: " + keycode);
	var filter =3D =
[18,91,17,16,20,9,27,112,113,114,115,116,117,118,119,120,121,122,123,145,=
19,36,33,34,35,38,39,40,37,144,13];
	if(!containsElements(filter,keycode))
	IGNORE_UNLOAD =3D false;
}

/************************************************************************=
*******
* To work with cancel button
* @author Tony Thomas - Greynium Information Technologies Pvt. Ltd. | =
6/18/2008
*************************************************************************=
********/
function cancelConfirm(str){

	IGNORE_UNLOAD =3D true;

	var msg1 =3D 'Are you sure want to cancel?';

	if (confirm(msg1)){
		document.location.href=3D'index.php?module=3D'+str;
		return true;
	}else{
		return false;
	}
}

/************************************************************************=
*******
* To work with confirm button
* @author Tony Thomas - Greynium Information Technologies Pvt. Ltd. | =
31-Jan-2008
*************************************************************************=
********/
function actionConfirm(str,msg,frmname){
	if (confirm(msg)){
		return true;
	}else{
		return false;
	}
}

/************************************************************************=
*******
* count the number of words
* @author TonyThomas - Greynium Information Technologies Pvt. Ltd. | =
7/30/2008
*************************************************************************=
********/
function countWords(y){
	//var y=3Dy;
	var r =3D 0;
	a=3Dy.replace(/\s/g,' ');
	a=3Da.split(' ');
	for (z=3D0; z<a.length; z++) {if (a[z].length > 0) r++;}
	return r;
}

/************************************************************************=
*******
* To validate users
* @author Tony Thomas - Greynium Information Technologies Pvt. Ltd. | =
6/18/2008
*************************************************************************=
********/
function validate_user(val) {

	if(val !=3D '1' && val !=3D '2')	{
		if(!nullCheck("username","Please enter user name") || =
!checkLen(4,"username","Username should contain minimum 4 characters") =
|| !validateUserName('username')) {
			return false;
		}
		if(!nullCheck("password","Please enter password") || =
!checkLen(6,"password","Password should contain minimum 6 characters") =
|| !nullCheck("cpassword","Please enter confirm password") || =
!equal("password","cpassword","Password did not Match"))
				return false;
	}

	if(val !=3D '2' && val !=3D '3') {
		if(document.getElementById('user_type') && =
document.getElementById('user_type').selectedIndex =3D=3D '0') {
				alert("Please select user type");
				return false;
		}
	}
	if(!nullCheck("first_name","Please enter first name") || =
!alphaSpaceOnly("first_name") || !validateName('first_name')) {
			return false;
	}

	if(!nullCheck("last_name","Please enter last name") || =
!alphaSpaceOnly("last_name") || !validateName('last_name')) {
			return false;
	}

	if(document.getElementById('last_name').value !=3D '') {
			if(!alphaSpaceOnly("last_name"))
				return false;
	}

	if(!nullCheck("email","Please enter email") || =
!emailValidation("email")) {
			return false;
	}

	/*if(document.getElementById('phone1_1').value !=3D '' || =
document.getElementById('phone1_2').value !=3D '' || =
document.getElementById('phone1_3').value !=3D ''){
		if(!isPhoneValid("phone1_1") || !isPhoneValid("phone1_2") || =
!isPhoneValid("phone1_3")){
			return false;
		}
		if(document.getElementById('phone1_3').value.length < 4){
			alert("Please enter valid phone code");
			return false;
		}
	}*/

	if(document.getElementById('phone1_1').value !=3D ''){
		if(!isPhoneValid("phone1_1")){
			return false;
		}
	}

	if (document.getElementById('boxchecked').value =3D=3D 0)
		{
			alert('Please Select Access Level');
			return false;
		}
	return true;
}

/************************************************************************=
*******
* To validate Pages
* @author Tony Thomas - Greynium Information Technologies Pvt. Ltd. | =
6/19/2008
*************************************************************************=
********/
function validatePage(formname){
	tinyMCE.triggerSave();
	var obj =3D eval('document.' + formname);

/*
	if(!nullCheck('meta_title','Please enter the meta Title')){
		return false;
	 }

	if(document.getElementById('meta_title').value !=3D ''){
		if (!isValidName('meta_title','Please enter valid meta title')){
			return false;
		}
	}

	var jdesc=3Dobj.meta_description;

 	if(jdesc.value=3D=3D''){
      		 alert("Please enter the meta description");
      		 obj.meta_description.focus();
      		 return false;
        }
    	if(jdesc.value!=3D''){
       		desc=3DTrimstr(jdesc.value)
       		if (desc.length=3D=3D0){
          		 alert("Please enter the meta description");
           		obj.meta_description.focus();
          		 return false;
       		}
       		if (desc.length>500){
                 	alert("Please enter meta descriptin upto 500 =
characters");
                	 obj.meta_description.focus();
                 	return false;
        	 }
        }
	var metakeywords=3Dobj.meta_keywords;

 	if(metakeywords.value=3D=3D''){
      		 alert("Please enter the meta keywords");
      		 obj.meta_keywords.focus();
      		 return false;
        }
    	if(metakeywords.value!=3D''){
       		desc=3DTrimstr(metakeywords.value)
       		if (desc.length=3D=3D0){
          		 alert("Please enter the meta keywords");
           		 obj.meta_keywords.focus();
          		 return false;
       		}
       		if (desc.length>500){
                 	alert("Please enter meta keywords upto 500 =
characters");
                	 obj.meta_keywords.focus();
                 	return false;
        	 }
        }

*/
	//if( !nullCheck('subject','Please enter the subject')){
		//return false;
	//}

	//if (!isValidName('subject','Please enter valid subject')){
		//return false;
	//}

	if(!nullCheck("subject","Please enter title") || =
!isValidName('subject')) {
		return false;
	}
	/*if(!alphanumeric('subject')) {
		alert("Please enter valid title")
		document.getElementById('subject').focus();
		//alert(document.getElementById('title').value);
		//val.title.select();
		return false;
	}*/

	/*if( (obj.author.value !=3D '')&&(!alphaSpaceOnly('author')) ) {
		alert("Please enter valid Author")
		document.getElementById('author').focus();
		return false;
	}*/

	if(countWords(obj.summary.value)>2000){
		alert('You can enter maximum of 2000 words into the summary');
		obj.summary.focus();
		return false;
	}

	if( (obj.image_type[1].checked) && (obj.image_file.value =3D=3D '') && =
(obj.img_path.value =3D=3D '')){
		alert('Please select photo');
		obj.image_file.focus();
		return false;
	}

	if(obj.image_file.value !=3D ''){
		imagePath =3D obj.image_file.value;

		var pathLength =3D imagePath.length;
		var lastDot =3D imagePath.lastIndexOf(".");
		var fileType =3D imagePath.substring(lastDot,pathLength);

		if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| (fileType =
=3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =3D=3D ".GIF") =
|| (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) {

		} else {
		alert("Upload only .JPG, .JPEG, and .GIF image formats. Your file-type =
is " + fileType);
		return false;
		}
	}

	var  s=3Dobj.content.value;
	if(s.indexOf('<img') =3D=3D '-1'){
		s=3Ds.replace(/<(.*?)>/g,"");
		s=3Ds.replace(/<(\/.*?)>/g,"");
		s=3Ds.replace(/[ ]/g,"");
	}

	s =3D s.replace(/&nbsp;/g,'');
	s=3DTrimstr(s);

	if(s.length=3D=3D0){
		alert("Please enter the content")
		//obj.content.focus();
		return false;
	}

	 if(s.length>35000){
	  	 alert("Please enter the content not more than 35000 characters")
	  	 //obj.content.focus();
	  	 return false;
	 }
	if (obj.category_id.value=3D=3D0){
		alert("Select the category");
		obj.category_id.focus();
		return false;
	}

	if( (obj.publish_date.value !=3D '') || (obj.publish_end_date.value =
!=3D '') )
	{
		var today  =3D new Date();
		var month =3D today.getMonth() + 1;
		if (month < 10){
			month =3D "0" + month;
		}
		var day   =3D today.getDate();
		if (day < 10){
			day =3D "0" + day;
		}
		var year  =3D today.getFullYear();
		var today1 =3D year+'-'+month+'-'+day;

		//alind changing the condition from less than equal to less than only
		/*if(obj.display_start_date.value < today1){
			alert("Display start date should be greater than today");
			obj.display_start_date.focus();
			return false;
		}*/

		if (obj.publish_end_date.value < obj.publish_date.value){
			alert("Display end date should be greater than or equal to Display =
start date");
			obj.publish_end_date.focus();
			return false;
		}
	}

	IGNORE_UNLOAD =3D true;
	obj.target=3D'';
	obj.action =3D '?module=3Dpages';

 }



//MouseOver Event for photos
function showPhoto(img, anc){
	document.getElementById('hover_image').src=3D'';
	document.getElementById('hover_image').src=3Dimg;
	document.getElementById('hover_image').style.left=3D(getX(anc) * =
1)+100;
	document.getElementById('hover_image').style.top=3DgetY(anc);
	document.getElementById('hover_image').style.display=3D'block';
}

//MouseOut Event for photos
function hidePhoto(){
	document.getElementById('hover_image').src=3D'';
	document.getElementById('hover_image').style.display=3D'none';
}

//get X Position value for any given object
function getX(obj){
	var o =3D obj;
	var x =3D o.offsetLeft;
	o =3D o.offsetParent;
	while(o !=3D null){
		x +=3D o.offsetLeft;
		o =3D o.offsetParent;
	}
	return x;
}

//get Y Position value for any given object
function getY(obj){
	var o =3D obj;
	var y =3D o.offsetTop + o.offsetHeight;
	o =3D o.offsetParent;
	while(o !=3D null){
		y +=3D o.offsetTop;
		o =3D o.offsetParent;
	}
	return y;
}


function loadAlbumRecord(id, name, parent_id){
	resetMessage();
	document.getElementById('id').value =3D id;
	document.getElementById('name').value =3D name;
	document.getElementById('parent_id').value =3D parent_id;
	//document.getElementById('parent_id').selectedIndex =3D parent_id;
	//document.formAdd.parent_id.selectedIndex =3D parent_id;
}

function loadFolderRecord(id, name, parent_id){
	resetMessage();
	document.getElementById('id').value =3D id;
	document.getElementById('name').value =3D name;
	document.getElementById('parent_id').value =3D parent_id;

	// this section is used to disable the parent category drop down list =
for categories
	// 120  -> supplements, 69 -> news , 105 -> movie guide
	if(id =3D=3D 120 || id =3D=3D 69 || id =3D=3D 105 || id =3D=3D 125 || =
id =3D=3D 121 || id =3D=3D 127 || id =3D=3D 126 || id =3D=3D 124 || id =
=3D=3D 122 || id =3D=3D 123){
		document.getElementById('parent_id').disabled =3D true;
	}else{
		document.getElementById('parent_id').disabled =3D false;
	}
	//document.getElementById('parent_id').selectedIndex =3D parent_id;
	//document.formAdd.parent_id.selectedIndex =3D parent_id;
}

function resetMessage(){
	if(document.getElementById('ErrorMessage')) =
document.getElementById('ErrorMessage').innerHTML =3D '';
}

function strpos( haystack, needle, offset){
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// *     example 1: strpos('Kevin van Zonneveld', 'e', 5);
	// *     returns 1: 14

	var i =3D haystack.indexOf( needle, offset ); // returns -1
	return i >=3D 0 ? i : -1;
}

function showHide(theid){

	var browser=3Dnavigator.appName;

	if (browser=3D=3D'Netscape'){
		if (document.getElementById){
			var switch_id =3D document.getElementById(theid);

			if (switch_id.className !=3D 'ShowRowFireFox'){
				document.getElementById(theid).className =3D 'ShowRowFireFox';
			}
			else{
				document.getElementById(theid).className =3D 'Hide';
			}
		}
	}

	else if (document.getElementById){
		var switch_id =3D document.getElementById(theid);

		if (switch_id.className !=3D 'Show'){
			document.getElementById(theid).className =3D 'Show';
		}
		else{
			document.getElementById(theid).className =3D 'Hide';
		}
	}
}


//Photo validation
function validatePhoto(formname){
	var obj =3D eval('document.' + formname);
	var id =3D obj.id.value;
	if(id > 0){
		if(obj.photo_file.value !=3D ''){
			imagePath =3D obj.photo_file.value;
			var pathLength =3D imagePath.length;
			var lastDot =3D imagePath.lastIndexOf(".");
			var fileType =3D imagePath.substring(lastDot,pathLength);
			if((fileType =3D=3D ".gif") || (fileType =3D=3D ".jpg") || (fileType =
=3D=3D ".jpeg") || (fileType =3D=3D ".GIF") || (fileType =3D=3D ".JPG") =
|| (fileType =3D=3D ".JPEG")) {

			} else {
			alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
			return false;
			}
		}
		if(obj.title.value =3D=3D ''){
			alert("Please enter photo title");
			obj.title.focus();
			return false;
		}
		if (!isValidString('title','Please enter valid title')){
			return false;
		}

		if(obj.copyright.value !=3D ''){
			if(obj.copyright.value.length>99)
			{
				alert("Copyright cannot exceed more than 100 characters");
				obj.copyright.focus();
				return false;
			}
		}

	}
	else{
		if(obj.photo_file.value =3D=3D ''){
			if(obj.photo_file.value =3D=3D ''){
				alert("Please select photo");
				return false;
			}
		}


		if(obj.photo_file.value !=3D ''){

			imagePath =3D obj.photo_file.value;

			var pathLength =3D imagePath.length;
			var lastDot =3D imagePath.lastIndexOf(".");
			var fileType =3D imagePath.substring(lastDot,pathLength);

			if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| (fileType =
=3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =3D=3D ".GIF") =
|| (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) {

			} else {
			alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
			return false;
			}

		}

		if(obj.title.value =3D=3D ''){
			alert("Please enter photo title");
			obj.title.focus();
			return false;
		}
		if (!isValidString('title','Please enter valid title')){
			return false;
		}

		if(obj.copyright.value !=3D ''){
			if(obj.copyright.value.length>99)
			{
				alert("Copyright cannot exceed more than 100 characters");
				obj.copyright.focus();
				return false;
			}
		}

	}

	IGNORE_UNLOAD =3D true;
	return true;
}

function validateWeather(formname){


    var obj =3D eval('document.' + formname);
    var id =3D obj.id.value;


    if(id =3D=3D"")
    {
        //if(obj.summary.value =3D=3D ''){
            //alert("Please enter summary");
            //obj.summary.focus();
            //return false;
        //}

       if(!nullCheck("summary","Please enter summary")) {
			return false;
		}
		if(obj.summary.value !=3D ''){
			if(obj.summary.value.length>9999)
			{
				alert("Summary cannot exceed more than 10000 characters");
				obj.summary.focus();
				return false;
			}
		}

		/*if(!nullCheck("temp_present","Please enter todays temperature")) {
			return false;
		}

		if(!isInteger("temp_present")){
			return false;
		}*/

		if(obj.temp_max.value !=3D '' && isNaN(obj.temp_max.value)){
			alert("please enter number only as maximum temperature");
			return false;
		}

		if(obj.temp_min.value !=3D '' && isNaN(obj.temp_min.value)){
			alert("please enter number only as minimum temperature");
			return false;
		}



		/*
        if(!nullCheck("forecast","Please enter forecast")) {
			return false;
		}

         if(obj.forecast.value !=3D ''){
			if(obj.forecast.value.length>9999)
			{
				alert("Forecast cannot exceed more than 10000 characters");
				obj.forecast.focus();
				return false;
			}
		}

        if(!nullCheck("outlook","Please enter outlook")) {
			return false;
		}

         if(obj.outlook.value !=3D ''){
			if(obj.outlook.value.length>9999)
			{
				alert("Outlook cannot exceed more than 10000 characters");
				obj.outlook.focus();
				return false;
			}
		}

        if(obj.image_small.value =3D=3D ''){

                alert("Please select home page image");
                return false;
            }



        if(obj.image_small.value !=3D ''){

            imagePath =3D obj.image_small.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }
*/
        if(obj.image_big.value =3D=3D ''){

                alert("Please select Detailed page image");
                return false;

        }

        if(obj.image_big.value !=3D ''){

            imagePath =3D obj.image_big.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }

       	if(obj.publish_date.value =3D=3D ''){
    		alert("Please select date");
		obj.publish_date.focus();
				return false;
	   }
    }
    else
    {

    	 if(obj.summary.value =3D=3D ''){
            alert("Please enter summary");
            obj.summary.focus();
            return false;
        }
        if(obj.summary.value !=3D ''){
			if(obj.summary.value.length>9999)
			{
				alert("Summary cannot exceed more than 10000 characters");
				obj.summary.focus();
				return false;
			}
		}

		/*if(!nullCheck("temp_present","Please enter todays temperature")) {
			return false;
		}

		if(!isInteger("temp_present")){
			return false;
		}*/

		if(obj.temp_max.value !=3D '' && isNaN(obj.temp_max.value)){
			alert("please enter number only as maximum temperature");
			return false;
		}

		if(obj.temp_min.value !=3D '' && isNaN(obj.temp_min.value)){
			alert("please enter number only as minimum temperature");
			return false;
		}

		/*
        if(obj.forecast.value =3D=3D ''){
            alert("Please enter forecast");
            obj.forecast.focus();
            return false;
        }

        if(obj.forecast.value !=3D ''){
			if(obj.forecast.value.length>9999)
			{
				alert("Forecast cannot exceed more than 10000 characters");
				obj.forecast.focus();
				return false;
			}
		}

        if(obj.outlook.value =3D=3D ''){
            alert("Please enter outlook");
            obj.outlook.focus();
            return false;
        }

     	 if(obj.outlook.value !=3D ''){
			if(obj.outlook.value.length>9999)
			{
				alert("Outlook cannot exceed more than 10000 characters");
				obj.outlook.focus();
				return false;
			}
		}


       if(obj.image_small.value !=3D ''){

            imagePath =3D obj.image_small.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }
*/
        if(obj.image_big.value !=3D ''){

            imagePath =3D obj.image_big.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }



    }
    //}
    IGNORE_UNLOAD =3D true;
    return true;

 }


 function validateCartoon(formname){


    var obj =3D eval('document.' + formname);
    var id =3D obj.id.value;


    if(id =3D=3D"")
    {

        if(obj.title.value =3D=3D ''){
            alert("Please enter title");
            obj.title.focus();
            return false;
        }


       //if(obj.description.value =3D=3D ''){
           //alert("Please enter description");
           //obj.description.focus();
           //return false;
        //}

        if(obj.description.value !=3D ''){
			if(obj.description.value.length>4999)
			{
				alert("Description cannot exceed more than 5000 characters");
				obj.description.focus();
				return false;
			}
		}

        //if(obj.outlook.value =3D=3D ''){
            //alert("Please enter outlook");
            //obj.outlook.focus();
            //return false;
        //}

        //if(obj.image_small.value =3D=3D ''){

                //alert("Please select Home page image");
                //return false;
            //}


        //if(obj.image_small.value !=3D ''){

            //imagePath =3D obj.image_small.value;

            //var pathLength =3D imagePath.length;
            //var lastDot =3D imagePath.lastIndexOf(".");
            //var fileType =3D imagePath.substring(lastDot,pathLength);

            //if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            //} else {
            //alert("Upload only .JPG, .JPEG, and .GIF image formats. =
Your file-type is " + fileType);
            //return false;
            //}

        //}

         if(obj.image_big.value =3D=3D ''){

                alert("Please select Detailed page image");
                return false;

        }


        if(obj.image_big.value !=3D ''){

            imagePath =3D obj.image_big.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }

       	if(obj.publish_date.value =3D=3D ''){
    		alert("Please enter date");
		obj.publish_date.focus();
				return false;
	   }
    }
    else
    {

    	 if(obj.title.value =3D=3D ''){
            alert("Please enter title");
            obj.title.focus();
            return false;
        }


        //if(obj.description.value =3D=3D ''){
           //alert("Please enter description");
            //obj.description.focus();
           //return false;
       //}

        //if(obj.outlook.value =3D=3D ''){
            //alert("Please enter outlook");
            //obj.outlook.focus();
            //return false;
        //}



       //if(obj.image_small.value !=3D ''){

            //imagePath =3D obj.image_small.value;

            //var pathLength =3D imagePath.length;
            //var lastDot =3D imagePath.lastIndexOf(".");
            //var fileType =3D imagePath.substring(lastDot,pathLength);

            //if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            //} else {
            //alert("Upload only .JPG, .JPEG, and .GIF image formats. =
Your file-type is " + fileType);
            //return false;
            //}

        //}

        if(obj.image_big.value !=3D ''){

            imagePath =3D obj.image_big.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }



    }
    //}
    IGNORE_UNLOAD =3D true;
    return true;

 }

 function checkStartDate(datestr){
	var orgdate=3Ddatestr.split(' ');
	var dte=3Dorgdate[0].split('-');
	var dt=3D new Date();
	dt.setFullYear(dte[0]);
	dt.setMonth(dte[1]-1);
	dt.setDate(dte[2]);
	var day=3Ddt.getDate();
	var dayofweek=3Ddt.getDay();
	if(dayofweek =3D=3D 0)return true;
	return false;
}
function checkEndDate(datestr){
	var orgdate=3Ddatestr.split(' ');
	var dte=3Dorgdate[0].split('-');
	var dt=3D new Date();
	dt.setFullYear(dte[0]);
	dt.setMonth(dte[1]-1);
	dt.setDate(dte[2]);
	var day=3Ddt.getDate();
	var dayofweek=3Ddt.getDay();
	if(dayofweek =3D=3D 6)return true;
	return false;
}


function validateDates(obj){
	var start_date=3Dobj.start_date.value;
	var end_date=3Dobj.end_date.value;
	var year=3Dobj.year.value;
	var day=3Dobj.day.value;
	if(!obj.func[0].checked && !obj.func[1].checked && !obj.func[2].checked =
){
		alert("Please select Yearly / Weekly / Daily");
		return false;
	}
	if(obj.func[0].checked){
		if(year=3D=3D''){
			alert('Please select the year');
			return false;
		}
	}
	if(obj.func[1].checked){
		if(start_date=3D=3D''){
			alert('Select start date (Sunday)');
			return false;
		}
		if(start_date!=3D''){
			if(!checkStartDate(start_date)){
				alert('Select valid start date of week(Sunday)');
				return false;
			}
		}


		if(end_date=3D=3D''){
			alert('Select end date (Saturday)');
			return false;
		}
		if(end_date!=3D''){
			if(!checkEndDate(end_date)){
				alert('Select valid end date of week(Saturday)');
				return false;
			}
		}

		var one_day =3D 1000 * 60 * 60 * 24 ;

		var start_dd =3D start_date.split(" ");

		var dat1 =3D start_dd[0].split("-");

		if(dat1[1]<10)
		{
			month1 =3D (dat1[1].substr(1))-1;
			//alert(month1+ 'month1')	;
		}
		else
		{
			month1 =3D dat1[1]-1;
		}

		if(dat1[2]<10)
		{
			day1 =3D dat1[2].substr(1);
			//alert(day1+ 'day1')	;
		}
		else
		{
			day1 =3D dat1[2];
		}
		var date1 =3D new Date(dat1[0], month1, day1);

		var end_dd =3D end_date.split(" ");

		var dat2 =3D end_dd[0].split("-");

		if(dat2[1]<10)
		{
			month2 =3D dat2[1].substr(1)-1;
		}
		else
		{
			month2 =3D dat2[1]-1;
		}

		if(dat2[2]<10)
		{
			day2 =3D dat2[2].substr(1);
		}
		else
		{
			day2 =3D dat2[2];
		}

		var date2 =3D new Date(dat2[0], month2, day2);


		var diff =3D (date2.getTime() - date1.getTime());

		//Calculate difference btw the two dates, and convert to days

		var days_diff =3D Math.ceil((diff/one_day)+1);

		if(days_diff>7 || days_diff =3D=3D 0 || days_diff < 0 )
		{
			alert('You have selected Invalid date');
			return false;
		}

	}

	if(obj.func[2].checked){
		if(day=3D=3D''){
			alert('Please select the date');
			return false;
		}
	}
	return true;
}


//function alphaSpaceOnly1(fldId,tag) {
	//var myRegxp =3D /^[a-zA-Z ]+$/;
	//var str     =3D document.getElementById(fldId).value;
    //if( !myRegxp.test(str) ){
		//alert(tag +" " + "name allows only alphabets and spaces");
		//PageLoadFocus(fldId);
		//return false;
	//}else{
		//return true;
	//}
//}


 function validateHoroscope(obj){

 	var horo=3Dnew =
Array('aries','taurus','gemini','cancer','leo','virgo','libra','scorpio',=
'sagittarius','capricorn','aquarius','pisces');
 	//alert(obj.start_date.value);return false;
 	for(var i=3D0;i<12;i++){
		tag=3Dhoro[i];

		//var names =3D 'name_'+tag;
		//alert(names);


		if(eval('obj.name_'+tag+'.value')=3D=3D''){ //|| =
!validateName('first_name')

			alert('Enter '+tag+' title');

			eval('obj.name_'+tag+'.focus()');
			return false;
		}

		if(Trim(eval('obj.name_'+tag+'.value'))){ //|| =
!validateName('first_name')

			alert('Enter '+tag+' valid title');

			eval('obj.name_'+tag+'.focus()');
			return false;
		}




		 /*if (!alphanumeric('name_'+tag)){
		 	return false;
		}*/



		if(eval('obj.description_'+tag+'.value')=3D=3D''){
			alert('Enter '+tag+' description');
			eval('obj.description_'+tag+'.focus()');
			return false;
		}
		if(Trim(eval('obj.description_'+tag+'.value'))){
			alert('Enter '+tag+' valid description');
			eval('obj.description_'+tag+'.focus()');
			return false;
		}


		if(eval('obj.description_'+tag+'.value')!=3D ''){
			if(eval('obj.description_'+tag+'.value').length>4999)
			{
				alert("Description cannot exceed more than 5000 characters");
				eval('obj.description_'+tag+'.focus()');
				return false;
			}
		}
		/*if(obj.year.value!=3D''){

			if(eval('obj.talisman_'+tag+'.value')=3D=3D''){
				alert('Enter '+tag+' talisman value');
				eval('obj.talisman_'+tag+'.focus()');
				return false;
			}
			if(Trim(eval('obj.talisman_'+tag+'.value'))){
				alert('Enter '+tag+' valid talisman value');
				eval('obj.talisman_'+tag+'.focus()');
				return false;
			}
			if (!alphanumeric('talisman_'+tag)){
		 		return false;
			}

			if(eval('obj.crystal_'+tag+'.value')=3D=3D''){
				alert('Enter '+tag+' crystal value');
				eval('obj.crystal_'+tag+'.focus()');
				return false;
			}
			if(Trim(eval('obj.crystal_'+tag+'.value'))){
				alert('Enter '+tag+' valid crystal value');
				eval('obj.crystal_'+tag+'.focus()');
				return false;
			}
			if (!alphanumeric('crystal_'+tag)){
		 		return false;
			}
		}*/
		if(obj.start_date.value!=3D''){


			if(eval('obj.gem_'+tag+'.value')=3D=3D''){
				alert('Enter '+tag+' gem value');
				eval('obj.gem_'+tag+'.focus()');
				return false;
			}
			if(Trim(eval('obj.gem_'+tag+'.value'))){
				alert('Enter '+tag+' valid gem value');
				eval('obj.gem_'+tag+'.focus()');
				return false;
			}
			if (!alphanumeric('gem_'+tag)){
		 		return false;
			}
		}

		if(eval('obj.oldimage_'+tag+'.value')=3D=3D''){
			/*if(eval('obj.image_'+tag+'.value')=3D=3D''){
				alert('Enter '+tag+' image');
				eval('obj.image_'+tag+'.focus()');
				return false;
			}*/
        	if(eval('obj.image_'+tag+'.value')!=3D''){
        		imagePath =3D eval('obj.image_'+tag+'.value');
    	        var pathLength =3D imagePath.length;
        	    var lastDot =3D imagePath.lastIndexOf(".");
            	var fileType =3D imagePath.substring(lastDot,pathLength);
                if((fileType =3D=3D ".gif") || (fileType =3D=3D =
".gif")|| (fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || =
(fileType =3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D =
".JPEG")) {
                } else {

           			alert("In"+" "+tag+" "+"Upload only .JPG, .JPEG, and .GIF =
image formats. Your file-type is " + fileType);
            		return false;
	            }
            }
		}

		//if(eval('obj.oldimage_'+tag+'.value')!=3D''){

        	if(eval('obj.image_'+tag+'.value')!=3D''){
        	    imagePath =3D eval('obj.image_'+tag+'.value');
    	        var pathLength =3D imagePath.length;
        	    var lastDot =3D imagePath.lastIndexOf(".");
            	var fileType =3D imagePath.substring(lastDot,pathLength);
                if((fileType =3D=3D ".gif") || (fileType =3D=3D =
".gif")|| (fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || =
(fileType =3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D =
".JPEG")) {
                } else {

           			alert("In"+" " +tag+" "+"Upload only .JPG, .JPEG, and .GIF =
image formats. Your file-type is " + fileType);
            		return false;
	            }
            }
		//}

		if(obj.day.value!=3D'' || obj.start_date.value!=3D'' ){

			if(eval('obj.color_'+tag+'.value')=3D=3D''){
				alert('Enter '+tag+' color value');
				eval('obj.color_'+tag+'.focus()');
				return false;
			}
			if(Trim(eval('obj.color_'+tag+'.value'))){
				alert('Enter '+tag+' valid color');
				eval('obj.color_'+tag+'.focus()');
				return false;
			}
			if (!alphanumeric('color_'+tag)){
		 		return false;
			}
			if(eval('obj.number_'+tag+'.value')=3D=3D''){
				alert('Enter '+tag+' number');
				eval('obj.number_'+tag+'.focus()');
				return false;
			}
			if(!isInteger('number_'+tag)){
				//alert('Enter '+tag+' number');
				//eval('obj.number_'+tag+'.focus()');
				return false;
			}


		}

 	}
 	if(obj.astro_image_id.value =3D=3D ''){
 		alert("please select a astrologer image");
 		return false;
 	}
 	return true;
 }


 function validateRegistration(val) {
	if(val !=3D '1' && val !=3D '2')	{
		if(!nullCheck("register_username","Please enter user name") || =
!checkLen(4,"register_username","Username should contain minimum 4 =
characters") || !validateUserName('register_username')) {
			return false;
		}
		if(!nullCheck("register_password","Please enter password") || =
!checkLen(6,"register_password","Password should contain minimum 6 =
characters") || !nullCheck("cpassword","Please enter confirm password") =
|| !equal("register_password","cpassword","Passwords do not Matched"))
				return false;
	}

	if(val !=3D '2' && val !=3D '3') {
		if(document.getElementById('user_type') && =
document.getElementById('user_type').selectedIndex =3D=3D '0') {
				alert("Please select user type");
				return false;
		}
	}
	if(!nullCheck("first_name","Please enter first name") || =
!alphaSpaceOnly("first_name")) {
			return false;
	}

	if(val =3D=3D '4'){

		if(!nullCheck("last_name","Please enter last name") || =
!alphaSpaceOnly("last_name")) {
				return false;
		}

		if(!nullCheck("email","Please enter email") || =
!emailValidation("email") ) {
				return false;
		}

		if(document.getElementById('zip').value !=3D ''){
			var s =3D document.getElementById('zip').value;
			if (isNaN(s)) {
				alert("Please Enter Numbers Only in Zipcode");
				return false;
			}
		}
	}

	/*if(document.getElementById('phone1_1').value !=3D '' || =
document.getElementById('phone1_2').value !=3D '' || =
document.getElementById('phone1_3').value !=3D ''){
		if(!isPhoneValid("phone1_1") || !isPhoneValid("phone1_2") || =
!isPhoneValid("phone1_3") ){
			return false;
		}
		if(document.getElementById('phone1_3').value.length < 4){
			alert("Please enter valid phone code");
			return false;
		}
	}*/

	if(document.getElementById('phone1_1').value !=3D ''){
		if(!isPhoneValid("phone1_1")){
			return false;
		}
	}

	if(document.getElementById('last_name').value !=3D '') {
			if(!alphaSpaceOnly("last_name"))
				return false;
	}

	if(val !=3D '4'){
		/*if(!nullCheck("email","Please enter email") || =
!emailValidation("email") || !isPhoneValid("phone1_1") || =
!isPhoneValid("phone1_2") || !isPhoneValid("phone1_3")) {
				return false;
		}*/

		if(!nullCheck("email","Please enter email") || =
!emailValidation("email") || !isPhoneValid("phone1_1")) {
				return false;
		}

		if(document.getElementById('address1').value =3D=3D '') {
				alert("Please enter address1");
				document.getElementById('address1').focus();
				return false;
		}

		if(document.getElementById('country_id').selectedIndex =3D=3D '0') {
				alert("Please select country");
				return false;
		}

		if(document.getElementById('state_id').selectedIndex =3D=3D '0') {
				alert("Please select state");
				return false;
		}

		if(document.getElementById('city_id').value =3D=3D '') {
				alert("Please enter city");
				document.getElementById('city_id').focus();
				return false;
		}

		if(!nullCheck("zip","Please enter zip")) {
				return false;
		}
	}
	//IGNORE_UNLOAD =3D true;
	return true;
}

function validateChangePassword(frm) {
	if(frm.current_password.value =3D=3D '') {
		alert('Please enter current password');
			return false;
	}
	if(frm.new_password.value =3D=3D '') {
		alert('Please enter new password');
			return false;
	}
	else if(frm.new_password.value.length < 6) {
		alert('New password should be greater than 6 digits');
			return false;
	}
	if(frm.retype_new_password.value =3D=3D '') {
		alert('Please enter retype new password');
			return false;
	}
	if(frm.new_password.value !=3D frm.retype_new_password.value) {
		alert('New password and Retype new password should be same');
		return false;
	}
		IGNORE_UNLOAD =3D true;

		return true;
}

function getStatesByCountryId(country_id) {

	var pageURL =3D =
"get_info.php?func=3Dget_states&country_id=3D"+country_id;
	var status =3D AjaxRequest.get(
		{
		'url':pageURL,
		'onSuccess':function(req){ =
document.getElementById('states_list').innerHTML =3D req.responseText; =
}, 'onError':function(req){ =
alert('Error!\nStatusText=3D'+req.statusText+'\nContents=3D'+req.response=
Text); }
		}
	);


}



function validateStock(formname){


    var obj =3D eval('document.' + formname);
    //var id =3D obj.id.value;


  //  if(id =3D=3D"")
  //  {
        //if(obj.bse_sensex.value =3D=3D ''){
            //alert("Please enter bse_sensex");
            //obj.bse_sensex.focus();
            //return false;
        //}

       if(!nullCheck("bse_sensex","Please enter bse sensex")) {
       	obj.bse_sensex.focus();
				return false;

		}

		if(obj.bse_sensex.value !=3D '' || Trim(obj.bse_sensex.value)){
			obj.bse_sensex.value =3D obj.bse_sensex.value.split(",").join("");
			if(!isNaN(obj.bse_sensex.value)){

				if(obj.bse_sensex.value.lastIndexOf(".") =3D=3D '-1'){
					if(obj.bse_sensex.value.length > 8){
						alert("please enter 8 digits only in bse sensex");
						obj.bse_sensex.focus();
						return false;
					}
				}
			}
		else{
			alert("please enter valid bse sensex");
			obj.bse_sensex.focus();
			return false;
			}

		}

        if(!nullCheck("bse_difference","Please enter bse difference")) {
               	obj.bse_difference.focus();
				return false;
		}

		if(obj.bse_difference.value !=3D '' || =
Trim(obj.bse_difference.value)){
			obj.bse_difference.value =3D =
obj.bse_difference.value.split(",").join("");
			if(!isNaN(obj.bse_difference.value)){

				if(obj.bse_difference.value.lastIndexOf(".") =3D=3D '-1'){
					if(obj.bse_difference.value.length > 8){
						alert("please enter 8 digits only in bse difference");
						obj.bse_difference.focus();
						return false;
					}
				}
			}
		else{
			alert("please enter valid bse difference");
			obj.bse_difference.focus();
			return false;
			}

		}

       if(!nullCheck("nse_sensex","Please enter nse sensex")) {
       			obj.nse_sensex.focus();
				return false;
		}


		if(obj.nse_sensex.value !=3D '' || Trim(obj.nse_sensex.value)){
			obj.nse_sensex.value =3D obj.nse_sensex.value.split(",").join("");
			if(!isNaN(obj.nse_sensex.value)){

				if(obj.nse_sensex.value.lastIndexOf(".") =3D=3D '-1'){
					if(obj.nse_sensex.value.length > 8){
						alert("please enter 8 digits only in nse sensex");
						obj.nse_sensex.focus();
						return false;
					}
				}
			}
		else{
			alert("please enter valid nse sensex");
			obj.nse_sensex.focus();
			return false;
			}

		}

          if(!nullCheck("nse_difference","Please enter nse difference")) =
{
          		obj.nse_difference.focus();
				return false;
		}

		if(obj.nse_difference.value !=3D '' || =
Trim(obj.nse_difference.value)){
			obj.nse_difference.value =3D =
obj.nse_difference.value.split(",").join("");
			if(!isNaN(obj.nse_difference.value)){

				if(obj.nse_difference.value.lastIndexOf(".") =3D=3D '-1'){
					if(obj.nse_difference.value.length > 8){
						alert("please enter 8 digits only in nse difference");
						obj.nse_difference.focus();
						return false;
					}
				}
			}
		else{
			alert("please enter valid nse difference");
			obj.nse_difference.focus();
			return false;
			}

		}



       var cnt=3D1;
		for (var i=3D0;i<obj.elements.length;i++ ){
			if(obj.elements[i].type =3D=3D 'text' && obj.elements[i].name =3D=3D =
'price[]'){
				if(obj.elements[i].value !=3D '' || Trim(obj.elements[i].value)){
					obj.elements[i].value =3D =
obj.elements[i].value.split(",").join("");
					if(!isNaN(obj.elements[i].value)){

						if(obj.elements[i].value.lastIndexOf(".") =3D=3D '-1'){
							if(obj.elements[i].value.length > 8){
								alert("please enter 8 digits only");
								return false;
							}
						}
					}
					else{
						alert("please enter valid price");
						return false;
					}

				}
				cnt++;
			}

		}


		   if(!nullCheck("publish_date","Please enter publish date")) {
				return false;
		}

       return true;
  //  }
}

//var floatRegExp =3D =
/^([+\-])?\d*([\.])?\d*([eE]([+\-])?)?\d*$/;([\w-]+(?:\.[\w-]+)*)


/************************************************************************=
*******
* To work with cancel button for yearly calender
* @author Smitha R- Greynium Information Technologies Pvt. Ltd. | =
10/07/2008
*************************************************************************=
********/
function cancelYearlyCalender(str){

	IGNORE_UNLOAD =3D true;

	var msg1 =3D 'Are you sure want to cancel?';

	if (confirm(msg1)){
		document.location.href=3D'index.php';
		return true;
	}else{
		return false;
	}
}

function isValidName(fldId,msg){
	var obj =3D document.getElementById(fldId).value;
	var pattern=3D/[*/\\:"><|]@/;

	if(pattern.test(obj)){
		alert(msg);
	   	PageLoadFocus(fldId);
   		return false;
    }
    else return true;
}

//function validateInteger(fldId) {
	//var myRegxp =3D /^([+\- 0-9 .])+$/;
	//var str     =3D document.getElementById(fldId).value;
    //if(! myRegxp.test(str)){
		//alert("Please Enter Valid price");
		//PageLoadFocus(fldId);
		//return false;
	//}else{
		//return true;
	//}
//}

//function isValidCurrency(theField) {
            //var val =3D theField.value;
            //val =3D val.replace(/\s/g, ""); //remove whitespace

            //if(val.search(/^\d{1,3}(,?\d{3})*\.?(\d{1,2})?$/) =3D=3D =
-1) {
                        //alert(" is not a valid amount.");
                        //return false;
            //}
            //else {
                        //return true;
            //}
      //}



function getFrontendStatesByCountryId(country_id,referer) {

	var actual_referer =3D referer;
	var pageURL =3D =
"get_info.php?func=3Dget_states&country_id=3D"+country_id;

	var status =3D AjaxRequest.get(
		{
		'url':pageURL,
		'onSuccess':function(req){ if(actual_referer =
!=3D''){setReferer(actual_referer)} =
document.getElementById('states_list').innerHTML =3D req.responseText; =
}, 'onError':function(req){ =
alert('Error!\nStatusText=3D'+req.statusText+'\nContents=3D'+req.response=
Text); }
		}
	);


}

function setReferer(temp_referer){

		var pageURL =3D temp_referer;
		var status =3D AjaxRequest.get(
			{
			'url':pageURL,
			'onSuccess':function(req){ return 1 ;}, 'onError':function(req){ =
alert('Error!\nStatusText=3D'+req.statusText+'\nContents=3D'+req.response=
Text); }
			}
		);

	}

function validateLogin() {
	var frm =3D document.login_form1;
	if(frm.username.value =3D=3D '') {
		alert("Username should not be empty");
		frm.username.focus();
		return false;
	}
	if(frm.password.value =3D=3D '') {
		alert("Password should not be empty");
		frm.password.focus();
		return false;
	}
	return true;
}




function reportAError() {

	var emailMatch =3D =
/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;

	var  mail_from =3D document.getElementById('your_email').value;
	var mail_body =3D document.getElementById('message').value;
	var mail_subject =3D document.getElementById('subject').value;
	var captcha =3D document.getElementById('captcha').value;

	if( !nullCheck('name','Please enter the name') || =
!validateUserName('name')){
		return false;
	}

    if(frmEmail.your_email.value.length =3D=3D 0 || =
!emailMatch.test(frmEmail.your_email.value)) {
       alert('Please enter valid Mail ID');
       frmEmail.your_email.focus();
       frmEmail.your_email.select();
       return false;
	}
	if( !nullCheck('subject','Please enter subject')){
		return false;
	}

	if( !nullCheck('message','Please enter the message')){
		return false;
	}
   else if(frmEmail.message.value.length < 5 ) {
       alert('Message cannot be less than 5 characters');
       frmEmail.message.focus();
       frmEmail.message.select();
       return false;
   }
   else if(frmEmail.message.value.length > 3000 ) {
       alert('Message cannot exceed more than 3000 characters');
       frmEmail.message.focus();
       frmEmail.message.select();
       return false;
   }
	if( !nullCheck('captcha','Please enter the code')){
		return false;
	}


  	return true;
}





function validateCalender(formname){
	//alert("dfji");

    var obj =3D eval('document.' + formname);
    var id =3D obj.id.value;


    if(id =3D=3D"")
    {
        if(obj.year.value =3D=3D ''){
            alert("Please select year");
            obj.year.focus();
            return false;
        }




        if(obj.photo_file.value =3D=3D ''){

                alert("Please select photo");
                return false;
            }



        if(obj.photo_file.value !=3D ''){

            imagePath =3D obj.photo_file.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }


    }
    else
    {

    	 if(obj.year.value =3D=3D ''){
            alert("Please enter year");
            obj.year.focus();
            return false;
        }




        if(obj.photo_file.value =3D=3D ''){

                alert("Please select photo");
                return false;
            }



        if(obj.photo_file.value !=3D ''){

            imagePath =3D obj.photo_file.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }



    }
    //}
    IGNORE_UNLOAD =3D true;
    return true;

 }


 function tellAFriend() {

 	 var urlAddress =3D window.location.href;
	var emailMatch =3D =
/^(([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+(\;)=
*)+$/;
 	var mail_to=3D document.getElementById('friend_email').value;
	/*var temp =3D =
document.getElementById('friend_email').value.split(';');
 	alert(temp.length);*/
	var  mail_from =3D document.getElementById('your_email').value;
	var mail_body =3D document.getElementById('message').value;
	document.getElementById('addr').value =3D window.location.href;

    if(frmEmail.your_email.value.length =3D=3D 0 || =
!emailMatch.test(frmEmail.your_email.value)) {
       alert('Please Enter valid Mail ID');
       frmEmail.your_email.focus();
       frmEmail.your_email.select();
       return false;
	}
	else if(frmEmail.friend_email.value.length =3D=3D 0 || =
!emailMatch.test(frmEmail.friend_email.value))
	{
       alert('Please Enter valid friends mail id');
       frmEmail.friend_email.focus();
       frmEmail.friend_email.select();
       return false;
	}
   else if(frmEmail.message.value.length < 5 ) {
       alert('Message cannot be less than 5 characters');
       frmEmail.message.focus();
       frmEmail.message.select();
       return false;
   }
   else if(frmEmail.message.value.length > 3000 ) {
       alert('Message cannot exceed more than 3000 characters');
       frmEmail.message.focus();
       frmEmail.message.select();
       return false;
   }

   //var status =3D AjaxRequest.submit (
       //frmEmail
       //,{
           //'onSuccess':function(req) {
				//response =3D req.responseText;
				////alert(response);
   		   //}
           //,'onError':function(req) {
               //alert('There is a problem to send your message.');

           //}
       //}
   //);

	//frmEmail.reset();
	return true;
}



 /*------------------------------------------------------------------
          Poll front end Module
------------------------------------------------------------------*/

function viewPollResult(value, id){

	var url =3D "weekly_polls.php?q=3D"+value+"&id=3D"+id;
	AjaxRequest.get(
		{
		  'url':url
		  ,'onSuccess':function(req){ =
document.getElementById('show_poll').innerHTML=3Dreq.responseText; }
		}
	  );
}

function setPollOptionsFlag(){

	if(document.getElementById('options_flag').value=3D=3D0){
		document.getElementById('options_flag').value=3D1;
		return 0
	}
	else{
		document.getElementById('options_flag').value=3D1;
		return 0
	}
}

function setPollViewFlag(){

	if(document.getElementById('view_flag').value=3D=3D1){
		document.getElementById('view_flag').value=3D0;
		document.frmPolls.action=3D"index.php";
		document.frmPolls.submit();
		return false;

	}
	return false;
}

function validatePolls(url){


	if(document.getElementById('user_id').value=3D=3D''){
		document.location =3D url+'login.php';
		return false;
	}

	if(document.getElementById('options_flag').value=3D=3D0){
		alert("Please select an option");
		return false;
	}

	return votePoll(url)

}

function votePoll(base_url){
	var i;
	var options =3D '';
	var temp=3D'';
		for(i=3D0;i<document.frmPolls.options.length;i++)
			{
				if(document.frmPolls.options[i].checked)
					{
						options =3D document.frmPolls.options[i].value;
						if(temp=3D=3D''){
							temp =3D temp+options;
						}
						else{
							temp =3D temp+","+options;
						}
					}
			}


			var value =3D document.getElementById('vote_flag').value;
			var uid =3D document.getElementById('user_id').value;
			var pid =3D document.getElementById('poll_id').value;

			var url =3D =
base_url+"weekly_polls.php?q=3D"+value+"&options=3D"+temp+"&user_id=3D"+u=
id+"&poll_id=3D"+pid;

			//return false;
			AjaxRequest.get(
				{
				  'url':url
				  ,'onSuccess':function(req){ =
document.getElementById('show_poll').innerHTML=3Dreq.responseText; }
				}
			  );

	return false;
}
/*------------------------------------------------------------------
          End of Poll front end
------------------------------------------------------------------*/

/*------------------------------------------------------------------
       weekly Poll listing front end Module
------------------------------------------------------------------*/

function setOptionsFlag(){

	if(document.getElementById('options_flag').value=3D=3D0){
		document.getElementById('options_flag').value=3D1;
	}
	else{
		document.getElementById('options_flag').value=3D1;
	}
}

function setViewFlag(id){

	document.getElementById('set_flag').innerHTML =3D "<input type=3Dhidden =
name=3Df value=3D2>";
	if(document.getElementById('view_flag').value=3D=3D1){
		document.getElementById('poll_id').value=3Did;

		document.frmPollList.action=3D"weekly_polls_list.php";
		document.frmPollList.submit();
		return false;
	}
	return false;

}


/*------------------------------------------------------------------
         weekly Poll listing front end
------------------------------------------------------------------*/

function validatePollList(vote_id){

	if(document.getElementById('user_id').value=3D=3D''){
		document.location =3D 'login.php';
		return false;
	}

	document.getElementById('poll_id').value=3Dvote_id;

	if(document.getElementById('options_flag').value=3D=3D0){
		alert("Please select an option");
		return false;
	}

}

/*------------------------------------------------------------------
          End of weekly Poll listing front end
------------------------------------------------------------------*/

/* ---------- classified categories ---*/

function loadClassifiedCat(id, name){
	resetMessage();
	document.getElementById('id').value =3D id;
	document.getElementById('name').value =3D name;
}

/*--------ends classified categories -------*/


/*-----------classified upload validations------------*/

 function validateClassifedUpload(formname){

    var obj =3D eval('document.' + formname);

        if(obj.uploaded_date.value =3D=3D ''){
            alert("Please select a date");
            return false;
        }


        if(obj.pdf_file.value =3D=3D ''){
			alert("Please select a file");
			return false;
        }
    return true;
}

function cancelClassifiedUpload(str){

var msg1 =3D 'Are you sure want to cancel?';

	if (confirm(msg1)){
		document.location.href=3D'index.php';
		return true;
	}else{
		return false;
	}
}
   /*-----------ENDS classified upload validations------------*/

/************************************************************************=
*******
* To work with cancel button in front end
* @author Alind Tiwari - Greynium Information Technologies Pvt. Ltd. | =
27-july-2008
*************************************************************************=
********/
function cancelConfirmFrontEnd(str){

	var msg1 =3D 'Are you sure want to cancel?';
	if (confirm(msg1)){
		if(str=3D=3D''){
			document.location.href=3D'index.php';
		}
		else{
			document.location.href=3Dstr;
		}
	}
	else{
		return false;
	}
}

function addToFavorites(){
	var urlAddress =3D window.location.href;
	var pageName =3D document.title;
	if ((navigator.appName =3D=3D "Microsoft Internet Explorer") && =
(parseInt(navigator.appVersion) >=3D 4)) {
	  window.external.AddFavorite(urlAddress,pageName);
	}
	else if (navigator.appName =3D=3D "Firefox") {
		window.sidebar.addPanel(pageName,urlAddress,"");
	}
	else {
		alert("Press CTRL-D (Firefox) or CTRL-T (Opera) to bookmark");
	}
}

function validateEditProfile(){

	if(!nullCheck("first_name","Please enter first name") || =
!alphaSpaceOnly("first_name")) {
		return false;
	}

	if(!nullCheck("last_name","Please enter last name") || =
!alphaSpaceOnly("last_name")) {
			return false;
	}

	if(!nullCheck("email","Please enter email") || =
!emailValidation("email") ) {
			return false;
	}

	if(document.getElementById('zip').value !=3D ''){
		var s =3D document.getElementById('zip').value;
		if (isNaN(s)) {
			alert("Please Enter Numbers Only in Zipcode");
			return false;
    	}
	}
}

function validateHorizontalMenu(formname)
{
	var obj =3D eval('document.' + formname);

	if(document.getElementById('type_id').value =3D=3D '0'){
		alert('Please select type');
		return false;
	}


	if(document.getElementById('type_id').value =3D=3D '2'){
		if(obj.parent_id.value=3D=3D'0'){
			alert('Please select a different category');
			return false;
		}
	}

	if( !nullCheck('title','Please enter title')){
		return false;
	}

	if (!validateMenuTitle('title')){
		return false;
	}

	if(Trimstr(obj.url.value) !=3D ''){
		var myRegxp =3D /"/;
		var str     =3D obj.url.value;
    	if(myRegxp.test(str)){
			alert("please enter valid URL");
			PageLoadFocus('url');
			return false;
		}
	}
	/*if( !checkSelect('parent_id','Select Parent') ){
		return false;
	}*/
	var temp_id			=3D document.getElementById('id').value;
	var temp_parent_id	=3D document.getElementById('parent_menu').value;

	if(temp_id =3D=3D temp_parent_id){
		alert("A menu item cannot be parent of itself");
		return false;
	}

	IGNORE_UNLOAD =3D true;
	return true;
}

function validateMenuTitle(fldId) {
	var myRegxp =3D /^[a-zA-Z0-9\.\-\'& ]+$/;
	var str     =3D document.getElementById(fldId).value;
    if(! myRegxp.test(str)){
		alert('Please enter valid title');
		//PageLoadFocus(fldId);
		return false;
	}else{
		return true;
	}
}


function validateWisdom(formname){


    var obj =3D eval('document.' + formname);
    var id =3D obj.id.value;


    if(id =3D=3D"")
    {

       if(!nullCheck("quote","Please enter quote")) {
			return false;
		}


        if(!nullCheck("author","Please enter author")) {
			return false;
		}

         //if(obj.forecast.value !=3D ''){
			//if(obj.forecast.value.length>4999)
			//{
				//alert("Forecast cannot exceed more than 5000 characters");
				//obj.forecast.focus();
				//return false;
			//}
		//}


       	if(obj.wisdom_date.value =3D=3D ''){
    		alert("Please enter date");
		obj.wisdom_date.focus();
				return false;
	   }
    }
    else
    {

    	 if(!nullCheck("quote","Please enter quote")) {
			return false;
		}


        if(!nullCheck("author","Please enter author")) {
			return false;
		}




       	if(obj.wisdom_date.value =3D=3D ''){
    		alert("Please enter date");
		obj.wisdom_date.focus();
				return false;
	   }

   }
    //}
    IGNORE_UNLOAD =3D true;
    return true;

 }


function cancelThis()
{
	if(confirm("Are you sure you want to cancel?")){
		history.go(-1);
		return true;
	}else{
		return false;
	}


}

//for resize the images

function resize(which, max) {
  var elem =3D document.getElementById(which);
  if (elem =3D=3D undefined || elem =3D=3D null) return false;
  if (max =3D=3D undefined) max =3D 100;
  if (elem.width > elem.height) {
	if (elem.width > max) elem.width =3D max;
  } else {
	if (elem.height > max) elem.height =3D max;
  }
}

function validatehoro_images(formname){
	//alert("dfji");

    var obj =3D eval('document.' + formname);


    	if(obj.astro_name.value =3D=3D ''){
            alert("Please enter astro name");
            obj.astro_name.focus();
            return false;
        }





        if(obj.photo_file.value =3D=3D ''){

                alert("Please select photo");
                return false;
            }



        if(obj.photo_file.value !=3D ''){

            imagePath =3D obj.photo_file.value;

            var pathLength =3D imagePath.length;
            var lastDot =3D imagePath.lastIndexOf(".");
            var fileType =3D imagePath.substring(lastDot,pathLength);

            if((fileType =3D=3D ".gif") || (fileType =3D=3D ".gif")|| =
(fileType =3D=3D ".jpg") || (fileType =3D=3D ".jpeg") || (fileType =
=3D=3D ".GIF") || (fileType =3D=3D ".JPG") || (fileType =3D=3D ".JPEG")) =
{

            } else {
            alert("Upload only .JPG, .JPEG, and .GIF image formats. Your =
file-type is " + fileType);
            return false;
            }

        }

    IGNORE_UNLOAD =3D true;
    return true;

 }

 function loadBreakingNewsCategory(id, name){
	resetMessage();
	document.getElementById('id').value =3D id;
	document.getElementById('name').value =3D name;
	//document.getElementById('description').value =3D =
document.getElementById('faq_category_'+id).innerHTML;
}

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/ajax_request.js

// =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
// Author: Matt Kruse <matt@ajaxtoolbox.com>
// WWW: http://www.AjaxToolbox.com/
//
// NOTICE: You may use this code for any purpose, commercial or
// private, without any further permission from the author. You may
// remove this notice from your final code if you wish, however it is
// appreciated by the author if at least my web site address is kept.
//
// You may *NOT* re-distribute this code in any way except through its
// use. That means, you can include it in your product, or your web
// site, or any other form where the code is actually being used. You
// may not put the plain javascript up on your site for download or
// include it in your javascript libraries for download.=20
// If you wish to share this code with others, please just point them
// to the URL instead.
// Please DO NOT link directly to my .js files from your site. Copy
// the files to your server and use them there. Thank you.
// =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

/**
 * The AjaxRequest class is a wrapper for the XMLHttpRequest objects =
which=20
 * are available in most modern browsers. It simplifies the interfaces =
for
 * making Ajax requests, adds commonly-used convenience methods, and =
makes=20
 * the process of handling state changes more intuitive.
 * An object may be instantiated and used, or the Class methods may be =
used=20
 * which internally create an AjaxRequest object.
 */
function AjaxRequest() {
	var req =3D new Object();
=09
	// -------------------
	// Instance properties
	// -------------------

	/**
	 * Timeout period (in ms) until an async request will be aborted, and
	 * the onTimeout function will be called
	 */
	req.timeout =3D null;
=09
	/**
	 *	Since some browsers cache GET requests via XMLHttpRequest, an
	 * additional parameter called AjaxRequestUniqueId will be added to
	 * the request URI with a unique numeric value appended so that the =
requested
	 * URL will not be cached.
	 */
	req.generateUniqueUrl =3D true;
=09
	/**
	 * The url that the request will be made to, which defaults to the =
current=20
	 * url of the window
	 */
	req.url =3D window.location.href;
=09
	/**
	 * The method of the request, either GET (default), POST, or HEAD
	 */
	req.method =3D "GET";
=09
	/**
	 * Whether or not the request will be asynchronous. In general, =
synchronous=20
	 * requests should not be used so this should rarely be changed from =
true
	 */
	req.async =3D true;
=09
	/**
	 * The username used to access the URL
	 */
	req.username =3D null;
=09
	/**
	 * The password used to access the URL
	 */
	req.password =3D null;
=09
	/**
	 * The parameters is an object holding name/value pairs which will be=20
	 * added to the url for a GET request or the request content for a POST =
request
	 */
	req.parameters =3D new Object();
=09
	/**
	 * The sequential index number of this request, updated internally
	 */
	req.requestIndex =3D AjaxRequest.numAjaxRequests++;
=09
	/**
	 * Indicates whether a response has been received yet from the server
	 */
	req.responseReceived =3D false;
=09
	/**
	 * The name of the group that this request belongs to, for activity=20
	 * monitoring purposes
	 */
	req.groupName =3D null;
=09
	/**
	 * The query string to be added to the end of a GET request, in proper=20
	 * URIEncoded format
	 */
	req.queryString =3D "";
=09
	/**
	 * After a response has been received, this will hold the text contents =
of=20
	 * the response - even in case of error
	 */
	req.responseText =3D null;
=09
	/**
	 * After a response has been received, this will hold the XML content
	 */
	req.responseXML =3D null;
=09
	/**
	 * After a response has been received, this will hold the status code =
of=20
	 * the response as returned by the server.
	 */
	req.status =3D null;
=09
	/**
	 * After a response has been received, this will hold the text =
description=20
	 * of the response code
	 */
	req.statusText =3D null;

	/**
	 * An internal flag to indicate whether the request has been aborted
	 */
	req.aborted =3D false;
=09
	/**
	 * The XMLHttpRequest object used internally
	 */
	req.xmlHttpRequest =3D null;

	// --------------
	// Event handlers
	// --------------
=09
	/**
	 * If a timeout period is set, and it is reached before a response is=20
	 * received, a function reference assigned to onTimeout will be called
	 */
	req.onTimeout =3D null;=20
=09
	/**
	 * A function reference assigned will be called when readyState=3D1
	 */
	req.onLoading =3D null;

	/**
	 * A function reference assigned will be called when readyState=3D2
	 */
	req.onLoaded =3D null;

	/**
	 * A function reference assigned will be called when readyState=3D3
	 */
	req.onInteractive =3D null;

	/**
	 * A function reference assigned will be called when readyState=3D4
	 */
	req.onComplete =3D null;

	/**
	 * A function reference assigned will be called after onComplete, if=20
	 * the statusCode=3D200
	 */
	req.onSuccess =3D null;

	/**
	 * A function reference assigned will be called after onComplete, if=20
	 * the statusCode !=3D 200
	 */
	req.onError =3D null;
=09
	/**
	 * If this request has a group name, this function reference will be =
called=20
	 * and passed the group name if this is the first request in the group =
to=20
	 * become active
	 */
	req.onGroupBegin =3D null;

	/**
	 * If this request has a group name, and this request is the last =
request=20
	 * in the group to complete, this function reference will be called
	 */
	req.onGroupEnd =3D null;

	// Get the XMLHttpRequest object itself
	req.xmlHttpRequest =3D AjaxRequest.getXmlHttpRequest();
	if (req.xmlHttpRequest=3D=3Dnull) { return null; }
=09
	// -------------------------------------------------------
	// Attach the event handlers for the XMLHttpRequest object
	// -------------------------------------------------------
	req.xmlHttpRequest.onreadystatechange =3D=20
	function() {
		if (req=3D=3Dnull || req.xmlHttpRequest=3D=3Dnull) { return; }
		if (req.xmlHttpRequest.readyState=3D=3D1) { =
req.onLoadingInternal(req); }
		if (req.xmlHttpRequest.readyState=3D=3D2) { req.onLoadedInternal(req); =
}
		if (req.xmlHttpRequest.readyState=3D=3D3) { =
req.onInteractiveInternal(req); }
		if (req.xmlHttpRequest.readyState=3D=3D4) { =
req.onCompleteInternal(req); }
	};
=09
	// =
-------------------------------------------------------------------------=
--
	// Internal event handlers that fire, and in turn fire the user event =
handlers
	// =
-------------------------------------------------------------------------=
--
	// Flags to keep track if each event has been handled, in case of=20
	// multiple calls (some browsers may call the onreadystatechange=20
	// multiple times for the same state)
	req.onLoadingInternalHandled =3D false;
	req.onLoadedInternalHandled =3D false;
	req.onInteractiveInternalHandled =3D false;
	req.onCompleteInternalHandled =3D false;
	req.onLoadingInternal =3D=20
		function() {
			if (req.onLoadingInternalHandled) { return; }
			AjaxRequest.numActiveAjaxRequests++;
			if (AjaxRequest.numActiveAjaxRequests=3D=3D1 && =
typeof(window['AjaxRequestBegin'])=3D=3D"function") {
				AjaxRequestBegin();
			}
			if (req.groupName!=3Dnull) {
				if =
(typeof(AjaxRequest.numActiveAjaxGroupRequests[req.groupName])=3D=3D"unde=
fined") {
					AjaxRequest.numActiveAjaxGroupRequests[req.groupName] =3D 0;
				}
				AjaxRequest.numActiveAjaxGroupRequests[req.groupName]++;
				if (AjaxRequest.numActiveAjaxGroupRequests[req.groupName]=3D=3D1 && =
typeof(req.onGroupBegin)=3D=3D"function") {
					req.onGroupBegin(req.groupName);
				}
			}
			if (typeof(req.onLoading)=3D=3D"function") {
				req.onLoading(req);
			}
			req.onLoadingInternalHandled =3D true;
		};
	req.onLoadedInternal =3D=20
		function() {
			if (req.onLoadedInternalHandled) { return; }
			if (typeof(req.onLoaded)=3D=3D"function") {
				req.onLoaded(req);
			}
			req.onLoadedInternalHandled =3D true;
		};
	req.onInteractiveInternal =3D=20
		function() {
			if (req.onInteractiveInternalHandled) { return; }
			if (typeof(req.onInteractive)=3D=3D"function") {
				req.onInteractive(req);
			}
			req.onInteractiveInternalHandled =3D true;
		};
	req.onCompleteInternal =3D=20
		function() {
			if (req.onCompleteInternalHandled || req.aborted) { return; }
			req.onCompleteInternalHandled =3D true;
			AjaxRequest.numActiveAjaxRequests--;
			if (AjaxRequest.numActiveAjaxRequests=3D=3D0 && =
typeof(window['AjaxRequestEnd'])=3D=3D"function") {
				AjaxRequestEnd(req.groupName);
			}
			if (req.groupName!=3Dnull) {
				AjaxRequest.numActiveAjaxGroupRequests[req.groupName]--;
				if (AjaxRequest.numActiveAjaxGroupRequests[req.groupName]=3D=3D0 && =
typeof(req.onGroupEnd)=3D=3D"function") {
					req.onGroupEnd(req.groupName);
				}
			}
			req.responseReceived =3D true;
			req.status =3D req.xmlHttpRequest.status;
			req.statusText =3D req.xmlHttpRequest.statusText;
			req.responseText =3D req.xmlHttpRequest.responseText;
			req.responseXML =3D req.xmlHttpRequest.responseXML;
			if (typeof(req.onComplete)=3D=3D"function") {
				req.onComplete(req);
			}
			if (req.xmlHttpRequest.status=3D=3D200 && =
typeof(req.onSuccess)=3D=3D"function") {
				req.onSuccess(req);
			}
			else if (typeof(req.onError)=3D=3D"function") {
				req.onError(req);
			}

			// Clean up so IE doesn't leak memory
			delete req.xmlHttpRequest['onreadystatechange'];
			req.xmlHttpRequest =3D null;
		};
	req.onTimeoutInternal =3D=20
		function() {
			if (req!=3Dnull && req.xmlHttpRequest!=3Dnull && =
!req.onCompleteInternalHandled) {
				req.aborted =3D true;
				req.xmlHttpRequest.abort();
				AjaxRequest.numActiveAjaxRequests--;
				if (AjaxRequest.numActiveAjaxRequests=3D=3D0 && =
typeof(window['AjaxRequestEnd'])=3D=3D"function") {
					AjaxRequestEnd(req.groupName);
				}
				if (req.groupName!=3Dnull) {
					AjaxRequest.numActiveAjaxGroupRequests[req.groupName]--;
					if (AjaxRequest.numActiveAjaxGroupRequests[req.groupName]=3D=3D0 && =
typeof(req.onGroupEnd)=3D=3D"function") {
						req.onGroupEnd(req.groupName);
					}
				}
				if (typeof(req.onTimeout)=3D=3D"function") {
					req.onTimeout(req);
				}
			// Opera won't fire onreadystatechange after abort, but other =
browsers do.=20
			// So we can't rely on the onreadystate function getting called. =
Clean up here!
			delete req.xmlHttpRequest['onreadystatechange'];
			req.xmlHttpRequest =3D null;
			}
		};

	// ----------------
	// Instance methods
	// ----------------
	/**
	 * The process method is called to actually make the request. It builds =
the
	 * querystring for GET requests (the content for POST requests), sets =
the
	 * appropriate headers if necessary, and calls the=20
	 * XMLHttpRequest.send() method
	*/
	req.process =3D=20
		function() {
			if (req.xmlHttpRequest!=3Dnull) {
				// Some logic to get the real request URL
				if (req.generateUniqueUrl && req.method=3D=3D"GET") {
					req.parameters["AjaxRequestUniqueId"] =3D new Date().getTime() + "" =
+ req.requestIndex;
				}
				var content =3D null; // For POST requests, to hold query string
				for (var i in req.parameters) {
					if (req.queryString.length>0) { req.queryString +=3D "&"; }
					req.queryString +=3D encodeURIComponent(i) + "=3D" + =
encodeURIComponent(req.parameters[i]);
				}
				if (req.method=3D=3D"GET") {
					if (req.queryString.length>0) {
						req.url +=3D ((req.url.indexOf("?")>-1)?"&":"?") + =
req.queryString;
					}
				}
				=
req.xmlHttpRequest.open(req.method,req.url,req.async,req.username,req.pas=
sword);
				if (req.method=3D=3D"POST") {
					if (typeof(req.xmlHttpRequest.setRequestHeader)!=3D"undefined") {
						req.xmlHttpRequest.setRequestHeader('Content-type', =
'application/x-www-form-urlencoded');
					}
					content =3D req.queryString;
				}
				if (req.timeout>0) {
					setTimeout(req.onTimeoutInternal,req.timeout);
				}
				req.xmlHttpRequest.send(content);
			}
		};

	/**
	 * An internal function to handle an Object argument, which may contain
	 * either AjaxRequest field values or parameter name/values
	 */
	req.handleArguments =3D=20
		function(args) {
			for (var i in args) {
				// If the AjaxRequest object doesn't have a property which was =
passed, treat it as a url parameter
				if (typeof(req[i])=3D=3D"undefined") {
					req.parameters[i] =3D args[i];
				}
				else {
					req[i] =3D args[i];
				}
			}
		};

	/**
	 * Returns the results of XMLHttpRequest.getAllResponseHeaders().
	 * Only available after a response has been returned
	 */
	req.getAllResponseHeaders =3D
		function() {
			if (req.xmlHttpRequest!=3Dnull) {
				if (req.responseReceived) {
					return req.xmlHttpRequest.getAllResponseHeaders();
				}
				alert("Cannot getAllResponseHeaders because a response has not yet =
been received");
			}
		};

	/**
	 * Returns the the value of a response header as returned by=20
	 * XMLHttpRequest,getResponseHeader().
	 * Only available after a response has been returned
	 */
	req.getResponseHeader =3D
		function(headerName) {
			if (req.xmlHttpRequest!=3Dnull) {
				if (req.responseReceived) {
					return req.xmlHttpRequest.getResponseHeader(headerName);
				}
				alert("Cannot getResponseHeader because a response has not yet been =
received");
			}
		};

	return req;
}

// ---------------------------------------
// Static methods of the AjaxRequest class
// ---------------------------------------

/**
 * Returns an XMLHttpRequest object, either as a core object or an =
ActiveX=20
 * implementation. If an object cannot be instantiated, it will return =
null;
 */
AjaxRequest.getXmlHttpRequest =3D function() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		// Based on http://jibbering.com/2002/4/httprequest.html
		/*@cc_on @*/
		/*@if (@_jscript_version >=3D 5)
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				return null;
			}
		}
		@end @*/
	}
	else {
		return null;
	}
};

/**
 * See if any request is active in the background
 */
AjaxRequest.isActive =3D function() {
	return (AjaxRequest.numActiveAjaxRequests>0);
};

/**
 * Make a GET request. Pass an object containing parameters and =
arguments as=20
 * the second argument.
 * These areguments may be either AjaxRequest properties to set on the =
request=20
 * object or name/values to set in the request querystring.
 */
AjaxRequest.get =3D function(args) {
	AjaxRequest.doRequest("GET",args);
};

/**
 * Make a POST request. Pass an object containing parameters and =
arguments as=20
 * the second argument.
 * These areguments may be either AjaxRequest properties to set on the =
request=20
 * object or name/values to set in the request querystring.
 */
AjaxRequest.post =3D function(args) {
	AjaxRequest.doRequest("POST",args);
};

/**
 * The internal method used by the .get() and .post() methods
 */
AjaxRequest.doRequest =3D function(method,args) {
	if (typeof(args)!=3D"undefined" && args!=3Dnull) {
		var myRequest =3D new AjaxRequest();
		myRequest.method =3D method;
		myRequest.handleArguments(args);
		myRequest.process();
	}
}	;

/**
 * Submit a form. The requested URL will be the form's ACTION, and the =
request=20
 * method will be the form's METHOD.
 * Returns true if the submittal was handled successfully, else false so =
it=20
 * can easily be used with an onSubmit event for a form, and fallback to =

 * submitting the form normally.
 */
AjaxRequest.submit =3D function(theform, args) {
	var myRequest =3D new AjaxRequest();
	if (myRequest=3D=3Dnull) { return false; }
	var serializedForm =3D AjaxRequest.serializeForm(theform);
	myRequest.method =3D theform.method.toUpperCase();
	myRequest.url =3D theform.action;
	myRequest.handleArguments(args);
	myRequest.queryString =3D serializedForm;
	myRequest.process();
	return true;
};

/**
 * Serialize a form into a format which can be sent as a GET string or a =
POST=20
 * content.It correctly ignores disabled fields, maintains order of the =
fields=20
 * as in the elements[] array. The 'file' input type is not supported, =
as=20
 * its content is not available to javascript. This method is used =
internally
 * by the submit class method.
 */
AjaxRequest.serializeForm =3D function(theform) {
	var els =3D theform.elements;
	var len =3D els.length;
	var queryString =3D "";
	this.addField =3D=20
		function(name,value) {=20
			if (queryString.length>0) {=20
				queryString +=3D "&";
			}
			queryString +=3D encodeURIComponent(name) + "=3D" + =
encodeURIComponent(value);
		};
	for (var i=3D0; i<len; i++) {
		var el =3D els[i];
		if (!el.disabled) {
			switch(el.type) {
				case 'text': case 'password': case 'hidden': case 'textarea':=20
					this.addField(el.name,el.value);
					break;
				case 'select-one':
					if (el.selectedIndex>=3D0) {
						this.addField(el.name,el.options[el.selectedIndex].value);
					}
					break;
				case 'select-multiple':
					for (var j=3D0; j<el.options.length; j++) {
						if (el.options[j].selected) {
							this.addField(el.name,el.options[j].value);
						}
					}
					break;
				case 'checkbox': case 'radio':
					if (el.checked) {
						this.addField(el.name,el.value);
					}
					break;
			}
		}
	}
	return queryString;
};

// -----------------------
// Static Class variables
// -----------------------

/**
 * The number of total AjaxRequest objects currently active and running
 */
AjaxRequest.numActiveAjaxRequests =3D 0;

/**
 * An object holding the number of active requests for each group
 */
AjaxRequest.numActiveAjaxGroupRequests =3D new Object();

/**
 * The total number of AjaxRequest objects instantiated
 */
AjaxRequest.numAjaxRequests =3D 0;


------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/comments.js

/**=0A=
* pages modeule - Client-Side Scripts - Comments=0A=
*=0A=
* LICENSE: This file belongs to Greynium Information Technologies Pvt.Ltd=0A=
*=0A=
* @category   JavaScript=0A=
* @package    script.js=0A=
* @author     Vikram Reddy N (vikram.reddy@greynium.com)=0A=
* @copyright  2007-2008 Greynium Information Technologies=0A=
* @version    1.0=0A=
* @see        comments.js=0A=
* @since      File available since Release 1.0.x=0A=
* @deprecated File Not yet deprecated=0A=
*/=0A=
function Ltrim(val)=0A=
{=0A=
return val.replace(/^\s+/,"");=0A=
}=0A=
function Rtrim(val)=0A=
{=0A=
return val.replace(/\s+$/,"");=0A=
}=0A=
function trim(val)=0A=
{=0A=
return Ltrim(Rtrim(val));=0A=
}=0A=
=0A=
function addComment(theForm){=0A=
	var err=3D'', response;=0A=
	var comment =3D theForm.description.value;=0A=
	if(trim(theForm.visitor_email.value)=3D=3D''){=0A=
		//err +=3D'Please enter valid Email Id.';=0A=
		alert('Email Id cannot be blank.');=0A=
		return false;=0A=
	}=0A=
=0A=
	if(trim(theForm.visitor_email.value)!=3D''){=0A=
		var =
filter=3D/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6=
}(?:\.[a-z]{2})?)$/i=0A=
		if (filter.test(theForm.visitor_email.value)) {=0A=
			//return true;=0A=
		}=0A=
		else {=0A=
			//err +=3D'Email Id cannot be blank.';=0A=
			alert('Please enter valid Email Id.');=0A=
			return false;=0A=
		}=0A=
	}=0A=
=0A=
	if(trim(comment)=3D=3D""){=0A=
		//err +=3D'Comment cannot be blank.\n';=0A=
		alert('Comment cannot be blank.\n');=0A=
		return false;=0A=
	}=0A=
	if(trim(theForm.scode.value)=3D=3D''){=0A=
		//err +=3D'Please enter Security Code.';=0A=
		alert('Please enter Security Code.');=0A=
		return false;=0A=
	}=0A=
=0A=
	/*if(err !=3D '')=0A=
	{=0A=
		alert(err);=0A=
		return false;=0A=
	}*/=0A=
	var theDiv =3D 'DisplayAllComments';=0A=
	var vid =3D theForm.vid.value;=0A=
	var pid =3D theForm.pid.value;=0A=
	var container_id =3D theForm.container_id.value;=0A=
	var status =3D AjaxRequest.submit(=0A=
		theForm=0A=
		,{=0A=
			'onSuccess':function(req)=0A=
			{=0A=
			  response =3D trim(req.responseText);=0A=
			  //alert("alind"+response);=0A=
			  if(response =3D=3D 'error')=0A=
			  {=0A=
				alert('Please enter valid security code.');=0A=
			  }=0A=
			  else if(response =3D=3D 'success')=0A=
			  {=0A=
				closeDiv(container_id);=0A=
				alert('Your comment has been added.');=0A=
				showComments(vid, pid);=0A=
			  }=0A=
			  else=0A=
			  {=0A=
				//alert(response);=0A=
				alert('Failed to post your comments.');=0A=
			  }=0A=
			}=0A=
			,'onError':function(req)=0A=
			{=0A=
			  =
alert('Error!\nStatusText=3D'+req.statusText+'\nContents=3D'+req.response=
Text);=0A=
			}=0A=
		}=0A=
	);=0A=
	return false;=0A=
}=0A=
=0A=
function reportAbuse(theForm){=0A=
	var err=3D'', response, checked =3D false;=0A=
	if((theForm.abusecheck1.checked =3D=3D true) || =
(theForm.abusecheck2.checked =3D=3D true) || =
(theForm.abusecheck3.checked =3D=3D true) || =
(theForm.abusecheck4.checked =3D=3D true) || =
(theForm.abusecheck5.checked =3D=3D true) || =
(theForm.abusecheck6.checked =3D=3D true))=0A=
	{=0A=
		checked=3D true;=0A=
	}=0A=
	if(!checked)=0A=
	{=0A=
		err +=3D 'Please select the reason(s) that best describe your =
complaint\n';=0A=
	}=0A=
	if(trim(theForm.scode.value)=3D=3D''){=0A=
		err +=3D'Please enter Security Code.';=0A=
	}=0A=
	if(err !=3D '')=0A=
	{=0A=
		alert(err);=0A=
		return false;=0A=
	}=0A=
=0A=
	var vid =3D theForm.vid.value;=0A=
	var container_id =3D theForm.container_id.value;=0A=
=0A=
	var status =3D AjaxRequest.submit(=0A=
		theForm=0A=
		,{=0A=
			'onSuccess':function(req)=0A=
			{=0A=
			  response =3D req.responseText;=0A=
			  //alert(response);=0A=
			  if(response =3D=3D 'error')=0A=
			  {=0A=
				alert('Please enter valid security code.');=0A=
			  }=0A=
			  else if(response =3D=3D 'success')=0A=
			  {=0A=
				closeDiv(container_id);=0A=
				alert('Your abuse report has been sent.');=0A=
			  }=0A=
			  else if(response =3D=3D 'failed1')=0A=
			  {=0A=
				alert('Failed to send your abuse report.');=0A=
			  }=0A=
			  else=0A=
			  {=0A=
				alert('Failed to send your abuse report.');=0A=
			  }=0A=
=0A=
			}=0A=
			,'onError':function(req)=0A=
			{=0A=
			  =
alert('Error!\nStatusText=3D'+req.statusText+'\nContents=3D'+req.response=
Text);=0A=
			}=0A=
		}=0A=
	);=0A=
	return false;=0A=
}=0A=
=0A=
function showComments(vid, pid){=0A=
	document.getElementById('preDiv').value =3D '';=0A=
	var pageURL =3D "/templates/comments/show_comments_"+vid+".html"; =
//"/show_comments.php?id=3D"+vid+"&page=3D"+pid;=0A=
	var status =3D AjaxRequest.get(=0A=
		{=0A=
			'url':pageURL=0A=
			,'onSuccess':function(req){=0A=
					//alert(pid);=0A=
					//alert("show comments"+req.responseText);=0A=
					var objDiv =3D document.getElementById('DisplayAllComments');=0A=
					if(objDiv.style.display=3D=3D'none')=0A=
						objDiv.style.display=3D'block';=0A=
					document.getElementById('DisplayAllComments').innerHTML =3D =
req.responseText;=0A=
					if(pid > 1)=0A=
					{=0A=
						var page =3D 'Comment'+pid;=0A=
						switchPage(page);=0A=
					}=0A=
=0A=
				}=0A=
			,'onError':function(req){ =
alert(req.statusText+'\nContents=3D'+req.responseText); }=0A=
		}=0A=
	);=0A=
	return false;=0A=
}=0A=
=0A=
function showCommentsForm(vid, parent_id, theDiv, level_id, pid, wid, =
referer)=0A=
{=0A=
	var actual_referer =3D referer;=0A=
	var preDiv =3D document.getElementById('preDiv').value;=0A=
	if(preDiv =3D=3D '')=0A=
	{=0A=
		document.getElementById('preDiv').value =3D theDiv;=0A=
	}=0A=
	else=0A=
	{=0A=
		closeDiv(preDiv);=0A=
		document.getElementById('preDiv').value =3D theDiv;=0A=
	}=0A=
=0A=
	var pageURL =3D =
"/post_comments.php?vid=3D"+vid+"&parent_id=3D"+parent_id+"&theDiv=3D"+th=
eDiv+"&level_id=3D"+level_id+"&page=3D"+pid+"&wid=3D"+wid;=0A=
	var status =3D AjaxRequest.get(=0A=
		{=0A=
			'url':pageURL=0A=
			,'onSuccess':function(req){=0A=
					if(actual_referer !=3D''){setReferer(actual_referer)}=0A=
					theFormTxt =3D req.responseText;=0A=
					//alert(theFormTxt);=0A=
					document.getElementById(theDiv).style.display =3D 'block';=0A=
					document.getElementById(theDiv).innerHTML =3D theFormTxt;=0A=
				}=0A=
			,'onError':function(req){ =
alert(req.statusText+'\nContents=3D'+req.responseText); }=0A=
		}=0A=
	);=0A=
	return false;=0A=
}=0A=
=0A=
function showReportAbuse(vid, comment_id, theDiv, wid)=0A=
{=0A=
	var preDiv =3D document.getElementById('preDiv').value;=0A=
	if(preDiv =3D=3D '')=0A=
	{=0A=
		document.getElementById('preDiv').value =3D theDiv;=0A=
	}=0A=
	else=0A=
	{=0A=
		closeDiv(preDiv);=0A=
		document.getElementById('preDiv').value =3D theDiv;=0A=
	}=0A=
=0A=
	var pageURL =3D =
"/abuse_comments.php?vid=3D"+vid+"&comment_id=3D"+comment_id+"&theDiv=3D"=
+theDiv+"&wid=3D"+wid;=0A=
	var status =3D AjaxRequest.get(=0A=
		{=0A=
			'url':pageURL=0A=
			,'onSuccess':function(req){=0A=
					theFormTxt =3D req.responseText;=0A=
					//alert(theFormTxt);=0A=
					document.getElementById(theDiv).style.display =3D 'block';=0A=
					document.getElementById(theDiv).innerHTML =3D theFormTxt;=0A=
				}=0A=
			,'onError':function(req){ =
alert(req.statusText+'\nContents=3D'+req.responseText); }=0A=
		}=0A=
	);=0A=
	return false;=0A=
}=0A=
=0A=
function hideComments(theDiv){=0A=
var objDiv =3D document.getElementById(theDiv);=0A=
=0A=
if(objDiv.style.display=3D=3D'block')=0A=
	objDiv.style.display=3D'none';=0A=
=0A=
}=0A=
=0A=
function switchPage(id) {=0A=
	//safe function to show an element with a specified id=0A=
	var prepage =3D document.getElementById('prePage').value;=0A=
	var preDiv =3D document.getElementById('preDiv').value;=0A=
	if(preDiv !=3D '')=0A=
	{=0A=
		closeDiv(preDiv);=0A=
	}=0A=
	if (document.getElementById) { // DOM3 =3D IE5, NS6=0A=
		document.getElementById(id).style.display =3D 'block';=0A=
		document.getElementById(prepage).style.display =3D 'none';=0A=
	}=0A=
	else {=0A=
		if (document.layers) { // Netscape 4=0A=
			document.id.display =3D 'block';=0A=
			document.prepage.display =3D 'none';=0A=
		}=0A=
		else { // IE 4=0A=
			document.all.id.style.display =3D 'block';=0A=
			document.all.prepage.style.display =3D 'none';=0A=
		}=0A=
	}=0A=
	document.getElementById('prePage').value =3D id;=0A=
	document.location.href=3D'#top';=0A=
}=0A=
=0A=
function closeDiv(id)=0A=
{=0A=
document.getElementById(id).innerHTML=3D'';=0A=
}=0A=
=0A=
=0A=
function textCounter(field, countfield, maxlimit) {=0A=
if (field.value.length > maxlimit){ // if too long...trim it!=0A=
		field.value =3D field.value.substring(0, maxlimit);// otherwise, =
update 'characters left' counter=0A=
		countfield.value =3D maxlimit - field.value.length;=0A=
		alert("Your text is trimmed because it is more than 1500 Characters");=0A=
	}else{=0A=
		countfield.value =3D maxlimit - field.value.length;=0A=
	}=0A=
}=0A=
=0A=
var clipped;=0A=
var lenUSig;=0A=
var maxLength=3D1500;=0A=
=0A=
function calcCharLeft() {=0A=
	clipped =3D false;=0A=
	lenUSig =3D 0;=0A=
	maxLength =3D 1500;=0A=
	var charleft;=0A=
	if (document.getElementById("description").value.length > maxLength) {=0A=
		charleft =3D 0;=0A=
		clipped =3D true;=0A=
	} else {=0A=
		charleft =3D maxLength - =
document.getElementById("description").value.length;=0A=
	}=0A=
alert(charleft);=0A=
	document.getElementById("msgCL").innerHTML =3D charleft;=0A=
	return clipped;=0A=
}=0A=
=0A=
function textKey() {=0A=
	supportsKeys =3D true;=0A=
	calcCharLeft();=0A=
}=0A=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/color_functions.js

function baseConverter (number,ob,nb) {
	number =3D number + "";
	number =3D number.toUpperCase();
	var list =3D "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var dec =3D 0;
	for (var i =3D 0; i <=3D  number.length; i++) {
		dec +=3D (list.indexOf(number.charAt(i))) * (Math.pow(ob , =
(number.length - i - 1)));
	}
	number =3D "";
	var magnitude =3D Math.floor((Math.log(dec))/(Math.log(nb)));
	for (var i =3D magnitude; i >=3D 0; i--) {
		var amount =3D Math.floor(dec/Math.pow(nb,i));
		number =3D number + list.charAt(amount);=20
		dec -=3D amount*(Math.pow(nb,i));
	}
	if(number.length=3D=3D0)number=3D0;
	return number;
}

// Converts a RGB color to HSV
function toHSV(rgbColor){
	rgbColor =3D rgbColor.replace('#','');	=09
=09
	red =3D baseConverter(rgbColor.substr(0,2),16,10);
	green =3D baseConverter(rgbColor.substr(2,2),16,10);
	blue =3D baseConverter(rgbColor.substr(4,2),16,10);
	if(red.length=3D=3D0)red=3D0;
	if(green.length=3D=3D0)green=3D0;
	if(blue.length=3D=3D0)blue=3D0;
	red =3D red/255;
	green =3D green/255;
	blue =3D blue/255;
=09
	maxValue =3D Math.max(red,green,blue);
	minValue =3D Math.min(red,green,blue);
=09
	var hue =3D 0;
=09
	if(maxValue=3D=3DminValue){
		hue =3D 0;
		saturation=3D0;
	}else{
		if(red =3D=3D maxValue){
			hue =3D (green - blue) / (maxValue-minValue)/1;=09
		}else if(green =3D=3D maxValue){
			hue =3D 2 + (blue - red)/1 / (maxValue-minValue)/1;=09
		}else if(blue =3D=3D maxValue){
			hue =3D 4 + (red - green) / (maxValue-minValue)/1;=09
		}
		saturation =3D (maxValue-minValue) / maxValue;
	}
	hue =3D hue * 60;=20
	valueBrightness =3D maxValue;
=09
	if(valueBrightness/1<0.5){
		//saturation =3D (maxValue - minValue) / (maxValue + minValue);
	}
	if(valueBrightness/1>=3D 0.5){
		//saturation =3D (maxValue - minValue) / (2 - maxValue - minValue);
	}=09
	=09
=09
	returnArray =3D [hue,saturation,valueBrightness];
	return returnArray;
}

function toRgb(hue,saturation,valueBrightness){
	Hi =3D Math.floor(hue / 60);
	if(hue=3D=3D360)Hi=3D0;
	f =3D hue/60 - Hi;
	p =3D (valueBrightness * (1- saturation)).toPrecision(2);
	q =3D (valueBrightness * (1 - (f * saturation))).toPrecision(2);
	t =3D (valueBrightness * (1 - ((1-f)*saturation))).toPrecision(2);

	switch(Hi){
		case 0:
			red =3D valueBrightness;
			green =3D t;
			blue =3D p;			=09
			break;
		case 1:=20
			red =3D q;
			green =3D valueBrightness;
			blue =3D p;
			break;
		case 2:=20
			red =3D q;
			green =3D valueBrightness;
			blue =3D t;
			break;
		case 3:=20
			red =3D p;
			green =3D q;;
			blue =3D valueBrightness;
			break;
		case 4:
			red =3D t;
			green =3D p;
			blue =3D valueBrightness;
			break;
		case 5:
			red =3D valueBrightness;
			green =3D p;
			blue =3D q;
			break;
	}
=09
	if(saturation=3D=3D0){
		red =3D valueBrightness;
		green =3D valueBrightness;
		blue =3D valueBrightness;	=09
	}
=09
	red*=3D255;
	green*=3D255;
	blue*=3D255;

	red =3D Math.round(red);
	green =3D Math.round(green);
	blue =3D Math.round(blue);=09
=09
	red =3D baseConverter(red,10,16);
	green =3D baseConverter(green,10,16);
	blue =3D baseConverter(blue,10,16);
=09
	red =3D red + "";
	green =3D green + "";
	blue =3D blue + "";

	while(red.length<2){
		red =3D "0" + red;
	}=09
	while(green.length<2){
		green =3D "0" + green;
	}=09
	while(blue.length<2){
		blue =3D "0" + "" + blue;
	}
	rgbColor =3D "#" + red + "" + green + "" + blue;
	return rgbColor.toUpperCase();
}

function findColorByDegrees(rgbColor,degrees){
	rgbColor =3D rgbColor.replace('#','');
	myArray =3D toHSV(rgbColor);
	myArray[0]+=3Ddegrees;
	if(myArray[0]>=3D360)myArray[0]-=3D360;
	if(myArray[0]<0)myArray[0]+=3D360;=09
	return toRgb(myArray[0],myArray[1],myArray[2]);
}

function findColorByBrightness(rgbColor,brightness){
=09
	rgbColor =3D rgbColor.replace('#','');
	myArray =3D toHSV(rgbColor);
=09
	myArray[2]+=3Dbrightness/100;
	if(myArray[2]>1)myArray[2]=3D1;
	if(myArray[2]<0)myArray[2]=3D0;=09
=09
	myArray[1]+=3Dbrightness/100;
	if(myArray[1]>1)myArray[1]=3D1;
	if(myArray[1]<0)myArray[1]=3D0;	=09
=09
	return toRgb(myArray[0],myArray[1],myArray[2]);=09
=09
}

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/js_color_picker_v2.js

/************************************************************************=
************************************
@fileoverview
JS Color picker
Copyright (C) October 2005,  DHTMLGoodies.com, Alf Magne Kalleland

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  =
02110-1301  USA

Dhtmlgoodies.com., hereby disclaims all copyright interest in this =
script
written by Alf Magne Kalleland.

Alf Magne Kalleland, 2007
Owner of DHTMLgoodies.com


*************************************************************************=
***********************************/=09

	var MSIE =3D navigator.userAgent.indexOf('MSIE')>=3D0?true:false;
	var navigatorVersion =3D navigator.appVersion.replace(/.*?MSIE =
(\d\.\d).*/g,'$1')/1;
=09
	var form_widget_amount_slider_handle =3D 'images/slider_handle.gif';
	var slider_handle_image_obj =3D false;
	var sliderObjectArray =3D new Array();
	var slider_counter =3D 0;
	var slideInProgress =3D false;
	var handle_start_x;
	var event_start_x;
	var currentSliderIndex;
=09
	function form_widget_cancel_event()
	{
		return false;	=09
	}
=09
	function getImageSliderHeight(){
		if(!slider_handle_image_obj){
			slider_handle_image_obj =3D new Image();
			slider_handle_image_obj.src =3D form_widget_amount_slider_handle;
		}
		if(slider_handle_image_obj.width>0){
			return;
		}else{
			setTimeout('getImageSliderHeight()',50);
		}
	}
=09
	function positionSliderImage(e,theIndex,inputObj)
	{
		if(this)inputObj =3D this;
		if(!theIndex)theIndex =3D inputObj.getAttribute('sliderIndex');
		var handleImg =3D document.getElementById('slider_handle' + theIndex);
		var ratio =3D sliderObjectArray[theIndex]['width'] / =
(sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
		var currentValue =3D =
sliderObjectArray[theIndex]['formTarget'].value-sliderObjectArray[theInde=
x]['min'];	=09
		handleImg.style.left =3D currentValue * ratio + 'px';		=09
		setColorByRGB();
	}
=09
	function adjustFormValue(theIndex)
	{
		var handleImg =3D document.getElementById('slider_handle' + theIndex);	=

		var ratio =3D sliderObjectArray[theIndex]['width'] / =
(sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
		var currentPos =3D handleImg.style.left.replace('px','');
		sliderObjectArray[theIndex]['formTarget'].value =3D =
Math.round(currentPos / ratio) + sliderObjectArray[theIndex]['min'];
	=09
	}
	=09
	function initMoveSlider(e)
	{
=09
		if(document.all)e =3D event;=09
		slideInProgress =3D true;
		event_start_x =3D e.clientX;
		handle_start_x =3D this.style.left.replace('px','');
		currentSliderIndex =3D this.id.replace(/[^\d]/g,'');
		return false;
	}
=09
	function startMoveSlider(e)
	{
		if(document.all)e =3D event;=09
		if(!slideInProgress)return;=09
		var leftPos =3D handle_start_x/1 + e.clientX/1 - event_start_x;
		if(leftPos<0)leftPos =3D 0;
		if(leftPos/1>sliderObjectArray[currentSliderIndex]['width'])leftPos =
=3D sliderObjectArray[currentSliderIndex]['width'];
		document.getElementById('slider_handle' + =
currentSliderIndex).style.left =3D leftPos + 'px';
		adjustFormValue(currentSliderIndex);
		if(sliderObjectArray[currentSliderIndex]['onchangeAction']){
			eval(sliderObjectArray[currentSliderIndex]['onchangeAction']);
		}
	}
=09
	function stopMoveSlider()
	{
		slideInProgress =3D false;
	}
=09
=09
	function =
form_widget_amount_slider(targetElId,formTarget,width,min,max,onchangeAct=
ion)
	{
		if(!slider_handle_image_obj){
			getImageSliderHeight();	=09
		}
			=09
		slider_counter =3D slider_counter +1;
		sliderObjectArray[slider_counter] =3D new Array();
		sliderObjectArray[slider_counter] =3D {"width":width - =
9,"min":min,"max":max,"formTarget":formTarget,"onchangeAction":onchangeAc=
tion};
	=09
		formTarget.setAttribute('sliderIndex',slider_counter);
		formTarget.onchange =3D positionSliderImage;
		var parentObj =3D document.createElement('DIV');
		parentObj.style.width =3D width + 'px';
		parentObj.style.height =3D '12px';	// The height of the image
		parentObj.style.position =3D 'relative';
		parentObj.id =3D 'slider_container' + slider_counter;
		document.getElementById(targetElId).appendChild(parentObj);
	=09
		var obj =3D document.createElement('DIV');
		obj.className =3D 'form_widget_amount_slider';
		obj.innerHTML =3D '<span></span>';
		obj.style.width =3D width + 'px';
		obj.id =3D 'slider_slider' + slider_counter;
		obj.style.position =3D 'absolute';
		obj.style.bottom =3D '0px';
		parentObj.appendChild(obj);
	=09
		var handleImg =3D document.createElement('IMG');
		handleImg.style.position =3D 'absolute';
		handleImg.style.left =3D '0px';
		handleImg.style.zIndex =3D 5;
		handleImg.src =3D slider_handle_image_obj.src;
		handleImg.id =3D 'slider_handle' + slider_counter;
		handleImg.onmousedown =3D initMoveSlider;
		if(document.body.onmouseup){
			=
if(document.body.onmouseup.toString().indexOf('stopMoveSlider')=3D=3D-1){=

				alert('You allready have an onmouseup event assigned to the body =
tag');
			}
		}else{
			document.body.onmouseup =3D stopMoveSlider;=09
			document.body.onmousemove =3D startMoveSlider;=09
		}
		handleImg.ondragstart =3D form_widget_cancel_event;
		parentObj.appendChild(handleImg);
		positionSliderImage(false,slider_counter);
	}
	=09

=09
	var namedColors =3D new =
Array('AliceBlue','AntiqueWhite','Aqua','Aquamarine','Azure','Beige','Bis=
que','Black','BlanchedAlmond','Blue','BlueViolet','Brown',
	=
'BurlyWood','CadetBlue','Chartreuse','Chocolate','Coral','CornflowerBlue'=
,'Cornsilk','Crimson','Cyan','DarkBlue','DarkCyan','DarkGoldenRod','DarkG=
ray',
	=
'DarkGreen','DarkKhaki','DarkMagenta','DarkOliveGreen','Darkorange','Dark=
Orchid','DarkRed','DarkSalmon','DarkSeaGreen','DarkSlateBlue','DarkSlateG=
ray',
	=
'DarkTurquoise','DarkViolet','DeepPink','DeepSkyBlue','DimGray','DodgerBl=
ue','Feldspar','FireBrick','FloralWhite','ForestGreen','Fuchsia','Gainsbo=
ro',
	=
'GhostWhite','Gold','GoldenRod','Gray','Green','GreenYellow','HoneyDew','=
HotPink','IndianRed','Indigo','Ivory','Khaki','Lavender','LavenderBlush',=

	=
'LawnGreen','LemonChiffon','LightBlue','LightCoral','LightCyan','LightGol=
denRodYellow','LightGrey','LightGreen','LightPink','LightSalmon','LightSe=
aGreen',
	=
'LightSkyBlue','LightSlateBlue','LightSlateGray','LightSteelBlue','LightY=
ellow','Lime','LimeGreen','Linen','Magenta','Maroon','MediumAquaMarine',
	=
'MediumBlue','MediumOrchid','MediumPurple','MediumSeaGreen','MediumSlateB=
lue','MediumSpringGreen','MediumTurquoise','MediumVioletRed','MidnightBlu=
e',
	=
'MintCream','MistyRose','Moccasin','NavajoWhite','Navy','OldLace','Olive'=
,'OliveDrab','Orange','OrangeRed','Orchid','PaleGoldenRod','PaleGreen',
	=
'PaleTurquoise','PaleVioletRed','PapayaWhip','PeachPuff','Peru','Pink','P=
lum','PowderBlue','Purple','Red','RosyBrown','RoyalBlue','SaddleBrown',
	=
'Salmon','SandyBrown','SeaGreen','SeaShell','Sienna','Silver','SkyBlue','=
SlateBlue','SlateGray','Snow','SpringGreen','SteelBlue','Tan','Teal','Thi=
stle',
	=
'Tomato','Turquoise','Violet','VioletRed','Wheat','White','WhiteSmoke','Y=
ellow','YellowGreen');
=09
	 var namedColorRGB =3D new =
Array('#F0F8FF','#FAEBD7','#00FFFF','#7FFFD4','#F0FFFF','#F5F5DC','#FFE4C=
4','#000000','#FFEBCD','#0000FF','#8A2BE2','#A52A2A','#DEB887',
	=
'#5F9EA0','#7FFF00','#D2691E','#FF7F50','#6495ED','#FFF8DC','#DC143C','#0=
0FFFF','#00008B','#008B8B','#B8860B','#A9A9A9','#006400','#BDB76B','#8B00=
8B',
	=
'#556B2F','#FF8C00','#9932CC','#8B0000','#E9967A','#8FBC8F','#483D8B','#2=
F4F4F','#00CED1','#9400D3','#FF1493','#00BFFF','#696969','#1E90FF','#D192=
75',
	=
'#B22222','#FFFAF0','#228B22','#FF00FF','#DCDCDC','#F8F8FF','#FFD700','#D=
AA520','#808080','#008000','#ADFF2F','#F0FFF0','#FF69B4','#CD5C5C','#4B00=
82',
	=
'#FFFFF0','#F0E68C','#E6E6FA','#FFF0F5','#7CFC00','#FFFACD','#ADD8E6','#F=
08080','#E0FFFF','#FAFAD2','#D3D3D3','#90EE90','#FFB6C1','#FFA07A','#20B2=
AA',
	=
'#87CEFA','#8470FF','#778899','#B0C4DE','#FFFFE0','#00FF00','#32CD32','#F=
AF0E6','#FF00FF','#800000','#66CDAA','#0000CD','#BA55D3','#9370D8','#3CB3=
71',
	=
'#7B68EE','#00FA9A','#48D1CC','#C71585','#191970','#F5FFFA','#FFE4E1','#F=
FE4B5','#FFDEAD','#000080','#FDF5E6','#808000','#6B8E23','#FFA500','#FF45=
00',
	=
'#DA70D6','#EEE8AA','#98FB98','#AFEEEE','#D87093','#FFEFD5','#FFDAB9','#C=
D853F','#FFC0CB','#DDA0DD','#B0E0E6','#800080','#FF0000','#BC8F8F','#4169=
E1',
	=
'#8B4513','#FA8072','#F4A460','#2E8B57','#FFF5EE','#A0522D','#C0C0C0','#8=
7CEEB','#6A5ACD','#708090','#FFFAFA','#00FF7F','#4682B4','#D2B48C','#0080=
80',
	=
'#D8BFD8','#FF6347','#40E0D0','#EE82EE','#D02090','#F5DEB3','#FFFFFF','#F=
5F5F5','#FFFF00','#9ACD32');=09
=09
=09
	var color_picker_div =3D false;
	var color_picker_active_tab =3D false;
	var color_picker_form_field =3D false;
	var color_picker_active_input =3D false;
	function baseConverter (number,ob,nb) {
		number =3D number + "";
		number =3D number.toUpperCase();
		var list =3D "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var dec =3D 0;
		for (var i =3D 0; i <=3D  number.length; i++) {
			dec +=3D (list.indexOf(number.charAt(i))) * (Math.pow(ob , =
(number.length - i - 1)));
		}
		number =3D "";
		var magnitude =3D Math.floor((Math.log(dec))/(Math.log(nb)));
		for (var i =3D magnitude; i >=3D 0; i--) {
			var amount =3D Math.floor(dec/Math.pow(nb,i));
			number =3D number + list.charAt(amount);=20
			dec -=3D amount*(Math.pow(nb,i));
		}
		if(number.length=3D=3D0)number=3D0;
		return number;
	}
=09
	function colorPickerGetTopPos(inputObj)
	{
	=09
	  var returnValue =3D inputObj.offsetTop;
	  while((inputObj =3D inputObj.offsetParent) !=3D null){
	  	returnValue +=3D inputObj.offsetTop;
	  }
	  return returnValue;
	}
=09
	function colorPickerGetLeftPos(inputObj)
	{
	  var returnValue =3D inputObj.offsetLeft;
	  while((inputObj =3D inputObj.offsetParent) !=3D null)returnValue +=3D =
inputObj.offsetLeft;
	  return returnValue;
	}
=09
	function cancelColorPickerEvent(){
		return false;
	}
=09
	function showHideColorOptions(e,inputObj)
	{
	=09

		var thisObj =3D this;
		if(inputObj){
			var parentNode =3D inputObj.parentNode;=20
			thisObj =3D inputObj;
		}else var parentNode =3D this.parentNode;
		var activeColorDiv =3D false;
		var subDiv =3D parentNode.getElementsByTagName('DIV')[0];
		counter=3D0;=09
		var initZIndex =3D 10;=09
		var contentDiv =3D =
document.getElementById('color_picker_content').getElementsByTagName('DIV=
')[0];
		do{		=09
			if(subDiv.tagName=3D=3D'DIV' && =
subDiv.className!=3D'colorPickerCloseButton'){
				if(subDiv=3D=3DthisObj){
					thisObj.className=3D'colorPickerTab_active';
					thisObj.style.zIndex =3D 50;
					var img =3D thisObj.getElementsByTagName('IMG')[0];
					img.src =3D "images/tab_right_active.gif"
					img.src =3D img.src.replace(/inactive/,'active');						=09
					contentDiv.style.display=3D'block';
					activeColorDiv =3D contentDiv;
				}else{
					subDiv.className =3D 'colorPickerTab_inactive';=09
					var img =3D subDiv.getElementsByTagName('IMG')[0];
					img.src =3D "images/tab_right_inactive.gif";
					if(activeColorDiv)
						subDiv.style.zIndex =3D initZIndex - counter;
					else
						subDiv.style.zIndex =3D counter;
					contentDiv.style.display=3D'none';
				}
				counter++;
			}
			subDiv =3D subDiv.nextSibling;
			if(contentDiv.nextSibling)contentDiv =3D contentDiv.nextSibling;
		}while(subDiv);
	=09
	=09
		document.getElementById('colorPicker_statusBarTxt').innerHTML =3D =
'&nbsp;';


	}
=09
	function createColorPickerTopRow(inputObj){
		var tabs =3D ['RGB','Named colors','Color slider'];
		var tabWidths =3D [37,90,70];
		var div =3D document.createElement('DIV');
		div.className=3D'colorPicker_topRow';
=09
		inputObj.appendChild(div);=09
		var currentWidth =3D 0;
		for(var no=3D0;no<tabs.length;no++){		=09
		=09
			var tabDiv =3D document.createElement('DIV');
			tabDiv.onselectstart =3D cancelColorPickerEvent;
			tabDiv.ondragstart =3D cancelColorPickerEvent;
			if(no=3D=3D0){
				suffix =3D 'active';=20
				color_picker_active_tab =3D this;
			}else suffix =3D 'inactive';
		=09
			tabDiv.id =3D 'colorPickerTab' + no;
			tabDiv.onclick =3D showHideColorOptions;
			if(no=3D=3D0)tabDiv.style.zIndex =3D 50; else tabDiv.style.zIndex =3D =
1 + (tabs.length-no);
			tabDiv.style.left =3D currentWidth + 'px';
			tabDiv.style.position =3D 'absolute';
			tabDiv.className=3D'colorPickerTab_' + suffix;
			var tabSpan =3D document.createElement('SPAN');
			tabSpan.innerHTML =3D tabs[no];
			tabDiv.appendChild(tabSpan);
			var tabImg =3D document.createElement('IMG');
			tabImg.src =3D "images/tab_right_" + suffix + ".gif";
			tabDiv.appendChild(tabImg);
			div.appendChild(tabDiv);
			if(navigatorVersion<6 && MSIE){	/* Lower IE version fix */
				tabSpan.style.position =3D 'relative';
				tabImg.style.position =3D 'relative';
				tabImg.style.left =3D '-3px';	=09
				tabDiv.style.cursor =3D 'hand';=09
			}		=09
			currentWidth =3D currentWidth + tabWidths[no];
	=09
		}
	=09
		var closeButton =3D document.createElement('DIV');
		closeButton.className=3D'colorPickerCloseButton';
		closeButton.innerHTML =3D 'x';
		closeButton.onclick =3D closeColorPicker;
		closeButton.onmouseover =3D toggleCloseButton;
		closeButton.onmouseout =3D toggleOffCloseButton;
		div.appendChild(closeButton);
	=09
	}
=09
	function toggleCloseButton()
	{
		this.style.color=3D'#FFF';
		this.style.backgroundColor =3D '#317082';=09
	}
	function toggleOffCloseButton()
	{
		this.style.color=3D'';
		this.style.backgroundColor =3D '';		=09
	=09
	}
	function closeColorPicker()
	{
	=09
		color_picker_div.style.display=3D'none';
	}
	function createWebColors(inputObj){
		var webColorDiv =3D document.createElement('DIV');
		webColorDiv.style.paddingTop =3D '1px';
		inputObj.appendChild(webColorDiv);
		for(var r=3D15;r>=3D0;r-=3D3){
			for(var g=3D0;g<=3D15;g+=3D3){
				for(var b=3D0;b<=3D15;b+=3D3){
					var red =3D baseConverter(r,10,16) + '';
					var green =3D baseConverter(g,10,16) + '';
					var blue =3D baseConverter(b,10,16) + '';
				=09
					var color =3D '#' + red + red + green + green + blue + blue;
					var div =3D document.createElement('DIV');
					div.style.backgroundColor=3Dcolor;
					div.innerHTML =3D '<span></span>';
					div.className=3D'colorSquare';
					div.title =3D color;=09
					div.onclick =3D chooseColor;
					div.setAttribute('rgbColor',color);
					div.onmouseover =3D colorPickerShowStatusBarText;
					div.onmouseout =3D colorPickerHideStatusBarText;
					webColorDiv.appendChild(div);
				}
			}
		}
	}
	=09
	function createNamedColors(inputObj){
		var namedColorDiv =3D document.createElement('DIV');
		namedColorDiv.style.paddingTop =3D '1px';
		namedColorDiv.style.display=3D'none';
		inputObj.appendChild(namedColorDiv);
		for(var no=3D0;no<namedColors.length;no++){
			var color =3D namedColorRGB[no];
			var div =3D document.createElement('DIV');
			div.style.backgroundColor=3Dcolor;
			div.innerHTML =3D '<span></span>';
			div.className=3D'colorSquare';
			div.title =3D namedColors[no];=09
			div.onclick =3D chooseColor;
			div.onmouseover =3D colorPickerShowStatusBarText;
			div.onmouseout =3D colorPickerHideStatusBarText;
			div.setAttribute('rgbColor',color);
			namedColorDiv.appendChild(div);			=09
		}=09
=09
	}
=09
	function colorPickerHideStatusBarText()
	{
		document.getElementById('colorPicker_statusBarTxt').innerHTML =3D =
'&nbsp;';
	}
=09
	function colorPickerShowStatusBarText()
	{
		var txt =3D this.getAttribute('rgbColor');
		if(this.title.indexOf('#')<0)txt =3D txt + " (" + this.title + ")";
		document.getElementById('colorPicker_statusBarTxt').innerHTML =3D txt;	=

	}
=09
	function createAllColorDiv(inputObj){
		var allColorDiv =3D document.createElement('DIV');
		allColorDiv.style.display=3D'none';
		allColorDiv.className =3D 'js_color_picker_allColorDiv';
		allColorDiv.style.paddingLeft =3D '3px';
		allColorDiv.style.paddingTop =3D '5px';
		allColorDiv.style.paddingBottom =3D '5px';
		inputObj.appendChild(allColorDiv);=09
	=09
		var labelDiv =3D document.createElement('DIV');
		labelDiv.className=3D'colorSliderLabel';
		labelDiv.innerHTML =3D 'R';
		allColorDiv.appendChild(labelDiv);=09
	=09
		var innerDiv =3D document.createElement('DIV');
		innerDiv.className =3D 'colorSlider';
		innerDiv.id =3D 'sliderRedColor';	=09
		allColorDiv.appendChild(innerDiv);	=09
	=09
		var innerDivInput =3D document.createElement('DIV');
		innerDivInput.className=3D'colorInput';
	=09
		var input =3D document.createElement('INPUT');
		input.id =3D 'js_color_picker_red_color';
		input.maxlength =3D 3;
		input.style.width =3D '48px';
		input.style.fontSize =3D '11px';
		input.name =3D 'redColor';
		input.value =3D 0;
	=09
		innerDivInput.appendChild(input);
		allColorDiv.appendChild(innerDivInput);

		var labelDiv =3D document.createElement('DIV');
		labelDiv.className=3D'colorSliderLabel';
		labelDiv.innerHTML =3D 'G';
		allColorDiv.appendChild(labelDiv);=09
			=09
		var innerDiv =3D document.createElement('DIV');
		innerDiv.className =3D 'colorSlider';
		innerDiv.id =3D 'sliderGreenColor';	=09
		allColorDiv.appendChild(innerDiv);	=09
	=09
		var innerDivInput =3D document.createElement('DIV');
		innerDivInput.className=3D'colorInput';
	=09
		var input =3D document.createElement('INPUT');
		input.id =3D 'js_color_picker_green_color';
		input.maxlength =3D 3;
		input.style.width =3D '48px';
		input.style.fontSize =3D '11px';
		input.name =3D 'GreenColor';
		input.value =3D 0;
	=09
		innerDivInput.appendChild(input);
		allColorDiv.appendChild(innerDivInput);
	=09
		var labelDiv =3D document.createElement('DIV');
		labelDiv.className=3D'colorSliderLabel';
		labelDiv.innerHTML =3D 'B';
		allColorDiv.appendChild(labelDiv);		=09
		var innerDiv =3D document.createElement('DIV');
		innerDiv.className =3D 'colorSlider';
		innerDiv.id =3D 'sliderBlueColor';	=09
		allColorDiv.appendChild(innerDiv);	=09
	=09
		var innerDivInput =3D document.createElement('DIV');
		innerDivInput.className=3D'colorInput';
	=09
		var input =3D document.createElement('INPUT');
		input.id =3D 'js_color_picker_blue_color';
		input.maxlength =3D 3;
		input.style.width =3D '48px';
		input.style.fontSize =3D '11px';
		input.name =3D 'BlueColor';
		input.value =3D 0;
	=09
		innerDivInput.appendChild(input);
		allColorDiv.appendChild(innerDivInput);

=09
		var colorPreview =3D document.createElement('DIV');
		colorPreview.className=3D'colorPreviewDiv';
		colorPreview.id =3D 'colorPreview';
		colorPreview.style.backgroundColor =3D '#000000';
		colorPreview.innerHTML =3D '<span></span>';=09
		colorPreview.title =3D 'Click on me to assign color';=09
		allColorDiv.appendChild(colorPreview);
		colorPreview.onclick =3D chooseColorSlider;
	=09
		var colorCodeDiv =3D document.createElement('DIV');
		colorCodeDiv.className=3D'colorCodeDiv';	=09
		var input =3D document.createElement('INPUT');
		input.id =3D 'js_color_picker_color_code';
	=09
		colorCodeDiv.appendChild(input);
		input.maxLength =3D 7;
		input.style.fontSize =3D '11px';
		input.style.width =3D '48px';	=09
		input.value =3D '#000000';
		input.onchange =3D setPreviewColorFromTxt;
		input.onblur =3D setPreviewColorFromTxt;
		allColorDiv.appendChild(colorCodeDiv);
	=09
		var clearingDiv =3D document.createElement('DIV');
		clearingDiv.style.clear =3D 'both';
		allColorDiv.appendChild(clearingDiv);
	=09
	=09
		=
form_widget_amount_slider('sliderRedColor',document.getElementById('js_co=
lor_picker_red_color'),170,0,255,"setColorByRGB()");
		=
form_widget_amount_slider('sliderGreenColor',document.getElementById('js_=
color_picker_green_color'),170,0,255,"setColorByRGB()");
		=
form_widget_amount_slider('sliderBlueColor',document.getElementById('js_c=
olor_picker_blue_color'),170,0,255,"setColorByRGB()");
	}
=09
	function setPreviewColorFromTxt()
	{
		if(this.value.match(/\#[0-9A-F]{6}/g)){
			=
document.getElementById('colorPreview').style.backgroundColor=3Dthis.valu=
e;
			var r =3D this.value.substr(1,2);
			var g =3D this.value.substr(3,2);
			var b =3D this.value.substr(5,2);
			document.getElementById('js_color_picker_red_color').value =3D =
baseConverter(r,16,10);
			document.getElementById('js_color_picker_green_color').value =3D =
baseConverter(g,16,10);
			document.getElementById('js_color_picker_blue_color').value =3D =
baseConverter(b,16,10);
		=09
			=
positionSliderImage(false,1,document.getElementById('js_color_picker_red_=
color'));
			=
positionSliderImage(false,2,document.getElementById('js_color_picker_gree=
n_color'));
			=
positionSliderImage(false,3,document.getElementById('js_color_picker_blue=
_color'));
		}
	=09
	}
=09
	function chooseColor()
	{
		color_picker_form_field.value =3D this.getAttribute('rgbColor');
		color_picker_form_field.focus();
		color_picker_div.style.display=3D'none';
	}
=09
	function createStatusBar(inputObj)
	{
		var div =3D document.createElement('DIV');
		div.className=3D'colorPicker_statusBar';=09
		var innerSpan =3D document.createElement('SPAN');
		innerSpan.id =3D 'colorPicker_statusBarTxt';
		div.appendChild(innerSpan);
		inputObj.appendChild(div);
	}
=09
	function chooseColorSlider()
	{
		color_picker_form_field.value =3D =
document.getElementById('js_color_picker_color_code').value;
		color_picker_div.style.display=3D'none';	=09
	}
=09
=09
	function showColorPicker(inputObj,formField)
	{
		if(!color_picker_div){
			color_picker_div =3D document.createElement('DIV');
			color_picker_div.id =3D 'dhtmlgoodies_colorPicker';
			color_picker_div.style.display=3D'none';
			document.body.appendChild(color_picker_div);
			createColorPickerTopRow(color_picker_div);		=09
			var contentDiv =3D document.createElement('DIV');
			contentDiv.id =3D 'color_picker_content';
			color_picker_div.appendChild(contentDiv);		=09
			createWebColors(contentDiv);
			createNamedColors(contentDiv);
			createAllColorDiv(contentDiv);
			createStatusBar(color_picker_div);		=09
		}	=09
		if(color_picker_div.style.display=3D=3D'none' || =
color_picker_active_input!=3DinputObj)color_picker_div.style.display=3D'b=
lock'; else color_picker_div.style.display=3D'none';	=09
		color_picker_div.style.left =3D colorPickerGetLeftPos(inputObj) + =
'px';
		color_picker_div.style.top =3D colorPickerGetTopPos(inputObj) + =
inputObj.offsetHeight + 2 + 'px';
		color_picker_form_field =3D formField;
		color_picker_active_input =3D inputObj;	=09
	}

	function setColorByRGB()
	{
		var formObj =3D document.forms[0];=09
		var r =3D =
document.getElementById('js_color_picker_red_color').value.replace(/[^\d]=
/,'');
		var g =3D =
document.getElementById('js_color_picker_green_color').value.replace(/[^\=
d]/,'');
		var b =3D =
document.getElementById('js_color_picker_blue_color').value.replace(/[^\d=
]/,'');	=09
		if(r/1>255)r=3D255;
		if(g/1>255)g=3D255;
		if(b/1>255)b=3D255;
		r =3D baseConverter(r,10,16) + '';
		g =3D baseConverter(g,10,16) + '';
		b =3D baseConverter(b,10,16) + '';
		if(r.length=3D=3D1)r =3D '0' + r;
		if(g.length=3D=3D1)g =3D '0' + g;
		if(b.length=3D=3D1)b =3D '0' + b;

		document.getElementById('colorPreview').style.backgroundColor =3D '#' =
+ r + g + b;
		document.getElementById('js_color_picker_color_code').value =3D '#' + =
r + g + b;	=09
	}	
------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/tabber.js

/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=0A=
  $Id: tabber.js,v 1.9 2006/04/27 20:51:51 pat Exp $=0A=
  tabber.js by Patrick Fitzgerald pat@barelyfitz.com=0A=
=0A=
  Documentation can be found at the following URL:=0A=
  http://www.barelyfitz.com/projects/tabber/=0A=
=0A=
  License (http://www.opensource.org/licenses/mit-license.php)=0A=
=0A=
  Copyright (c) 2006 Patrick Fitzgerald=0A=
=0A=
  Permission is hereby granted, free of charge, to any person=0A=
  obtaining a copy of this software and associated documentation files=0A=
  (the "Software"), to deal in the Software without restriction,=0A=
  including without limitation the rights to use, copy, modify, merge,=0A=
  publish, distribute, sublicense, and/or sell copies of the Software,=0A=
  and to permit persons to whom the Software is furnished to do so,=0A=
  subject to the following conditions:=0A=
=0A=
  The above copyright notice and this permission notice shall be=0A=
  included in all copies or substantial portions of the Software.=0A=
=0A=
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,=0A=
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF=0A=
  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND=0A=
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS=0A=
  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN=0A=
  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN=0A=
  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE=0A=
  SOFTWARE.=0A=
  =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
*/=0A=
=0A=
function tabberObj(argsObj)=0A=
{=0A=
  var arg; /* name of an argument to override */=0A=
=0A=
  /* Element for the main tabber div. If you supply this in argsObj,=0A=
     then the init() method will be called.=0A=
  */=0A=
  this.div =3D null;=0A=
=0A=
  /* Class of the main tabber div */=0A=
  this.classMain =3D "tabber";=0A=
=0A=
  /* Rename classMain to classMainLive after tabifying=0A=
     (so a different style can be applied)=0A=
  */=0A=
  this.classMainLive =3D "tabberlive";=0A=
=0A=
  /* Class of each DIV that contains a tab */=0A=
  this.classTab =3D "tabbertab";=0A=
=0A=
  /* Class to indicate which tab should be active on startup */=0A=
  this.classTabDefault =3D "tabbertabdefault";=0A=
=0A=
  /* Class for the navigation UL */=0A=
  this.classNav =3D "tabbernav";=0A=
=0A=
  /* When a tab is to be hidden, instead of setting display=3D'none', we=0A=
     set the class of the div to classTabHide. In your screen=0A=
     stylesheet you should set classTabHide to display:none.  In your=0A=
     print stylesheet you should set display:block to ensure that all=0A=
     the information is printed.=0A=
  */=0A=
  this.classTabHide =3D "tabbertabhide";=0A=
=0A=
  /* Class to set the navigation LI when the tab is active, so you can=0A=
     use a different style on the active tab.=0A=
  */=0A=
  this.classNavActive =3D "tabberactive";=0A=
=0A=
  /* Elements that might contain the title for the tab, only used if a=0A=
     title is not specified in the TITLE attribute of DIV classTab.=0A=
  */=0A=
  this.titleElements =3D ['h2','h3','h4','h5','h6'];=0A=
=0A=
  /* Should we strip out the HTML from the innerHTML of the title =
elements?=0A=
     This should usually be true.=0A=
  */=0A=
  this.titleElementsStripHTML =3D true;=0A=
=0A=
  /* If the user specified the tab names using a TITLE attribute on=0A=
     the DIV, then the browser will display a tooltip whenever the=0A=
     mouse is over the DIV. To prevent this tooltip, we can remove the=0A=
     TITLE attribute after getting the tab name.=0A=
  */=0A=
  this.removeTitle =3D true;=0A=
=0A=
  /* If you want to add an id to each link set this to true */=0A=
  this.addLinkId =3D false;=0A=
=0A=
  /* If addIds=3D=3Dtrue, then you can set a format for the ids.=0A=
     <tabberid> will be replaced with the id of the main tabber div.=0A=
     <tabnumberzero> will be replaced with the tab number=0A=
       (tab numbers starting at zero)=0A=
     <tabnumberone> will be replaced with the tab number=0A=
       (tab numbers starting at one)=0A=
     <tabtitle> will be replaced by the tab title=0A=
       (with all non-alphanumeric characters removed)=0A=
   */=0A=
  this.linkIdFormat =3D '<tabberid>nav<tabnumberone>';=0A=
=0A=
  /* You can override the defaults listed above by passing in an object:=0A=
     var mytab =3D new tabber({property:value,property:value});=0A=
  */=0A=
  for (arg in argsObj) { this[arg] =3D argsObj[arg]; }=0A=
=0A=
  /* Create regular expressions for the class names; Note: if you=0A=
     change the class names after a new object is created you must=0A=
     also change these regular expressions.=0A=
  */=0A=
  this.REclassMain =3D new RegExp('\\b' + this.classMain + '\\b', 'gi');=0A=
  this.REclassMainLive =3D new RegExp('\\b' + this.classMainLive + =
'\\b', 'gi');=0A=
  this.REclassTab =3D new RegExp('\\b' + this.classTab + '\\b', 'gi');=0A=
  this.REclassTabDefault =3D new RegExp('\\b' + this.classTabDefault + =
'\\b', 'gi');=0A=
  this.REclassTabHide =3D new RegExp('\\b' + this.classTabHide + '\\b', =
'gi');=0A=
=0A=
  /* Array of objects holding info about each tab */=0A=
  this.tabs =3D new Array();=0A=
=0A=
  /* If the main tabber div was specified, call init() now */=0A=
  if (this.div) {=0A=
=0A=
    this.init(this.div);=0A=
=0A=
    /* We don't need the main div anymore, and to prevent a memory leak=0A=
       in IE, we must remove the circular reference between the div=0A=
       and the tabber object. */=0A=
    this.div =3D null;=0A=
  }=0A=
}=0A=
=0A=
=0A=
/*--------------------------------------------------=0A=
  Methods for tabberObj=0A=
  --------------------------------------------------*/=0A=
=0A=
=0A=
tabberObj.prototype.init =3D function(e)=0A=
{=0A=
  /* Set up the tabber interface.=0A=
=0A=
     e =3D element (the main containing div)=0A=
=0A=
     Example:=0A=
     init(document.getElementById('mytabberdiv'))=0A=
   */=0A=
=0A=
  var=0A=
  childNodes, /* child nodes of the tabber div */=0A=
  i, i2, /* loop indices */=0A=
  t, /* object to store info about a single tab */=0A=
  defaultTab=3D0, /* which tab to select by default */=0A=
  DOM_ul, /* tabbernav list */=0A=
  DOM_li, /* tabbernav list item */=0A=
  DOM_a, /* tabbernav link */=0A=
  aId, /* A unique id for DOM_a */=0A=
  headingElement; /* searching for text to use in the tab */=0A=
=0A=
  /* Verify that the browser supports DOM scripting */=0A=
  if (!document.getElementsByTagName) { return false; }=0A=
=0A=
  /* If the main DIV has an ID then save it. */=0A=
  if (e.id) {=0A=
    this.id =3D e.id;=0A=
  }=0A=
=0A=
  /* Clear the tabs array (but it should normally be empty) */=0A=
  this.tabs.length =3D 0;=0A=
=0A=
  /* Loop through an array of all the child nodes within our tabber =
element. */=0A=
  childNodes =3D e.childNodes;=0A=
  for(i=3D0; i < childNodes.length; i++) {=0A=
=0A=
    /* Find the nodes where class=3D"tabbertab" */=0A=
    if(childNodes[i].className &&=0A=
       childNodes[i].className.match(this.REclassTab)) {=0A=
      =0A=
      /* Create a new object to save info about this tab */=0A=
      t =3D new Object();=0A=
      =0A=
      /* Save a pointer to the div for this tab */=0A=
      t.div =3D childNodes[i];=0A=
      =0A=
      /* Add the new object to the array of tabs */=0A=
      this.tabs[this.tabs.length] =3D t;=0A=
=0A=
      /* If the class name contains classTabDefault,=0A=
	 then select this tab by default.=0A=
      */=0A=
      if (childNodes[i].className.match(this.REclassTabDefault)) {=0A=
	defaultTab =3D this.tabs.length-1;=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  /* Create a new UL list to hold the tab headings */=0A=
  DOM_ul =3D document.createElement("ul");=0A=
  DOM_ul.className =3D this.classNav;=0A=
  =0A=
  /* Loop through each tab we found */=0A=
  for (i=3D0; i < this.tabs.length; i++) {=0A=
=0A=
    t =3D this.tabs[i];=0A=
=0A=
    /* Get the label to use for this tab:=0A=
       From the title attribute on the DIV,=0A=
       Or from one of the this.titleElements[] elements,=0A=
       Or use an automatically generated number.=0A=
     */=0A=
    t.headingText =3D t.div.title;=0A=
=0A=
    /* Remove the title attribute to prevent a tooltip from appearing */=0A=
    if (this.removeTitle) { t.div.title =3D ''; }=0A=
=0A=
    if (!t.headingText) {=0A=
=0A=
      /* Title was not defined in the title of the DIV,=0A=
	 So try to get the title from an element within the DIV.=0A=
	 Go through the list of elements in this.titleElements=0A=
	 (typically heading elements ['h2','h3','h4'])=0A=
      */=0A=
      for (i2=3D0; i2<this.titleElements.length; i2++) {=0A=
	headingElement =3D =
t.div.getElementsByTagName(this.titleElements[i2])[0];=0A=
	if (headingElement) {=0A=
	  t.headingText =3D headingElement.innerHTML;=0A=
	  if (this.titleElementsStripHTML) {=0A=
	    t.headingText.replace(/<br>/gi," ");=0A=
	    t.headingText =3D t.headingText.replace(/<[^>]+>/g,"");=0A=
	  }=0A=
	  break;=0A=
	}=0A=
      }=0A=
    }=0A=
=0A=
    if (!t.headingText) {=0A=
      /* Title was not found (or is blank) so automatically generate a=0A=
         number for the tab.=0A=
      */=0A=
      t.headingText =3D i + 1;=0A=
    }=0A=
=0A=
    /* Create a list element for the tab */=0A=
    DOM_li =3D document.createElement("li");=0A=
=0A=
    /* Save a reference to this list item so we can later change it to=0A=
       the "active" class */=0A=
    t.li =3D DOM_li;=0A=
=0A=
    /* Create a link to activate the tab */=0A=
    DOM_a =3D document.createElement("a");=0A=
    DOM_a.appendChild(document.createTextNode(t.headingText));=0A=
    DOM_a.href =3D "javascript:void(null);";=0A=
    DOM_a.title =3D t.headingText;=0A=
    DOM_a.onclick =3D this.navClick;=0A=
=0A=
    /* Add some properties to the link so we can identify which tab=0A=
       was clicked. Later the navClick method will need this.=0A=
    */=0A=
    DOM_a.tabber =3D this;=0A=
    DOM_a.tabberIndex =3D i;=0A=
=0A=
    /* Do we need to add an id to DOM_a? */=0A=
    if (this.addLinkId && this.linkIdFormat) {=0A=
=0A=
      /* Determine the id name */=0A=
      aId =3D this.linkIdFormat;=0A=
      aId =3D aId.replace(/<tabberid>/gi, this.id);=0A=
      aId =3D aId.replace(/<tabnumberzero>/gi, i);=0A=
      aId =3D aId.replace(/<tabnumberone>/gi, i+1);=0A=
      aId =3D aId.replace(/<tabtitle>/gi, =
t.headingText.replace(/[^a-zA-Z0-9\-]/gi, ''));=0A=
=0A=
      DOM_a.id =3D aId;=0A=
    }=0A=
=0A=
    /* Add the link to the list element */=0A=
    DOM_li.appendChild(DOM_a);=0A=
=0A=
    /* Add the list element to the list */=0A=
    DOM_ul.appendChild(DOM_li);=0A=
  }=0A=
=0A=
  /* Add the UL list to the beginning of the tabber div */=0A=
  e.insertBefore(DOM_ul, e.firstChild);=0A=
=0A=
  /* Make the tabber div "live" so different CSS can be applied */=0A=
  e.className =3D e.className.replace(this.REclassMain, =
this.classMainLive);=0A=
=0A=
  /* Activate the default tab, and do not call the onclick handler */=0A=
  this.tabShow(defaultTab);=0A=
=0A=
  /* If the user specified an onLoad function, call it now. */=0A=
  if (typeof this.onLoad =3D=3D 'function') {=0A=
    this.onLoad({tabber:this});=0A=
  }=0A=
=0A=
  return this;=0A=
};=0A=
=0A=
=0A=
tabberObj.prototype.navClick =3D function(event)=0A=
{=0A=
  /* This method should only be called by the onClick event of an <A>=0A=
     element, in which case we will determine which tab was clicked by=0A=
     examining a property that we previously attached to the <A>=0A=
     element.=0A=
=0A=
     Since this was triggered from an onClick event, the variable=0A=
     "this" refers to the <A> element that triggered the onClick=0A=
     event (and not to the tabberObj).=0A=
=0A=
     When tabberObj was initialized, we added some extra properties=0A=
     to the <A> element, for the purpose of retrieving them now. Get=0A=
     the tabberObj object, plus the tab number that was clicked.=0A=
  */=0A=
=0A=
  var=0A=
  rVal, /* Return value from the user onclick function */=0A=
  a, /* element that triggered the onclick event */=0A=
  self, /* the tabber object */=0A=
  tabberIndex, /* index of the tab that triggered the event */=0A=
  onClickArgs; /* args to send the onclick function */=0A=
=0A=
  a =3D this;=0A=
  if (!a.tabber) { return false; }=0A=
=0A=
  self =3D a.tabber;=0A=
  tabberIndex =3D a.tabberIndex;=0A=
=0A=
  /* Remove focus from the link because it looks ugly.=0A=
     I don't know if this is a good idea...=0A=
  */=0A=
  a.blur();=0A=
=0A=
  /* If the user specified an onClick function, call it now.=0A=
     If the function returns false then do not continue.=0A=
  */=0A=
  if (typeof self.onClick =3D=3D 'function') {=0A=
=0A=
    onClickArgs =3D {'tabber':self, 'index':tabberIndex, 'event':event};=0A=
=0A=
    /* IE uses a different way to access the event object */=0A=
    if (!event) { onClickArgs.event =3D window.event; }=0A=
=0A=
    rVal =3D self.onClick(onClickArgs);=0A=
    if (rVal =3D=3D=3D false) { return false; }=0A=
  }=0A=
=0A=
  self.tabShow(tabberIndex);=0A=
=0A=
  return false;=0A=
};=0A=
=0A=
=0A=
tabberObj.prototype.tabHideAll =3D function()=0A=
{=0A=
  var i; /* counter */=0A=
=0A=
  /* Hide all tabs and make all navigation links inactive */=0A=
  for (i =3D 0; i < this.tabs.length; i++) {=0A=
    this.tabHide(i);=0A=
  }=0A=
};=0A=
=0A=
=0A=
tabberObj.prototype.tabHide =3D function(tabberIndex)=0A=
{=0A=
  var div;=0A=
=0A=
  if (!this.tabs[tabberIndex]) { return false; }=0A=
=0A=
  /* Hide a single tab and make its navigation link inactive */=0A=
  div =3D this.tabs[tabberIndex].div;=0A=
=0A=
  /* Hide the tab contents by adding classTabHide to the div */=0A=
  if (!div.className.match(this.REclassTabHide)) {=0A=
    div.className +=3D ' ' + this.classTabHide;=0A=
  }=0A=
  this.navClearActive(tabberIndex);=0A=
=0A=
  return this;=0A=
};=0A=
=0A=
=0A=
tabberObj.prototype.tabShow =3D function(tabberIndex)=0A=
{=0A=
  /* Show the tabberIndex tab and hide all the other tabs */=0A=
=0A=
  var div;=0A=
=0A=
  if (!this.tabs[tabberIndex]) { return false; }=0A=
=0A=
  /* Hide all the tabs first */=0A=
  this.tabHideAll();=0A=
=0A=
  /* Get the div that holds this tab */=0A=
  div =3D this.tabs[tabberIndex].div;=0A=
=0A=
  /* Remove classTabHide from the div */=0A=
  div.className =3D div.className.replace(this.REclassTabHide, '');=0A=
=0A=
  /* Mark this tab navigation link as "active" */=0A=
  this.navSetActive(tabberIndex);=0A=
=0A=
  /* If the user specified an onTabDisplay function, call it now. */=0A=
  if (typeof this.onTabDisplay =3D=3D 'function') {=0A=
    this.onTabDisplay({'tabber':this, 'index':tabberIndex});=0A=
  }=0A=
=0A=
  return this;=0A=
};=0A=
=0A=
tabberObj.prototype.navSetActive =3D function(tabberIndex)=0A=
{=0A=
  /* Note: this method does *not* enforce the rule=0A=
     that only one nav item can be active at a time.=0A=
  */=0A=
=0A=
  /* Set classNavActive for the navigation list item */=0A=
  this.tabs[tabberIndex].li.className =3D this.classNavActive;=0A=
=0A=
  return this;=0A=
};=0A=
=0A=
=0A=
tabberObj.prototype.navClearActive =3D function(tabberIndex)=0A=
{=0A=
  /* Note: this method does *not* enforce the rule=0A=
     that one nav should always be active.=0A=
  */=0A=
=0A=
  /* Remove classNavActive from the navigation list item */=0A=
  this.tabs[tabberIndex].li.className =3D '';=0A=
=0A=
  return this;=0A=
};=0A=
=0A=
=0A=
/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D*/=0A=
=0A=
=0A=
function tabberAutomatic(tabberArgs)=0A=
{=0A=
  /* This function finds all DIV elements in the document where=0A=
     class=3Dtabber.classMain, then converts them to use the tabber=0A=
     interface.=0A=
=0A=
     tabberArgs =3D an object to send to "new tabber()"=0A=
  */=0A=
  var=0A=
    tempObj, /* Temporary tabber object */=0A=
    divs, /* Array of all divs on the page */=0A=
    i; /* Loop index */=0A=
=0A=
  if (!tabberArgs) { tabberArgs =3D {}; }=0A=
=0A=
  /* Create a tabber object so we can get the value of classMain */=0A=
  tempObj =3D new tabberObj(tabberArgs);=0A=
=0A=
  /* Find all DIV elements in the document that have class=3Dtabber */=0A=
=0A=
  /* First get an array of all DIV elements and loop through them */=0A=
  divs =3D document.getElementsByTagName("div");=0A=
  for (i=3D0; i < divs.length; i++) {=0A=
    =0A=
    /* Is this DIV the correct class? */=0A=
    if (divs[i].className &&=0A=
	divs[i].className.match(tempObj.REclassMain)) {=0A=
      =0A=
      /* Now tabify the DIV */=0A=
      tabberArgs.div =3D divs[i];=0A=
      divs[i].tabber =3D new tabberObj(tabberArgs);=0A=
    }=0A=
  }=0A=
  =0A=
  return this;=0A=
}=0A=
=0A=
=0A=
/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D*/=0A=
=0A=
=0A=
function tabberAutomaticOnLoad(tabberArgs)=0A=
{=0A=
  /* This function adds tabberAutomatic to the window.onload event,=0A=
     so it will run after the document has finished loading.=0A=
  */=0A=
  var oldOnLoad;=0A=
=0A=
  if (!tabberArgs) { tabberArgs =3D {}; }=0A=
=0A=
  /* Taken from: =
http://simon.incutio.com/archive/2004/05/26/addLoadEvent */=0A=
=0A=
  oldOnLoad =3D window.onload;=0A=
  if (typeof window.onload !=3D 'function') {=0A=
    window.onload =3D function() {=0A=
      tabberAutomatic(tabberArgs);=0A=
    };=0A=
  } else {=0A=
    window.onload =3D function() {=0A=
      oldOnLoad();=0A=
      tabberAutomatic(tabberArgs);=0A=
    };=0A=
  }=0A=
}=0A=
=0A=
=0A=
/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D*/=0A=
=0A=
=0A=
/* Run tabberAutomaticOnload() unless the "manualStartup" option was =
specified */=0A=
=0A=
if (typeof tabberOptions =3D=3D 'undefined') {=0A=
=0A=
    tabberAutomaticOnLoad();=0A=
=0A=
} else {=0A=
=0A=
  if (!tabberOptions['manualStartup']) {=0A=
    tabberAutomaticOnLoad(tabberOptions);=0A=
  }=0A=
=0A=
}=0A=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/tiny_mce/tiny_mce_src.js


/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */

function TinyMCE_Engine() {
	var ua;

	this.majorVersion =3D "2";
	this.minorVersion =3D "1.2";
	this.releaseDate =3D "2007-08-21";

	this.instances =3D [];
	this.switchClassCache =3D [];
	this.windowArgs =3D [];
	this.loadedFiles =3D [];
	this.pendingFiles =3D [];
	this.loadingIndex =3D 0;
	this.configs =3D [];
	this.currentConfig =3D 0;
	this.eventHandlers =3D [];
	this.log =3D [];
	this.undoLevels =3D [];
	this.undoIndex =3D 0;
	this.typingUndoIndex =3D -1;
	this.settings =3D [];

	// Browser check
	ua =3D navigator.userAgent;
	this.isMSIE =3D (navigator.appName =3D=3D "Microsoft Internet =
Explorer");
	this.isMSIE5 =3D this.isMSIE && (ua.indexOf('MSIE 5') !=3D -1);
	this.isMSIE5_0 =3D this.isMSIE && (ua.indexOf('MSIE 5.0') !=3D -1);
	this.isMSIE7 =3D this.isMSIE && (ua.indexOf('MSIE 7') !=3D -1);
	this.isGecko =3D ua.indexOf('Gecko') !=3D -1; // Will also be true on =
Safari
	this.isSafari =3D ua.indexOf('Safari') !=3D -1;
	this.isOpera =3D window['opera'] && opera.buildNumber ? true : false;
	this.isMac =3D ua.indexOf('Mac') !=3D -1;
	this.isNS7 =3D ua.indexOf('Netscape/7') !=3D -1;
	this.isNS71 =3D ua.indexOf('Netscape/7.1') !=3D -1;
	this.dialogCounter =3D 0;
	this.plugins =3D [];
	this.themes =3D [];
	this.menus =3D [];
	this.loadedPlugins =3D [];
	this.buttonMap =3D [];
	this.isLoaded =3D false;

	// Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel =
those
	if (this.isOpera) {
		this.isMSIE =3D true;
		this.isGecko =3D false;
		this.isSafari =3D  false;
	}

	this.isIE =3D this.isMSIE;
	this.isRealIE =3D this.isMSIE && !this.isOpera;

	// TinyMCE editor id instance counter
	this.idCounter =3D 0;
};

TinyMCE_Engine.prototype =3D {
	init : function(settings) {
		var theme, nl, baseHREF =3D "", i, cssPath, entities, h, p, src, =
elements =3D [], head;

		// IE 5.0x is no longer supported since 5.5, 6.0 and 7.0 now exists. =
We can't support old browsers forever, sorry.
		if (this.isMSIE5_0)
			return;

		this.settings =3D settings;

		// Check if valid browser has execcommand support
		if (typeof(document.execCommand) =3D=3D 'undefined')
			return;

		// Get script base path
		if (!tinyMCE.baseURL) {
			// Search through head
			head =3D document.getElementsByTagName('head')[0];

			if (head) {
				for (i=3D0, nl =3D head.getElementsByTagName('script'); i<nl.length; =
i++)
					elements.push(nl[i]);
			}

			// Search through rest of document
			for (i=3D0, nl =3D document.getElementsByTagName('script'); =
i<nl.length; i++)
				elements.push(nl[i]);

			// If base element found, add that infront of baseURL
			nl =3D document.getElementsByTagName('base');
			for (i=3D0; i<nl.length; i++) {
				if (nl[i].href)
					baseHREF =3D nl[i].href;
			}

			for (i=3D0; i<elements.length; i++) {
				if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") !=3D =
-1 || elements[i].src.indexOf("tiny_mce_dev.js") !=3D -1 || =
elements[i].src.indexOf("tiny_mce_src.js") !=3D -1 || =
elements[i].src.indexOf("tiny_mce_gzip") !=3D -1)) {
					src =3D elements[i].src;

					tinyMCE.srcMode =3D (src.indexOf('_src') !=3D -1 || =
src.indexOf('_dev') !=3D -1) ? '_src' : '';
					tinyMCE.gzipMode =3D src.indexOf('_gzip') !=3D -1;
					src =3D src.substring(0, src.lastIndexOf('/'));

					if (settings.exec_mode =3D=3D "src" || settings.exec_mode =3D=3D =
"normal")
						tinyMCE.srcMode =3D settings.exec_mode =3D=3D "src" ? '_src' : '';

					// Force it absolute if page has a base href
					if (baseHREF !=3D=3D '' && src.indexOf('://') =3D=3D -1)
						tinyMCE.baseURL =3D baseHREF + src;
					else
						tinyMCE.baseURL =3D src;

					break;
				}
			}
		}

		// Get document base path
		this.documentBasePath =3D document.location.href;
		if (this.documentBasePath.indexOf('?') !=3D -1)
			this.documentBasePath =3D this.documentBasePath.substring(0, =
this.documentBasePath.indexOf('?'));
		this.documentURL =3D this.documentBasePath;
		this.documentBasePath =3D this.documentBasePath.substring(0, =
this.documentBasePath.lastIndexOf('/'));

		// If not HTTP absolute
		if (tinyMCE.baseURL.indexOf('://') =3D=3D -1 && =
tinyMCE.baseURL.charAt(0) !=3D '/') {
			// If site absolute
			tinyMCE.baseURL =3D this.documentBasePath + "/" + tinyMCE.baseURL;
		}

		// Set default values on settings
		this._def("mode", "none");
		this._def("theme", "advanced");
		this._def("plugins", "", true);
		this._def("language", "en");
		this._def("docs_language", this.settings.language);
		this._def("elements", "");
		this._def("textarea_trigger", "mce_editable");
		this._def("editor_selector", "");
		this._def("editor_deselector", "mceNoEditor");
		this._def("valid_elements", =
"+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|na=
me|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|=
onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup=
],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[cla=
ss|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],=
-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmou=
seover|onmouseout|border|alt=3D|title|hspace|vspace|width|height|align],-=
sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=3D=
0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|l=
ang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|h=
eight|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],=
thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|wid=
th|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id=
|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],ca=
ption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style=
|class|align],-pre[class|align|style],address[class|align|style],-h1[id|s=
tyle|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|clas=
s|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[=
id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|=
dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|=
lang],dt[id|class|title|style|dir|lang],cite[title|id|class|style|dir|lan=
g],abbr[title|id|class|style|dir|lang],acronym[title|id|class|style|dir|l=
ang],del[title|id|class|style|dir|lang|datetime|cite],ins[title|id|class|=
style|dir|lang|datetime|cite]");
		this._def("extended_valid_elements", "");
		this._def("invalid_elements", "");
		this._def("encoding", "");
		this._def("urlconverter_callback", =
tinyMCE.getParam("urlconvertor_callback", =
"TinyMCE_Engine.prototype.convertURL"));
		this._def("save_callback", "");
		this._def("force_br_newlines", false);
		this._def("force_p_newlines", true);
		this._def("add_form_submit_trigger", true);
		this._def("relative_urls", true);
		this._def("remove_script_host", true);
		this._def("focus_alert", true);
		this._def("document_base_url", this.documentURL);
		this._def("visual", true);
		this._def("visual_table_class", "mceVisualAid");
		this._def("setupcontent_callback", "");
		this._def("fix_content_duplication", true);
		this._def("custom_undo_redo", true);
		this._def("custom_undo_redo_levels", -1);
		this._def("custom_undo_redo_keyboard_shortcuts", true);
		this._def("custom_undo_redo_restore_selection", true);
		this._def("custom_undo_redo_global", false);
		this._def("verify_html", true);
		this._def("apply_source_formatting", false);
		this._def("directionality", "ltr");
		this._def("cleanup_on_startup", false);
		this._def("inline_styles", false);
		this._def("convert_newlines_to_brs", false);
		this._def("auto_reset_designmode", true);
		this._def("entities", =
"39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvb=
ar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,1=
75,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para=
,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,1=
90,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,=
197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,2=
04,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211=
,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218=
,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,=
aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,e=
grave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,i=
uml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,oum=
l,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacu=
te,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917=
,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,=
925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,93=
4,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,94=
9,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu=
,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,96=
5,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,pi=
v,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,=
weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8=
594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,865=
9,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8=
712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,873=
0,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,=
8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,880=
4,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8=
855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfl=
oor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,=
diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaro=
n,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8=
205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,821=
8,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,per=
mil,8249,lsaquo,8250,rsaquo,8364,euro", true);
		this._def("entity_encoding", "named");
		this._def("cleanup_callback", "");
		this._def("add_unload_trigger", true);
		this._def("ask", false);
		this._def("nowrap", false);
		this._def("auto_resize", false);
		this._def("auto_focus", false);
		this._def("cleanup", true);
		this._def("remove_linebreaks", true);
		this._def("button_tile_map", false);
		this._def("submit_patch", true);
		this._def("browsers", "msie,safari,gecko,opera", true);
		this._def("dialog_type", "window");
		this._def("accessibility_warnings", true);
		this._def("accessibility_focus", true);
		this._def("merge_styles_invalid_parents", "");
		this._def("force_hex_style_colors", true);
		this._def("trim_span_elements", true);
		this._def("convert_fonts_to_spans", false);
		this._def("doctype", '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 =
Transitional//EN">');
		this._def("font_size_classes", '');
		this._def("font_size_style_values", =
'xx-small,x-small,small,medium,large,x-large,xx-large', true);
		this._def("event_elements", 'a,img', true);
		this._def("convert_urls", true);
		this._def("table_inline_editing", false);
		this._def("object_resizing", true);
		this._def("custom_shortcuts", true);
		this._def("convert_on_click", false);
		this._def("content_css", '');
		this._def("fix_list_elements", true);
		this._def("fix_table_elements", false);
		this._def("strict_loading_mode", document.contentType =3D=3D =
'application/xhtml+xml');
		this._def("hidden_tab_class", '');
		this._def("display_tab_class", '');
		this._def("gecko_spellcheck", false);
		this._def("hide_selects_on_submit", true);
		this._def("forced_root_block", false);
		this._def("remove_trailing_nbsp", false);
		this._def("save_on_tinymce_forms", false);

		// Force strict loading mode to false on non Gecko browsers
		if (this.isMSIE && !this.isOpera)
			this.settings.strict_loading_mode =3D false;

		// Browser check IE
		if (this.isMSIE && this.settings.browsers.indexOf('msie') =3D=3D -1)
			return;

		// Browser check Gecko
		if (this.isGecko && this.settings.browsers.indexOf('gecko') =3D=3D -1)
			return;

		// Browser check Safari
		if (this.isSafari && this.settings.browsers.indexOf('safari') =3D=3D =
-1)
			return;

		// Browser check Opera
		if (this.isOpera && this.settings.browsers.indexOf('opera') =3D=3D -1)
			return;

		// If not super absolute make it so
		baseHREF =3D tinyMCE.settings.document_base_url;
		h =3D document.location.href;
		p =3D h.indexOf('://');
		if (p > 0 && document.location.protocol !=3D "file:") {
			p =3D h.indexOf('/', p + 3);
			h =3D h.substring(0, p);

			if (baseHREF.indexOf('://') =3D=3D -1)
				baseHREF =3D h + baseHREF;

			tinyMCE.settings.document_base_url =3D baseHREF;
			tinyMCE.settings.document_base_prefix =3D h;
		}

		// Trim away query part
		if (baseHREF.indexOf('?') !=3D -1)
			baseHREF =3D baseHREF.substring(0, baseHREF.indexOf('?'));

		this.settings.base_href =3D baseHREF.substring(0, =
baseHREF.lastIndexOf('/')) + "/";

		theme =3D this.settings.theme;
		this.inlineStrict =3D =
'A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|=
KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';
		this.inlineTransitional =3D =
'A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|F=
ONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|=
INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';
		this.blockElms =3D =
'H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|CAPTION|BLOCKQUOTE|CENTE=
R|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';
		this.blockRegExp =3D new RegExp("^(" + this.blockElms + ")$", "i");
		this.posKeyCodes =3D [13,45,36,35,33,34,37,38,39,40];
		this.uniqueURL =3D 'javascript:void(091039730);'; // Make unique URL =
non real URL
		this.uniqueTag =3D '<div id=3D"mceTMPElement" style=3D"display: =
none">TMP</div>';
		this.callbacks =3D ['onInit', 'getInfo', 'getEditorTemplate', =
'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', =
'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', =
'cleanup', 'removeInstance'];

		// Theme url
		this.settings.theme_href =3D tinyMCE.baseURL + "/themes/" + theme;

		if (!tinyMCE.isIE || tinyMCE.isOpera)
			this.settings.force_br_newlines =3D false;

		if (tinyMCE.getParam("popups_css", false)) {
			cssPath =3D tinyMCE.getParam("popups_css", "");

			// Is relative
			if (cssPath.indexOf('://') =3D=3D -1 && cssPath.charAt(0) !=3D '/')
				this.settings.popups_css =3D this.documentBasePath + "/" + cssPath;
			else
				this.settings.popups_css =3D cssPath;
		} else
			this.settings.popups_css =3D tinyMCE.baseURL + "/themes/" + theme + =
"/css/editor_popup.css";

		if (tinyMCE.getParam("editor_css", false)) {
			cssPath =3D tinyMCE.getParam("editor_css", "");

			// Is relative
			if (cssPath.indexOf('://') =3D=3D -1 && cssPath.charAt(0) !=3D '/')
				this.settings.editor_css =3D this.documentBasePath + "/" + cssPath;
			else
				this.settings.editor_css =3D cssPath;
		} else {
			if (this.settings.editor_css !=3D=3D '')
				this.settings.editor_css =3D tinyMCE.baseURL + "/themes/" + theme + =
"/css/editor_ui.css";
		}

		// Only do this once
		if (this.configs.length =3D=3D 0) {
			if (typeof(TinyMCECompressed) =3D=3D "undefined") {
				tinyMCE.addEvent(window, "DOMContentLoaded", =
TinyMCE_Engine.prototype.onLoad);

				if (tinyMCE.isRealIE) {
					if (document.body)
						tinyMCE.addEvent(document.body, "readystatechange", =
TinyMCE_Engine.prototype.onLoad);
					else
						tinyMCE.addEvent(document, "readystatechange", =
TinyMCE_Engine.prototype.onLoad);
				}

				tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad);
				tinyMCE._addUnloadEvents();
			}
		}

		this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings.theme + =
'/editor_template' + tinyMCE.srcMode + '.js');
		this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings.language + =
 '.js');
		this.loadCSS(this.settings.editor_css);

		// Add plugins
		p =3D tinyMCE.getParam('plugins', '', true, ',');
		if (p.length > 0) {
			for (i=3D0; i<p.length; i++) {
				if (p[i].charAt(0) !=3D '-')
					this.loadScript(tinyMCE.baseURL + '/plugins/' + p[i] + =
'/editor_plugin' + tinyMCE.srcMode + '.js');
			}
		}

		// Setup entities
		if (tinyMCE.getParam('entity_encoding') =3D=3D 'named') {
			settings.cleanup_entities =3D [];
			entities =3D tinyMCE.getParam('entities', '', true, ',');
			for (i=3D0; i<entities.length; i+=3D2)
				settings.cleanup_entities['c' + entities[i]] =3D entities[i+1];
		}

		// Save away this config
		settings.index =3D this.configs.length;
		this.configs[this.configs.length] =3D settings;

		// Start loading first one in chain
		this.loadNextScript();

		// Force flicker free CSS backgrounds in IE
		if (this.isIE && !this.isOpera) {
			try {
				document.execCommand('BackgroundImageCache', false, true);
			} catch (e) {
				// Ignore
			}
		}

		// Setup XML encoding regexps
		this.xmlEncodeRe =3D new RegExp('[<>&"]', 'g');
	},

	_addUnloadEvents : function() {
		var st =3D tinyMCE.settings.add_unload_trigger;

		if (tinyMCE.isIE) {
			if (st) {
				tinyMCE.addEvent(window, "unload", =
TinyMCE_Engine.prototype.unloadHandler);
				tinyMCE.addEvent(window.document, "beforeunload", =
TinyMCE_Engine.prototype.unloadHandler);
			}
		} else {
			if (st)
				tinyMCE.addEvent(window, "unload", function () =
{tinyMCE.triggerSave(true, true);});
		}
	},

	_def : function(key, def_val, t) {
		var v =3D tinyMCE.getParam(key, def_val);

		v =3D t ? v.replace(/\s+/g, "") : v;

		this.settings[key] =3D v;
	},

	hasPlugin : function(n) {
		return typeof(this.plugins[n]) !=3D "undefined" && this.plugins[n] =
!=3D null;
	},

	addPlugin : function(n, p) {
		var op =3D this.plugins[n];

		// Use the previous plugin object base URL used when loading external =
plugins
		p.baseURL =3D op ? op.baseURL : tinyMCE.baseURL + "/plugins/" + n;
		this.plugins[n] =3D p;

		this.loadNextScript();
	},

	setPluginBaseURL : function(n, u) {
		var op =3D this.plugins[n];

		if (op)
			op.baseURL =3D u;
		else
			this.plugins[n] =3D {baseURL : u};
	},

	loadPlugin : function(n, u) {
		u =3D u.indexOf('.js') !=3D -1 ? u.substring(0, u.lastIndexOf('/')) : =
u;
		u =3D u.charAt(u.length-1) =3D=3D '/' ? u.substring(0, u.length-1) : =
u;
		this.plugins[n] =3D {baseURL : u};
		this.loadScript(u + "/editor_plugin" + (tinyMCE.srcMode ? '_src' : '') =
+ ".js");
	},

	hasTheme : function(n) {
		return typeof(this.themes[n]) !=3D "undefined" && this.themes[n] !=3D =
null;
	},

	addTheme : function(n, t) {
		this.themes[n] =3D t;

		this.loadNextScript();
	},

	addMenu : function(n, m) {
		this.menus[n] =3D m;
	},

	hasMenu : function(n) {
		return typeof(this.plugins[n]) !=3D "undefined" && this.plugins[n] =
!=3D null;
	},

	loadScript : function(url) {
		var i;

		for (i=3D0; i<this.loadedFiles.length; i++) {
			if (this.loadedFiles[i] =3D=3D url)
				return;
		}

		if (tinyMCE.settings.strict_loading_mode)
			this.pendingFiles[this.pendingFiles.length] =3D url;
		else
			document.write('<sc'+'ript language=3D"javascript" =
type=3D"text/javascript" src=3D"' + url + '"></script>');

		this.loadedFiles[this.loadedFiles.length] =3D url;
	},

	loadNextScript : function() {
		var d =3D document, se;

		if (!tinyMCE.settings.strict_loading_mode)
			return;

		if (this.loadingIndex < this.pendingFiles.length) {
			se =3D d.createElementNS('http://www.w3.org/1999/xhtml', 'script');
			se.setAttribute('language', 'javascript');
			se.setAttribute('type', 'text/javascript');
			se.setAttribute('src', this.pendingFiles[this.loadingIndex++]);

			d.getElementsByTagName("head")[0].appendChild(se);
		} else
			this.loadingIndex =3D -1; // Done with loading
	},

	loadCSS : function(url) {
		var ar =3D url.replace(/\s+/, '').split(',');
		var lflen =3D 0, csslen =3D 0, skip =3D false;
		var x =3D 0, i =3D 0, nl, le;

		for (x =3D 0,csslen =3D ar.length; x<csslen; x++) {
			if (ar[x] !=3D null && ar[x] !=3D 'null' && ar[x].length > 0) {
				/* Make sure it doesn't exist. */
				for (i=3D0, lflen=3Dthis.loadedFiles.length; i<lflen; i++) {
					if (this.loadedFiles[i] =3D=3D ar[x]) {
						skip =3D true;
						break;
					}
				}

				if (!skip) {
					if (tinyMCE.settings.strict_loading_mode) {
						nl =3D document.getElementsByTagName("head");

						le =3D document.createElement('link');
						le.setAttribute('href', ar[x]);
						le.setAttribute('rel', 'stylesheet');
						le.setAttribute('type', 'text/css');

						nl[0].appendChild(le);		=09
					} else
						document.write('<link href=3D"' + ar[x] + '" rel=3D"stylesheet" =
type=3D"text/css" />');

					this.loadedFiles[this.loadedFiles.length] =3D ar[x];
				}
			}
		}
	},

	importCSS : function(doc, css) {
		var css_ary =3D css.replace(/\s+/, '').split(',');
		var csslen, elm, headArr, x, css_file;

		for (x =3D 0, csslen =3D css_ary.length; x<csslen; x++) {
			css_file =3D css_ary[x];

			if (css_file !=3D null && css_file !=3D 'null' && css_file.length > =
0) {
				// Is relative, make absolute
				if (css_file.indexOf('://') =3D=3D -1 && css_file.charAt(0) !=3D =
'/')
					css_file =3D this.documentBasePath + "/" + css_file;

				if (typeof(doc.createStyleSheet) =3D=3D "undefined") {
					elm =3D doc.createElement("link");

					elm.rel =3D "stylesheet";
					elm.href =3D css_file;

					if ((headArr =3D doc.getElementsByTagName("head")) !=3D null && =
headArr.length > 0)
						headArr[0].appendChild(elm);
				} else
					doc.createStyleSheet(css_file);
			}
		}
	},

	confirmAdd : function(e, settings) {
		var elm =3D tinyMCE.isIE ? event.srcElement : e.target;
		var elementId =3D elm.name ? elm.name : elm.id;

		tinyMCE.settings =3D settings;

		if (tinyMCE.settings.convert_on_click || =
(!elm.getAttribute('mce_noask') && =
confirm(tinyMCELang.lang_edit_confirm)))
			tinyMCE.addMCEControl(elm, elementId);

		elm.setAttribute('mce_noask', 'true');
	},

	updateContent : function(form_element_name) {
		var formElement, n, inst, doc;

		// Find MCE instance linked to given form element and copy it's value
		formElement =3D document.getElementById(form_element_name);
		for (n in tinyMCE.instances) {
			inst =3D tinyMCE.instances[n];

			if (!tinyMCE.isInstance(inst))
				continue;

			inst.switchSettings();

			if (inst.formElement =3D=3D formElement) {
				doc =3D inst.getDoc();

				tinyMCE._setHTML(doc, inst.formElement.value);

				if (!tinyMCE.isIE)
					doc.body.innerHTML =3D tinyMCE._cleanupHTML(inst, doc, =
this.settings, doc.body, inst.visualAid);
			}
		}
	},

	addMCEControl : function(replace_element, form_element_name, =
target_document) {
		var id =3D "mce_editor_" + tinyMCE.idCounter++;
		var inst =3D new TinyMCE_Control(tinyMCE.settings);

		inst.editorId =3D id;
		this.instances[id] =3D inst;

		inst._onAdd(replace_element, form_element_name, target_document);
	},

	removeInstance : function(ti) {
		var t =3D [], n, i;

		// Remove from instances
		for (n in tinyMCE.instances) {
			i =3D tinyMCE.instances[n];

			if (tinyMCE.isInstance(i) && ti !=3D i)
					t[n] =3D i;
		}

		tinyMCE.instances =3D t;

		// Remove from global undo/redo
		n =3D [];
		t =3D tinyMCE.undoLevels;

		for (i=3D0; i<t.length; i++) {
			if (t[i] !=3D ti)
				n.push(t[i]);
		}

		tinyMCE.undoLevels =3D n;
		tinyMCE.undoIndex =3D n.length;

		// Dispatch remove instance call
		tinyMCE.dispatchCallback(ti, 'remove_instance_callback', =
'removeInstance', ti);

		return ti;
	},

	removeMCEControl : function(editor_id) {
		var inst =3D tinyMCE.getInstanceById(editor_id), h, re, ot, tn, n;

		if (inst) {
			inst.switchSettings();

			editor_id =3D inst.editorId;
			h =3D tinyMCE.getContent(editor_id);

			this.removeInstance(inst);

			tinyMCE.selectedElement =3D null;
			tinyMCE.selectedInstance =3D null;

			tinyMCE.selectedElement =3D null;
			tinyMCE.selectedInstance =3D null;

			// Try finding an instance
			for (n in tinyMCE.instances) {
				if (!tinyMCE.isInstance(tinyMCE.instances[n]))
					continue;

				tinyMCE.selectedInstance =3D tinyMCE.instances[n];
				break;
			}

			// Remove element
			re =3D document.getElementById(editor_id + "_parent");
			ot =3D inst.oldTargetElement;
			tn =3D ot.nodeName.toLowerCase();

			if (tn =3D=3D "textarea" || tn =3D=3D "input") {
				re.parentNode.removeChild(re);
				ot.style.display =3D "inline";
				ot.value =3D h;
			} else {
				ot.innerHTML =3D h;
				ot.style.display =3D 'block';
				re.parentNode.insertBefore(ot, re);
				re.parentNode.removeChild(re);
			}
		}
	},

	triggerSave : function(skip_cleanup, skip_callback) {
		var inst, n;

		// Default to false
		if (typeof(skip_cleanup) =3D=3D "undefined")
			skip_cleanup =3D false;

		// Default to false
		if (typeof(skip_callback) =3D=3D "undefined")
			skip_callback =3D false;

		// Cleanup and set all form fields
		for (n in tinyMCE.instances) {
			inst =3D tinyMCE.instances[n];

			if (!tinyMCE.isInstance(inst))
				continue;

			inst.triggerSave(skip_cleanup, skip_callback);
		}
	},

	resetForm : function(form_index) {
		var i, inst, n, formObj =3D document.forms[form_index];

		for (n in tinyMCE.instances) {
			inst =3D tinyMCE.instances[n];

			if (!tinyMCE.isInstance(inst))
				continue;

			inst.switchSettings();

			for (i=3D0; i<formObj.elements.length; i++) {
				if (inst.formTargetElementId =3D=3D formObj.elements[i].name)
					inst.getBody().innerHTML =3D inst.startContent;
			}
		}
	},

	execInstanceCommand : function(editor_id, command, user_interface, =
value, focus) {
		var inst =3D tinyMCE.getInstanceById(editor_id), r;

		if (inst) {
			r =3D inst.selection.getRng();

			if (typeof(focus) =3D=3D "undefined")
				focus =3D true;

			// IE bug lost focus on images in absolute divs Bug #1534575
			if (focus && (!r || !r.item))
				inst.contentWindow.focus();

			// Reset design mode if lost
			inst.autoResetDesignMode();

			this.selectedElement =3D inst.getFocusElement();
			inst.select();
			tinyMCE.execCommand(command, user_interface, value);

			// Cancel event so it doesn't call onbeforeonunlaod
			if (tinyMCE.isIE && window.event !=3D null)
				tinyMCE.cancelEvent(window.event);
		}
	},

	execCommand : function(command, user_interface, value) {
		var inst =3D tinyMCE.selectedInstance, n, pe, te;

		// Default input
		user_interface =3D user_interface ? user_interface : false;
		value =3D value ? value : null;

		if (inst)
			inst.switchSettings();

		switch (command) {
			case "Undo":
				if (this.getParam('custom_undo_redo_global')) {
					if (this.undoIndex > 0) {
						tinyMCE.nextUndoRedoAction =3D 'Undo';
						inst =3D this.undoLevels[--this.undoIndex];
						inst.select();

						if (!tinyMCE.nextUndoRedoInstanceId)
							inst.execCommand('Undo');
					}
				} else
					inst.execCommand('Undo');
				return true;

			case "Redo":
				if (this.getParam('custom_undo_redo_global')) {
					if (this.undoIndex <=3D this.undoLevels.length - 1) {
						tinyMCE.nextUndoRedoAction =3D 'Redo';
						inst =3D this.undoLevels[this.undoIndex++];
						inst.select();

						if (!tinyMCE.nextUndoRedoInstanceId)
							inst.execCommand('Redo');
					}
				} else
					inst.execCommand('Redo');

				return true;

			case 'mceFocus':
				inst =3D tinyMCE.getInstanceById(value);

				if (inst)
					inst.getWin().focus();
			return;

			case "mceAddControl":
			case "mceAddEditor":
				tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
				return;

			case "mceAddFrameControl":
				tinyMCE.addMCEControl(tinyMCE._getElementById(value.element, =
value.document), value.element, value.document);
				return;

			case "mceRemoveControl":
			case "mceRemoveEditor":
				tinyMCE.removeMCEControl(value);
				return;

			case "mceToggleEditor":
				inst =3D tinyMCE.getInstanceById(value);

				if (inst) {
					pe =3D document.getElementById(inst.editorId + '_parent');
					te =3D inst.oldTargetElement;

					if (typeof(inst.enabled) =3D=3D 'undefined')
						inst.enabled =3D true;

					inst.enabled =3D !inst.enabled;

					if (!inst.enabled) {
						pe.style.display =3D 'none';

						if (te.nodeName =3D=3D 'TEXTAREA' || te.nodeName =3D=3D 'INPUT')
							te.value =3D inst.getHTML();
						else
							te.innerHTML =3D inst.getHTML();

						te.style.display =3D inst.oldTargetDisplay;
						tinyMCE.dispatchCallback(inst, 'hide_instance_callback', =
'hideInstance', inst);
					} else {
						pe.style.display =3D 'block';
						te.style.display =3D 'none';

						if (te.nodeName =3D=3D 'TEXTAREA' || te.nodeName =3D=3D 'INPUT')
							inst.setHTML(te.value);
						else
							inst.setHTML(te.innerHTML);

						inst.useCSS =3D false;
						tinyMCE.dispatchCallback(inst, 'show_instance_callback', =
'showInstance', inst);
					}
				} else
					tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);

				return;

			case "mceResetDesignMode":
				// Resets the designmode state of the editors in Gecko
				if (tinyMCE.isGecko) {
					for (n in tinyMCE.instances) {
						if (!tinyMCE.isInstance(tinyMCE.instances[n]))
							continue;

						try {
							tinyMCE.instances[n].getDoc().designMode =3D "off";
							tinyMCE.instances[n].getDoc().designMode =3D "on";
							tinyMCE.instances[n].useCSS =3D false;
						} catch (e) {
							// Ignore any errors
						}
					}
				}

				return;
		}

		if (inst) {
			inst.execCommand(command, user_interface, value);
		} else if (tinyMCE.settings.focus_alert)
			alert(tinyMCELang.lang_focus_alert);
	},

	_createIFrame : function(replace_element, doc, win) {
		var iframe, id =3D replace_element.getAttribute("id");
		var aw, ah;

		if (typeof(doc) =3D=3D "undefined")
			doc =3D document;

		if (typeof(win) =3D=3D "undefined")
			win =3D window;

		iframe =3D doc.createElement("iframe");

		aw =3D "" + tinyMCE.settings.area_width;
		ah =3D "" + tinyMCE.settings.area_height;

		if (aw.indexOf('%') =3D=3D -1) {
			aw =3D parseInt(aw);
			aw =3D (isNaN(aw) || aw < 0) ? 300 : aw;
			aw =3D aw + "px";
		}

		if (ah.indexOf('%') =3D=3D -1) {
			ah =3D parseInt(ah);
			ah =3D (isNaN(ah) || ah < 0) ? 240 : ah;
			ah =3D ah + "px";
		}

		iframe.setAttribute("id", id);
		iframe.setAttribute("name", id);
		iframe.setAttribute("class", "mceEditorIframe");
		iframe.setAttribute("border", "0");
		iframe.setAttribute("frameBorder", "0");
		iframe.setAttribute("marginWidth", "0");
		iframe.setAttribute("marginHeight", "0");
		iframe.setAttribute("leftMargin", "0");
		iframe.setAttribute("topMargin", "0");
		iframe.setAttribute("width", aw);
		iframe.setAttribute("height", ah);
		iframe.setAttribute("allowtransparency", "true");
		iframe.className =3D 'mceEditorIframe';

		if (tinyMCE.settings.auto_resize)
			iframe.setAttribute("scrolling", "no");

		// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
		if (tinyMCE.isRealIE)
			iframe.setAttribute("src", this.settings.default_document);

		iframe.style.width =3D aw;
		iframe.style.height =3D ah;

		// Ugly hack for Gecko problem in strict mode
		if (tinyMCE.settings.strict_loading_mode)
			iframe.style.marginBottom =3D '-5px';

		// MSIE 5.0 issue
		if (tinyMCE.isRealIE)
			replace_element.outerHTML =3D iframe.outerHTML;
		else
			replace_element.parentNode.replaceChild(iframe, replace_element);

		if (tinyMCE.isRealIE)
			return win.frames[id];
		else
			return iframe;
	},

	setupContent : function(editor_id) {
		var inst =3D tinyMCE.instances[editor_id], i, doc =3D inst.getDoc(), =
head =3D doc.getElementsByTagName('head').item(0);
		var content =3D inst.startContent, contentElement, body;

		// HTML values get XML encoded in strict mode
		if (tinyMCE.settings.strict_loading_mode) {
			content =3D content.replace(/&lt;/g, '<');
			content =3D content.replace(/&gt;/g, '>');
			content =3D content.replace(/&quot;/g, '"');
			content =3D content.replace(/&amp;/g, '&');
		}

		tinyMCE.selectedInstance =3D inst;
		inst.switchSettings();

		// Not loaded correctly hit it again, Mozilla bug #997860
		if (!tinyMCE.isIE && tinyMCE.getParam("setupcontent_reload", false) && =
doc.title !=3D "blank_page") {
			// This part will remove the designMode status
			// Failes first time in Firefox 1.5b2 on Mac
			try {doc.location.href =3D tinyMCE.baseURL + "/blank.htm";} catch =
(ex) {}
			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", =
1000);
			return;
		}

		// Wait for it to load
		if (!head || !doc.body) {
			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
			return;
		}

		// Import theme specific content CSS the user specific
		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + =
inst.settings.theme + "/css/editor_content.css");
		tinyMCE.importCSS(inst.getDoc(), inst.settings.content_css);
		tinyMCE.dispatchCallback(inst, 'init_instance_callback', =
'initInstance', inst);

		// Setup keyboard shortcuts
		if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) {
			inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo');
			inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo');
		}

		// BlockFormat shortcuts keys
		for (i=3D1; i<=3D6; i++)
			inst.addShortcut('ctrl', '' + i, '', 'FormatBlock', false, '<h' + i + =
'>');

		inst.addShortcut('ctrl', '7', '', 'FormatBlock', false, '<p>');
		inst.addShortcut('ctrl', '8', '', 'FormatBlock', false, '<div>');
		inst.addShortcut('ctrl', '9', '', 'FormatBlock', false, '<address>');

		// Add default shortcuts for gecko
		if (tinyMCE.isGecko) {
			inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold');
			inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic');
			inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline');
		}

		// Setup span styles
		if (tinyMCE.getParam("convert_fonts_to_spans"))
			inst.getBody().setAttribute('id', 'mceSpanFonts');

		if (tinyMCE.settings.nowrap)
			doc.body.style.whiteSpace =3D "nowrap";

		doc.body.dir =3D this.settings.directionality;
		doc.editorId =3D editor_id;

		// Add on document element in Mozilla
		if (!tinyMCE.isIE)
			doc.documentElement.editorId =3D editor_id;

		inst.setBaseHREF(tinyMCE.settings.base_href);

		// Replace new line characters to BRs
		if (tinyMCE.settings.convert_newlines_to_brs) {
			content =3D tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
			content =3D tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
			content =3D tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
		}

		// Open closed anchors
	//	content =3D content.replace(new RegExp('<a(.*?)/>', 'gi'), =
'<a$1></a>');

		// Call custom cleanup code
		content =3D tinyMCE.storeAwayURLs(content);
		content =3D tinyMCE._customCleanup(inst, "insert_to_editor", content);

		if (tinyMCE.isIE) {
			// Ugly!!!
			window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + =
editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500);

			if (tinyMCE.settings.force_br_newlines)
				doc.styleSheets[0].addRule("p", "margin: 0;");

			body =3D inst.getBody();
			body.editorId =3D editor_id;
		}

		content =3D tinyMCE.cleanupHTMLCode(content);

		// Fix for bug #958637
		if (!tinyMCE.isIE) {
			contentElement =3D inst.getDoc().createElement("body");
			doc =3D inst.getDoc();

			contentElement.innerHTML =3D content;

			if (tinyMCE.settings.cleanup_on_startup)
				tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, =
this.settings, contentElement));
			else
				tinyMCE.setInnerHTML(inst.getBody(), content);

			tinyMCE.convertAllRelativeURLs(inst.getBody());
		} else {
			if (tinyMCE.settings.cleanup_on_startup) {
				tinyMCE._setHTML(inst.getDoc(), content);

				// Produces permission denied error in MSIE 5.5
				try {
					tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, =
inst.contentDocument, this.settings, inst.getBody()));
				} catch(e) {
					// Ignore
				}
			} else
				tinyMCE._setHTML(inst.getDoc(), content);
		}

		// Fix for bug #957681
		//inst.getDoc().designMode =3D inst.getDoc().designMode;

		tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings.visual, =
inst);
		tinyMCE.dispatchCallback(inst, 'setupcontent_callback', =
'setupContent', editor_id, inst.getBody(), inst.getDoc());

		// Re-add design mode on mozilla
		if (!tinyMCE.isIE)
			tinyMCE.addEventHandlers(inst);

		// Add blur handler
		if (tinyMCE.isIE) {
			tinyMCE.addEvent(inst.getBody(), "blur", =
TinyMCE_Engine.prototype._eventPatch);
			tinyMCE.addEvent(inst.getBody(), "beforedeactivate", =
TinyMCE_Engine.prototype._eventPatch); // Bug #1439953

			// Workaround for drag drop/copy paste base href bug
			if (!tinyMCE.isOpera) {
				tinyMCE.addEvent(doc.body, "mousemove", =
TinyMCE_Engine.prototype.onMouseMove);
				tinyMCE.addEvent(doc.body, "beforepaste", =
TinyMCE_Engine.prototype._eventPatch);
				tinyMCE.addEvent(doc.body, "drop", =
TinyMCE_Engine.prototype._eventPatch);
			}
		}

		// Trigger node change, this call locks buttons for tables and so =
forth
		inst.select();
		tinyMCE.selectedElement =3D inst.contentWindow.document.body;

		// Call custom DOM cleanup
		tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody());
		tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody());
		tinyMCE._setEventsEnabled(inst.getBody(), false);
		tinyMCE.cleanupAnchors(inst.getDoc());

		if (tinyMCE.getParam("convert_fonts_to_spans"))
			tinyMCE.convertSpansToFonts(inst.getDoc());

		inst.startContent =3D tinyMCE.trim(inst.getBody().innerHTML);
		inst.undoRedo.add({ content : inst.startContent });

		// Cleanup any mess left from storyAwayURLs
		if (tinyMCE.isGecko) {
			// Remove mce_src from textnodes and comments
			tinyMCE.selectNodes(inst.getBody(), function(n) {
				if (n.nodeType =3D=3D 3 || n.nodeType =3D=3D 8)
					n.nodeValue =3D n.nodeValue.replace(new =
RegExp('\\s(mce_src|mce_href)=3D\"[^\"]*\"', 'gi'), "");

				return false;
			});
		}

		// Remove Gecko spellchecking
		if (tinyMCE.isGecko)
			inst.getBody().spellcheck =3D tinyMCE.getParam("gecko_spellcheck");

		// Cleanup any mess left from storyAwayURLs
		tinyMCE._removeInternal(inst.getBody());

		inst.select();
		tinyMCE.triggerNodeChange(false, true);
	},

	storeAwayURLs : function(s) {
		// Remove all mce_src, mce_href and replace them with new ones
		// s =3D s.replace(new RegExp('mce_src\\s*=3D\\s*\"[^ >\"]*\"', 'gi'), =
'');
		// s =3D s.replace(new RegExp('mce_href\\s*=3D\\s*\"[^ >\"]*\"', =
'gi'), '');

		if (!s.match(/(mce_src|mce_href)/gi, s)) {
			s =3D s.replace(new RegExp('src\\s*=3D\\s*\"([^ >\"]*)\"', 'gi'), =
'src=3D"$1" mce_src=3D"$1"');
			s =3D s.replace(new RegExp('href\\s*=3D\\s*\"([^ >\"]*)\"', 'gi'), =
'href=3D"$1" mce_href=3D"$1"');
		}

		return s;
	},

	_removeInternal : function(n) {
		if (tinyMCE.isGecko) {
			// Remove mce_src from textnodes and comments
			tinyMCE.selectNodes(n, function(n) {
				if (n.nodeType =3D=3D 3 || n.nodeType =3D=3D 8)
					n.nodeValue =3D n.nodeValue.replace(new =
RegExp('\\s(mce_src|mce_href)=3D\"[^\"]*\"', 'gi'), "");

				return false;
			});
		}
	},

	removeTinyMCEFormElements : function(form_obj) {
		var i, elementId;

		// Skip form element removal
		if (!tinyMCE.getParam('hide_selects_on_submit'))
			return;

		// Check if form is valid
		if (typeof(form_obj) =3D=3D "undefined" || form_obj =3D=3D null)
			return;

		// If not a form, find the form
		if (form_obj.nodeName !=3D "FORM") {
			if (form_obj.form)
				form_obj =3D form_obj.form;
			else
				form_obj =3D tinyMCE.getParentElement(form_obj, "form");
		}

		// Still nothing
		if (form_obj =3D=3D null)
			return;

		// Disable all UI form elements that TinyMCE created
		for (i=3D0; i<form_obj.elements.length; i++) {
			elementId =3D form_obj.elements[i].name ? form_obj.elements[i].name : =
form_obj.elements[i].id;

			if (elementId.indexOf('mce_editor_') =3D=3D 0)
				form_obj.elements[i].disabled =3D true;
		}
	},

	handleEvent : function(e) {
		var inst =3D tinyMCE.selectedInstance, i, elm, keys;

		// Remove odd, error
		if (typeof(tinyMCE) =3D=3D "undefined")
			return true;

		//tinyMCE.debug(e.type + " " + e.target.nodeName + " " + =
(e.relatedTarget ? e.relatedTarget.nodeName : ""));

		if (tinyMCE.executeCallback(tinyMCE.selectedInstance, =
'handle_event_callback', 'handleEvent', e))
			return false;

		switch (e.type) {
			case "beforedeactivate": // Was added due to bug #1439953
			case "blur":
				if (tinyMCE.selectedInstance)
					tinyMCE.selectedInstance.execCommand('mceEndTyping');

				tinyMCE.hideMenus();

				return;

			// Workaround for drag drop/copy paste base href bug
			case "drop":
			case "beforepaste":
				if (tinyMCE.selectedInstance)
					tinyMCE.selectedInstance.setBaseHREF(null);

				// Fixes odd MSIE bug where drag/droping elements in a iframe with =
height 100% breaks
				// This logic forces the width/height to be in pixels while the user =
is drag/dropping
				if (tinyMCE.isRealIE) {
					var ife =3D tinyMCE.selectedInstance.iframeElement;

					/*if (ife.style.width.indexOf('%') !=3D -1) {
						ife._oldWidth =3D ife.width.height;
						ife.style.width =3D ife.clientWidth;
					}*/

					if (ife.style.height.indexOf('%') !=3D -1) {
						ife._oldHeight =3D ife.style.height;
						ife.style.height =3D ife.clientHeight;
					}
				}

				=
window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings.=
base_href);tinyMCE._resetIframeHeight();", 1);
				return;

			case "submit":
				tinyMCE.formSubmit(tinyMCE.isMSIE ? window.event.srcElement : =
e.target);
				return;

			case "reset":
				var formObj =3D tinyMCE.isIE ? window.event.srcElement : e.target;

				for (i=3D0; i<document.forms.length; i++) {
					if (document.forms[i] =3D=3D formObj)
						window.setTimeout('tinyMCE.resetForm(' + i + ');', 10);
				}

				return;

			case "keypress":
				if (inst && inst.handleShortcut(e))
					return false;

				if (e.target.editorId) {
					tinyMCE.instances[e.target.editorId].select();
				} else {
					if (e.target.ownerDocument.editorId)
						tinyMCE.instances[e.target.ownerDocument.editorId].select();
				}

				if (tinyMCE.selectedInstance)
					tinyMCE.selectedInstance.switchSettings();

				// Insert P element
				if ((tinyMCE.isGecko || tinyMCE.isOpera || tinyMCE.isSafari) && =
tinyMCE.settings.force_p_newlines && e.keyCode =3D=3D 13 && !e.shiftKey) =
{
					// Insert P element instead of BR
					if (TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance, =
e)) {
						// Cancel event
						tinyMCE.execCommand("mceAddUndoLevel");
						return tinyMCE.cancelEvent(e);
					}
				}

				// Handle backspace
				if ((tinyMCE.isGecko && !tinyMCE.isSafari) && =
tinyMCE.settings.force_p_newlines && (e.keyCode =3D=3D 8 || e.keyCode =
=3D=3D 46) && !e.shiftKey) {
					// Insert P element instead of BR
					if =
(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, =
e.type)) {
						// Cancel event
						tinyMCE.execCommand("mceAddUndoLevel");
						return tinyMCE.cancelEvent(e);
					}
				}

				// Return key pressed
				if (tinyMCE.isIE && tinyMCE.settings.force_br_newlines && e.keyCode =
=3D=3D 13) {
					if (e.target.editorId)
						tinyMCE.instances[e.target.editorId].select();

					if (tinyMCE.selectedInstance) {
						var sel =3D tinyMCE.selectedInstance.getDoc().selection;
						var rng =3D sel.createRange();

						if (tinyMCE.getParentElement(rng.parentElement(), "li") !=3D null)
							return false;

						// Cancel event
						e.returnValue =3D false;
						e.cancelBubble =3D true;

						// Insert BR element
						rng.pasteHTML("<br />");
						rng.collapse(false);
						rng.select();

						tinyMCE.execCommand("mceAddUndoLevel");
						tinyMCE.triggerNodeChange(false);
						return false;
					}
				}

				// Backspace or delete
				if (e.keyCode =3D=3D 8 || e.keyCode =3D=3D 46) {
					tinyMCE.selectedElement =3D e.target;
					tinyMCE.linkElement =3D tinyMCE.getParentElement(e.target, "a");
					tinyMCE.imgElement =3D tinyMCE.getParentElement(e.target, "img");
					tinyMCE.triggerNodeChange(false);
				}

				return false;

			case "keyup":
			case "keydown":
				tinyMCE.hideMenus();
				tinyMCE.hasMouseMoved =3D false;

				if (inst && inst.handleShortcut(e))
					return false;

				inst._fixRootBlocks();

				if (inst.settings.remove_trailing_nbsp)
					inst._fixTrailingNbsp();

				if (e.target.editorId)
					tinyMCE.instances[e.target.editorId].select();

				if (tinyMCE.selectedInstance)
					tinyMCE.selectedInstance.switchSettings();

				inst =3D tinyMCE.selectedInstance;

				// Handle backspace
				if (tinyMCE.isGecko && tinyMCE.settings.force_p_newlines && =
(e.keyCode =3D=3D 8 || e.keyCode =3D=3D 46) && !e.shiftKey) {
					// Insert P element instead of BR
					if =
(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, =
e.type)) {
						// Cancel event
						tinyMCE.execCommand("mceAddUndoLevel");
						e.preventDefault();
						return false;
					}
				}

				tinyMCE.selectedElement =3D null;
				tinyMCE.selectedNode =3D null;
				elm =3D tinyMCE.selectedInstance.getFocusElement();
				tinyMCE.linkElement =3D tinyMCE.getParentElement(elm, "a");
				tinyMCE.imgElement =3D tinyMCE.getParentElement(elm, "img");
				tinyMCE.selectedElement =3D elm;

				// Update visualaids on tabs
				if (tinyMCE.isGecko && e.type =3D=3D "keyup" && e.keyCode =3D=3D 9)
					tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, =
tinyMCE.settings.visual, tinyMCE.selectedInstance);

				// Fix empty elements on return/enter, check where enter occured
				if (tinyMCE.isIE && e.type =3D=3D "keydown" && e.keyCode =3D=3D 13)
					tinyMCE.enterKeyElement =3D =
tinyMCE.selectedInstance.getFocusElement();

				// Fix empty elements on return/enter
				if (tinyMCE.isIE && e.type =3D=3D "keyup" && e.keyCode =3D=3D 13) {
					elm =3D tinyMCE.enterKeyElement;
					if (elm) {
						var re =3D new RegExp('^HR|IMG|BR$','g'); // Skip these
						var dre =3D new RegExp('^H[1-6]$','g'); // Add double on these

						if (!elm.hasChildNodes() && !re.test(elm.nodeName)) {
							if (dre.test(elm.nodeName))
								elm.innerHTML =3D "&nbsp;&nbsp;";
							else
								elm.innerHTML =3D "&nbsp;";
						}
					}
				}

				// Check if it's a position key
				keys =3D tinyMCE.posKeyCodes;
				var posKey =3D false;
				for (i=3D0; i<keys.length; i++) {
					if (keys[i] =3D=3D e.keyCode) {
						posKey =3D true;
						break;
					}
				}

				// MSIE custom key handling
				if (tinyMCE.isIE && tinyMCE.settings.custom_undo_redo) {
					keys =3D [8, 46]; // Backspace,Delete

					for (i=3D0; i<keys.length; i++) {
						if (keys[i] =3D=3D e.keyCode) {
							if (e.type =3D=3D "keyup")
								tinyMCE.triggerNodeChange(false);
						}
					}
				}

				// If Ctrl key
				if (e.keyCode =3D=3D 17)
					return true;

				// Handle Undo/Redo when typing content

				if (tinyMCE.isGecko) {
					// Start typing (not a position key or ctrl key, but ctrl+x and =
ctrl+p is ok)
					if (!posKey && e.type =3D=3D "keyup" && !e.ctrlKey || (e.ctrlKey && =
(e.keyCode =3D=3D 86 || e.keyCode =3D=3D 88)))
						tinyMCE.execCommand("mceStartTyping");
				} else {
					// IE seems to be working better with this setting
					if (!posKey && e.type =3D=3D "keyup")
						tinyMCE.execCommand("mceStartTyping");
				}

				// Store undo bookmark
				if (e.type =3D=3D "keydown" && (posKey || e.ctrlKey) && inst)
					inst.undoBookmark =3D inst.selection.getBookmark();

				// End typing (position key) or some Ctrl event
				if (e.type =3D=3D "keyup" && (posKey || e.ctrlKey))
					tinyMCE.execCommand("mceEndTyping");

				if (posKey && e.type =3D=3D "keyup")
					tinyMCE.triggerNodeChange(false);

				if (tinyMCE.isIE && e.ctrlKey)
					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
			break;

			case "mousedown":
			case "mouseup":
			case "click":
			case "dblclick":
			case "focus":
				tinyMCE.hideMenus();

				if (tinyMCE.selectedInstance) {
					tinyMCE.selectedInstance.switchSettings();
					tinyMCE.selectedInstance.isFocused =3D true;
				}

				// Check instance event trigged on
				var targetBody =3D tinyMCE.getParentElement(e.target, "html");
				for (var instanceName in tinyMCE.instances) {
					if (!tinyMCE.isInstance(tinyMCE.instances[instanceName]))
						continue;

					inst =3D tinyMCE.instances[instanceName];

					// Reset design mode if lost (on everything just in case)
					inst.autoResetDesignMode();

					// Use HTML element since users might click outside of body element
					if (inst.getBody().parentNode =3D=3D targetBody) {
						inst.select();
						tinyMCE.selectedElement =3D e.target;
						tinyMCE.linkElement =3D =
tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
						tinyMCE.imgElement =3D =
tinyMCE.getParentElement(tinyMCE.selectedElement, "img");
						break;
					}
				}

				// Add first bookmark location
				if (!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark && =
(e.type =3D=3D "mouseup" || e.type =3D=3D "dblclick"))
					tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark =3D =
tinyMCE.selectedInstance.selection.getBookmark();

				// Reset selected node
				if (e.type !=3D "focus")
					tinyMCE.selectedNode =3D null;

				tinyMCE.triggerNodeChange(false);
				tinyMCE.execCommand("mceEndTyping");

				if (e.type =3D=3D "mouseup")
					tinyMCE.execCommand("mceAddUndoLevel");

				// Just in case
				if (!tinyMCE.selectedInstance && e.target.editorId)
					tinyMCE.instances[e.target.editorId].select();

				return false;
		}
	},

	getButtonHTML : function(id, lang, img, cmd, ui, val) {
		var h =3D '', m, x, io =3D '';

		cmd =3D 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + =
'\'';

		if (typeof(ui) !=3D "undefined" && ui !=3D null)
			cmd +=3D ',' + ui;

		if (typeof(val) !=3D "undefined" && val !=3D null)
			cmd +=3D ",'" + val + "'";

		cmd +=3D ');';

		// Patch for IE7 bug with hover out not restoring correctly
		if (tinyMCE.isRealIE)
			io =3D 'onmouseover=3D"tinyMCE.lastHover =3D this;"';

		// Use tilemaps when enabled and found and never in MSIE since it =
loads the tile each time from cache if cahce is disabled
		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || =
tinyMCE.isOpera) && (m =3D this.buttonMap[id]) !=3D null && =
(tinyMCE.getParam("language") =3D=3D "en" || img.indexOf('$lang') =3D=3D =
-1)) {
			// Tiled button
			x =3D 0 - (m * 20) =3D=3D 0 ? '0' : 0 - (m * 20);
			h +=3D '<a id=3D"{$editor_id}_' + id + '" href=3D"javascript:' + cmd =
+ '" onclick=3D"' + cmd + 'return false;" onmousedown=3D"return false;" =
' + io + ' class=3D"mceTiledButton mceButtonNormal" target=3D"_self">';
			h +=3D '<img src=3D"{$themeurl}/images/spacer.gif" =
style=3D"background-position: ' + x + 'px 0" alt=3D"{$'+lang+'}" =
title=3D"{$' + lang + '}" />';
			h +=3D '</a>';
		} else {
			// Normal button
			h +=3D '<a id=3D"{$editor_id}_' + id + '" href=3D"javascript:' + cmd =
+ '" onclick=3D"' + cmd + 'return false;" onmousedown=3D"return false;" =
' + io + ' class=3D"mceButtonNormal" target=3D"_self">';
			h +=3D '<img src=3D"' + img + '" alt=3D"{$'+lang+'}" title=3D"{$' + =
lang + '}" />';
			h +=3D '</a>';
		}

		return h;
	},

	getMenuButtonHTML : function(id, lang, img, mcmd, cmd, ui, val) {
		var h =3D '', m, x;

		mcmd =3D 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + mcmd + =
'\');';
		cmd =3D 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + =
'\'';

		if (typeof(ui) !=3D "undefined" && ui !=3D null)
			cmd +=3D ',' + ui;

		if (typeof(val) !=3D "undefined" && val !=3D null)
			cmd +=3D ",'" + val + "'";

		cmd +=3D ');';

		// Use tilemaps when enabled and found and never in MSIE since it =
loads the tile each time from cache if cahce is disabled
		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || =
tinyMCE.isOpera) && (m =3D tinyMCE.buttonMap[id]) !=3D null && =
(tinyMCE.getParam("language") =3D=3D "en" || img.indexOf('$lang') =3D=3D =
-1)) {
			x =3D 0 - (m * 20) =3D=3D 0 ? '0' : 0 - (m * 20);

			if (tinyMCE.isRealIE)
				h +=3D '<span id=3D"{$editor_id}_' + id + '" class=3D"mceMenuButton" =
onmouseover=3D"tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover =
=3D this;" onmouseout=3D"tinyMCE._menuButtonEvent(\'out\',this);">';
			else
				h +=3D '<span id=3D"{$editor_id}_' + id + '" =
class=3D"mceMenuButton">';

			h +=3D '<a href=3D"javascript:' + cmd + '" onclick=3D"' + cmd + =
'return false;" onmousedown=3D"return false;" class=3D"mceTiledButton =
mceMenuButtonNormal" target=3D"_self">';
			h +=3D '<img src=3D"{$themeurl}/images/spacer.gif" style=3D"width: =
20px; height: 20px; background-position: ' + x + 'px 0" title=3D"{$' + =
lang + '}" /></a>';
			h +=3D '<a href=3D"javascript:' + mcmd + '" onclick=3D"' + mcmd + =
'return false;" onmousedown=3D"return false;"><img =
src=3D"{$themeurl}/images/button_menu.gif" title=3D"{$' + lang + '}" =
class=3D"mceMenuButton" />';
			h +=3D '</a></span>';
		} else {
			if (tinyMCE.isRealIE)
				h +=3D '<span id=3D"{$editor_id}_' + id + '" dir=3D"ltr" =
class=3D"mceMenuButton" =
onmouseover=3D"tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover =
=3D this;" onmouseout=3D"tinyMCE._menuButtonEvent(\'out\',this);">';
			else
				h +=3D '<span id=3D"{$editor_id}_' + id + '" dir=3D"ltr" =
class=3D"mceMenuButton">';

			h +=3D '<a href=3D"javascript:' + cmd + '" onclick=3D"' + cmd + =
'return false;" onmousedown=3D"return false;" =
class=3D"mceMenuButtonNormal" target=3D"_self">';
			h +=3D '<img src=3D"' + img + '" title=3D"{$' + lang + '}" /></a>';
			h +=3D '<a href=3D"javascript:' + mcmd + '" onclick=3D"' + mcmd + =
'return false;" onmousedown=3D"return false;"><img =
src=3D"{$themeurl}/images/button_menu.gif" title=3D"{$' + lang + '}" =
class=3D"mceMenuButton" />';
			h +=3D '</a></span>';
		}

		return h;
	},

	_menuButtonEvent : function(e, o) {
		if (o.className =3D=3D 'mceMenuButtonFocus')
			return;

		if (e =3D=3D 'over')
			o.className =3D o.className + ' mceMenuHover';
		else
			o.className =3D o.className.replace(/\s.*$/, '');
	},

	addButtonMap : function(m) {
		var i, a =3D m.replace(/\s+/, '').split(',');

		for (i=3D0; i<a.length; i++)
			this.buttonMap[a[i]] =3D i;
	},

	formSubmit : function(f, p) {
		var n, inst, found =3D false;

		if (f.form)
			f =3D f.form;

		// Is it a form that has a TinyMCE instance
		if (tinyMCE.getParam('save_on_tinymce_forms')) {
			for (n in tinyMCE.instances) {
				inst =3D tinyMCE.instances[n];

				if (!tinyMCE.isInstance(inst))
					continue;

				if (inst.formElement) {
					if (f =3D=3D inst.formElement.form) {
						found =3D true;
						inst.isNotDirty =3D true;
					}
				}
			}
		} else
			found  =3D true;

		// Is valid
		if (found) {
			tinyMCE.removeTinyMCEFormElements(f);
			tinyMCE.triggerSave();
		}

		// Is it patched
		if (f.mceOldSubmit && p)
			f.mceOldSubmit();
	},

	submitPatch : function() {
		tinyMCE.formSubmit(this, true);
	},

	onLoad : function() {
		var r, i, c, mode, trigger, elements, element, settings, elementId, =
elm;
		var selector, deselector, elementRefAr, form;

		// Wait for everything to be loaded first
		if (tinyMCE.settings.strict_loading_mode && this.loadingIndex !=3D -1) =
{
			window.setTimeout('tinyMCE.onLoad();', 1);
			return;
		}

		if (tinyMCE.isRealIE && window.event.type =3D=3D "readystatechange" && =
document.readyState !=3D "complete")
			return true;

		if (tinyMCE.isLoaded)
			return true;

		tinyMCE.isLoaded =3D true;

		// IE produces JS error if TinyMCE is placed in a frame
		// It seems to have something to do with the selection not beeing
		// correctly initialized in IE so this hack solves the problem
		if (tinyMCE.isRealIE && document.body && window.location.href !=3D =
window.top.location.href) {
			r =3D document.body.createTextRange();
			r.collapse(true);
			r.select();
		}

		tinyMCE.dispatchCallback(null, 'onpageload', 'onPageLoad');

		for (c=3D0; c<tinyMCE.configs.length; c++) {
			tinyMCE.settings =3D tinyMCE.configs[c];

			selector =3D tinyMCE.getParam("editor_selector");
			deselector =3D tinyMCE.getParam("editor_deselector");
			elementRefAr =3D [];

			// Add submit triggers
			if (document.forms && tinyMCE.settings.add_form_submit_trigger && =
!tinyMCE.submitTriggers) {
				for (i=3D0; i<document.forms.length; i++) {
					form =3D document.forms[i];

					tinyMCE.addEvent(form, "submit", =
TinyMCE_Engine.prototype.handleEvent);
					tinyMCE.addEvent(form, "reset", =
TinyMCE_Engine.prototype.handleEvent);
					tinyMCE.submitTriggers =3D true; // Do it only once

					// Patch the form.submit function
					if (tinyMCE.settings.submit_patch) {
						try {
							form.mceOldSubmit =3D form.submit;
							form.submit =3D TinyMCE_Engine.prototype.submitPatch;
						} catch (e) {
							// Do nothing
						}
					}
				}
			}

			// Add editor instances based on mode
			mode =3D tinyMCE.settings.mode;
			switch (mode) {
				case "exact":
					elements =3D tinyMCE.getParam('elements', '', true, ',');

					for (i=3D0; i<elements.length; i++) {
						element =3D tinyMCE._getElementById(elements[i]);
						trigger =3D element ? =
element.getAttribute(tinyMCE.settings.textarea_trigger) : "";

						if (new RegExp('\\b' + deselector + =
'\\b').test(tinyMCE.getAttrib(element, "class")))
							continue;

						if (trigger =3D=3D "false")
							continue;

						if ((tinyMCE.settings.ask || tinyMCE.settings.convert_on_click) && =
element) {
							elementRefAr[elementRefAr.length] =3D element;
							continue;
						}

						if (element)
							tinyMCE.addMCEControl(element, elements[i]);
					}
				break;

				case "specific_textareas":
				case "textareas":
					elements =3D document.getElementsByTagName("textarea");

					for (i=3D0; i<elements.length; i++) {
						elm =3D elements.item(i);
						trigger =3D elm.getAttribute(tinyMCE.settings.textarea_trigger);

						if (selector !=3D=3D '' && !new RegExp('\\b' + selector + =
'\\b').test(tinyMCE.getAttrib(elm, "class")))
							continue;

						if (selector !=3D=3D '')
							trigger =3D selector !=3D=3D '' ? "true" : "";

						if (new RegExp('\\b' + deselector + =
'\\b').test(tinyMCE.getAttrib(elm, "class")))
							continue;

						if ((mode =3D=3D "specific_textareas" && trigger =3D=3D "true") || =
(mode =3D=3D "textareas" && trigger !=3D "false"))
							elementRefAr[elementRefAr.length] =3D elm;
					}
				break;
			}

			for (i=3D0; i<elementRefAr.length; i++) {
				element =3D elementRefAr[i];
				elementId =3D element.name ? element.name : element.id;

				if (tinyMCE.settings.ask || tinyMCE.settings.convert_on_click) {
					// Focus breaks in Mozilla
					if (tinyMCE.isGecko) {
						settings =3D tinyMCE.settings;

						tinyMCE.addEvent(element, "focus", function (e) =
{window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, =
settings);}, 10);});

						if (element.nodeName !=3D "TEXTAREA" && element.nodeName !=3D =
"INPUT")
							tinyMCE.addEvent(element, "click", function (e) =
{window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, =
settings);}, 10);});
						// tinyMCE.addEvent(element, "mouseover", function (e) =
{window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, =
settings);}, 10);});
					} else {
						settings =3D tinyMCE.settings;

						tinyMCE.addEvent(element, "focus", function () { =
TinyMCE_Engine.prototype.confirmAdd(null, settings); });
						tinyMCE.addEvent(element, "click", function () { =
TinyMCE_Engine.prototype.confirmAdd(null, settings); });
						// tinyMCE.addEvent(element, "mouseenter", function () { =
TinyMCE_Engine.prototype.confirmAdd(null, settings); });
					}
				} else
					tinyMCE.addMCEControl(element, elementId);
			}

			// Handle auto focus
			if (tinyMCE.settings.auto_focus) {
				window.setTimeout(function () {
					var inst =3D tinyMCE.getInstanceById(tinyMCE.settings.auto_focus);
					inst.selection.selectNode(inst.getBody(), true, true);
					inst.contentWindow.focus();
				}, 100);
			}

			tinyMCE.dispatchCallback(null, 'oninit', 'onInit');
		}
	},

	isInstance : function(o) {
		return o !=3D null && typeof(o) =3D=3D "object" && =
o.isTinyMCE_Control;
	},

	getParam : function(name, default_value, strip_whitespace, split_chr) {
		var i, outArray, value =3D (typeof(this.settings[name]) =3D=3D =
"undefined") ? default_value : this.settings[name];

		// Fix bool values
		if (value =3D=3D "true" || value =3D=3D "false")
			return (value =3D=3D "true");

		if (strip_whitespace)
			value =3D tinyMCE.regexpReplace(value, "[ \t\r\n]", "");

		if (typeof(split_chr) !=3D "undefined" && split_chr !=3D null) {
			value =3D value.split(split_chr);
			outArray =3D [];

			for (i=3D0; i<value.length; i++) {
				if (value[i] && value[i] !=3D=3D '')
					outArray[outArray.length] =3D value[i];
			}

			value =3D outArray;
		}

		return value;
	},

	getLang : function(name, default_value, parse_entities, va) {
		var v =3D (typeof(tinyMCELang[name]) =3D=3D "undefined") ? =
default_value : tinyMCELang[name], n;

		if (parse_entities)
			v =3D tinyMCE.entityDecode(v);

		if (va) {
			for (n in va)
				v =3D this.replaceVar(v, n, va[n]);
		}

		return v;
	},

	entityDecode : function(s) {
		var e =3D document.createElement("div");

		e.innerHTML =3D s;

		return !e.firstChild ? s : e.firstChild.nodeValue;
	},

	addToLang : function(prefix, ar) {
		var k;

		for (k in ar) {
			if (typeof(ar[k]) =3D=3D 'function')
				continue;

			tinyMCELang[(k.indexOf('lang_') =3D=3D -1 ? 'lang_' : '') + (prefix =
!=3D=3D '' ? (prefix + "_") : '') + k] =3D ar[k];
		}

		this.loadNextScript();
	},

	triggerNodeChange : function(focus, setup_content) {
		var elm, inst, editorId, undoIndex =3D -1, undoLevels =3D -1, doc, =
anySelection =3D false, st;

		if (tinyMCE.selectedInstance) {
			inst =3D tinyMCE.selectedInstance;
			elm =3D (typeof(setup_content) !=3D "undefined" && setup_content) ? =
tinyMCE.selectedElement : inst.getFocusElement();

/*			if (elm =3D=3D inst.lastTriggerEl)
				return;

			inst.lastTriggerEl =3D elm;*/

			editorId =3D inst.editorId;
			st =3D inst.selection.getSelectedText();

			if (tinyMCE.settings.auto_resize)
				inst.resizeToContent();

			if (setup_content && tinyMCE.isGecko && inst.isHidden())
				elm =3D inst.getBody();

			inst.switchSettings();

			if (tinyMCE.selectedElement)
				anySelection =3D (tinyMCE.selectedElement.nodeName.toLowerCase() =
=3D=3D "img") || (st && st.length > 0);

			if (tinyMCE.settings.custom_undo_redo) {
				undoIndex =3D inst.undoRedo.undoIndex;
				undoLevels =3D inst.undoRedo.undoLevels.length;
			}

			tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', =
'handleNodeChange', editorId, elm, undoIndex, undoLevels, =
inst.visualAid, anySelection, setup_content);
		}

		if (this.selectedInstance && (typeof(focus) =3D=3D "undefined" || =
focus))
			this.selectedInstance.contentWindow.focus();
	},

	_customCleanup : function(inst, type, content) {
		var pl, po, i, customCleanup;

		// Call custom cleanup
		customCleanup =3D tinyMCE.settings.cleanup_callback;
		if (customCleanup !=3D '')
			content =3D tinyMCE.resolveDots(tinyMCE.settings.cleanup_callback, =
window)(type, content, inst);

		// Trigger theme cleanup
		po =3D tinyMCE.themes[tinyMCE.settings.theme];
		if (po && po.cleanup)
			content =3D po.cleanup(type, content, inst);

		// Trigger plugin cleanups
		pl =3D inst.plugins;
		for (i=3D0; i<pl.length; i++) {
			po =3D tinyMCE.plugins[pl[i]];

			if (po && po.cleanup)
				content =3D po.cleanup(type, content, inst);
		}

		return content;
	},

	setContent : function(h) {
		if (tinyMCE.selectedInstance) {
			tinyMCE.selectedInstance.execCommand('mceSetContent', false, h);
			tinyMCE.selectedInstance.repaint();
		}
	},

	importThemeLanguagePack : function(name) {
		if (typeof(name) =3D=3D "undefined")
			name =3D tinyMCE.settings.theme;

		tinyMCE.loadScript(tinyMCE.baseURL + '/themes/' + name + '/langs/' + =
tinyMCE.settings.language + '.js');
	},

	importPluginLanguagePack : function(name) {
		var b =3D tinyMCE.baseURL + '/plugins/' + name;

		if (this.plugins[name])
			b =3D this.plugins[name].baseURL;

		tinyMCE.loadScript(b + '/langs/' + tinyMCE.settings.language +  =
'.js');
	},

	applyTemplate : function(h, ag) {
		return h.replace(new RegExp('\\{\\$([a-z0-9_]+)\\}', 'gi'), =
function(m, s) {
			if (s.indexOf('lang_') =3D=3D 0 && tinyMCELang[s])
				return tinyMCELang[s];

			if (ag && ag[s])
				return ag[s];

			if (tinyMCE.settings[s])
				return tinyMCE.settings[s];

			if (m =3D=3D 'themeurl')
				return tinyMCE.themeURL;

			return m;
		});
	},

	replaceVar : function(h, r, v) {
		return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v);
	},

	openWindow : function(template, args) {
		var html, width, height, x, y, resizable, scrollbars, url, name, win, =
modal, features;

		args =3D !args ? {} : args;

		args.mce_template_file =3D template.file;
		args.mce_width =3D template.width;
		args.mce_height =3D template.height;
		tinyMCE.windowArgs =3D args;

		html =3D template.html;
		if (!(width =3D parseInt(template.width)))
			width =3D 320;

		if (!(height =3D parseInt(template.height)))
			height =3D 200;

		// Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT =
innerWidth of windows!!
		if (tinyMCE.isIE)
			height +=3D 40;
		else
			height +=3D 20;

		x =3D parseInt(screen.width / 2.0) - (width / 2.0);
		y =3D parseInt(screen.height / 2.0) - (height / 2.0);

		resizable =3D (args && args.resizable) ? args.resizable : "no";
		scrollbars =3D (args && args.scrollbars) ? args.scrollbars : "no";

		if (template.file.charAt(0) !=3D '/' && template.file.indexOf('://') =
=3D=3D -1)
			url =3D tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + =
"/" + template.file;
		else
			url =3D template.file;

		// Replace all args as variables in URL
		for (name in args) {
			if (typeof(args[name]) =3D=3D 'function')
				continue;

			url =3D tinyMCE.replaceVar(url, name, escape(args[name]));
		}

		if (html) {
			html =3D tinyMCE.replaceVar(html, "css", this.settings.popups_css);
			html =3D tinyMCE.applyTemplate(html, args);

			win =3D window.open("", "mcePopup" + new Date().getTime(), "top=3D" + =
y + ",left=3D" + x + ",scrollbars=3D" + scrollbars + =
",dialog=3Dyes,minimizable=3D" + resizable + ",modal=3Dyes,width=3D" + =
width + ",height=3D" + height + ",resizable=3D" + resizable);
			if (win =3D=3D null) {
				alert(tinyMCELang.lang_popup_blocked);
				return;
			}

			win.document.write(html);
			win.document.close();
			win.resizeTo(width, height);
			win.focus();
		} else {
			if ((tinyMCE.isRealIE) && resizable !=3D 'yes' && =
tinyMCE.settings.dialog_type =3D=3D "modal") {
				height +=3D 10;

				features =3D "resizable:" + resizable + ";scroll:" + scrollbars + =
";status:yes;center:yes;help:no;dialogWidth:" + width + =
"px;dialogHeight:" + height + "px;";

				window.showModalDialog(url, window, features);
			} else {
				modal =3D (resizable =3D=3D "yes") ? "no" : "yes";

				if (tinyMCE.isGecko && tinyMCE.isMac)
					modal =3D "no";

				if (template.close_previous !=3D "no")
					try {tinyMCE.lastWindow.close();} catch (ex) {}

				win =3D window.open(url, "mcePopup" + new Date().getTime(), "top=3D" =
+ y + ",left=3D" + x + ",scrollbars=3D" + scrollbars + ",dialog=3D" + =
modal + ",minimizable=3D" + resizable + ",modal=3D" + modal + =
",width=3D" + width + ",height=3D" + height + ",resizable=3D" + =
resizable);
				if (win =3D=3D null) {
					alert(tinyMCELang.lang_popup_blocked);
					return;
				}

				if (template.close_previous !=3D "no")
					tinyMCE.lastWindow =3D win;

				try {
					win.resizeTo(width, height);
				} catch(e) {
					// Ignore
				}

				// Make it bigger if statusbar is forced
				if (tinyMCE.isGecko) {
					if (win.document.defaultView.statusbar.visible)
						win.resizeBy(0, tinyMCE.isMac ? 10 : 24);
				}

				win.focus();
			}
		}
	},

	closeWindow : function(win) {
		win.close();
	},

	getVisualAidClass : function(class_name, state) {
		var i, classNames, ar, className, aidClass =3D =
tinyMCE.settings.visual_table_class;

		if (typeof(state) =3D=3D "undefined")
			state =3D tinyMCE.settings.visual;

		// Split
		classNames =3D [];
		ar =3D class_name.split(' ');
		for (i=3D0; i<ar.length; i++) {
			if (ar[i] =3D=3D aidClass)
				ar[i] =3D "";

			if (ar[i] !=3D=3D '')
				classNames[classNames.length] =3D ar[i];
		}

		if (state)
			classNames[classNames.length] =3D aidClass;

		// Glue
		className =3D "";
		for (i=3D0; i<classNames.length; i++) {
			if (i > 0)
				className +=3D " ";

			className +=3D classNames[i];
		}

		return className;
	},

	handleVisualAid : function(el, deep, state, inst, skip_dispatch) {
		var i, x, y, tableElement, anchorName, oldW, oldH, bo, cn;

		if (!el)
			return;

		if (!skip_dispatch)
			tinyMCE.dispatchCallback(inst, 'handle_visual_aid_callback', =
'handleVisualAid', el, deep, state, inst);

		tableElement =3D null;

		switch (el.nodeName) {
			case "TABLE":
				oldW =3D el.style.width;
				oldH =3D el.style.height;
				bo =3D tinyMCE.getAttrib(el, "border");

				bo =3D bo =3D=3D '' || bo =3D=3D "0" ? true : false;

				tinyMCE.setAttrib(el, "class", =
tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo));

				el.style.width =3D oldW;
				el.style.height =3D oldH;

				for (y=3D0; y<el.rows.length; y++) {
					for (x=3D0; x<el.rows[y].cells.length; x++) {
						cn =3D =
tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x], =
"class"), state && bo);
						tinyMCE.setAttrib(el.rows[y].cells[x], "class", cn);
					}
				}

				break;

			case "A":
				anchorName =3D tinyMCE.getAttrib(el, "name");

				if (anchorName !=3D=3D '' && state) {
					el.title =3D anchorName;
					tinyMCE.addCSSClass(el, 'mceItemAnchor');
				} else if (anchorName !=3D=3D '' && !state)
					el.className =3D '';

				break;
		}

		if (deep && el.hasChildNodes()) {
			for (i=3D0; i<el.childNodes.length; i++)
				tinyMCE.handleVisualAid(el.childNodes[i], deep, state, inst, true);
		}
	},

	fixGeckoBaseHREFBug : function(m, e, h) {
		var xsrc, xhref;

		if (tinyMCE.isGecko) {
			if (m =3D=3D 1) {
				h =3D h.replace(/\ssrc=3D/gi, " mce_tsrc=3D");
				h =3D h.replace(/\shref=3D/gi, " mce_thref=3D");

				return h;
			} else {
				// Why bother if there is no src or href broken
				if (!new RegExp('(src|href)=3D', 'g').test(h))
					return h;

				// Restore src and href that gets messed up by Gecko
				tinyMCE.selectElements(e, =
'A,IMG,SELECT,AREA,IFRAME,BASE,INPUT,SCRIPT,EMBED,OBJECT,LINK', function =
(n) {
					xsrc =3D tinyMCE.getAttrib(n, "mce_tsrc");
					xhref =3D tinyMCE.getAttrib(n, "mce_thref");

					if (xsrc !=3D=3D '') {
						try {
							n.src =3D =
tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, xsrc);
						} catch (e) {
							// Ignore, Firefox cast exception if local file wasn't found
						}

						n.removeAttribute("mce_tsrc");
					}

					if (xhref !=3D=3D '') {
						try {
							n.href =3D =
tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, xhref);
						} catch (e) {
							// Ignore, Firefox cast exception if local file wasn't found
						}

						n.removeAttribute("mce_thref");
					}

					return false;
				});

				// Restore text/comment nodes
				tinyMCE.selectNodes(e, function(n) {
					if (n.nodeType =3D=3D 3 || n.nodeType =3D=3D 8) {
						n.nodeValue =3D n.nodeValue.replace(/\smce_tsrc=3D/gi, " src=3D");
						n.nodeValue =3D n.nodeValue.replace(/\smce_thref=3D/gi, " =
href=3D");
					}

					return false;
				});
			}
		}

		return h;
	},

	_setHTML : function(doc, html_content) {
		var i, html, paras, node;

		// Force closed anchors open
		//html_content =3D html_content.replace(new RegExp('<a(.*?)/>', 'gi'), =
'<a$1></a>');

		html_content =3D tinyMCE.cleanupHTMLCode(html_content);

		// Try innerHTML if it fails use pasteHTML in MSIE
		try {
			tinyMCE.setInnerHTML(doc.body, html_content);
		} catch (e) {
			if (this.isMSIE)
				doc.body.createTextRange().pasteHTML(html_content);
		}

		// Content duplication bug fix
		if (tinyMCE.isIE && tinyMCE.settings.fix_content_duplication) {
			// Remove P elements in P elements
			paras =3D doc.getElementsByTagName("P");
			for (i=3D0; i<paras.length; i++) {
				node =3D paras[i];

				while ((node =3D node.parentNode) !=3D null) {
					if (node.nodeName =3D=3D "P")
						node.outerHTML =3D node.innerHTML;
				}
			}

			// Content duplication bug fix (Seems to be word crap)
			html =3D doc.body.innerHTML;

			// Always set the htmlText output
			tinyMCE.setInnerHTML(doc.body, html);
		}

		tinyMCE.cleanupAnchors(doc);

		if (tinyMCE.getParam("convert_fonts_to_spans"))
			tinyMCE.convertSpansToFonts(doc);
	},

	getEditorId : function(form_element) {
		var inst =3D this.getInstanceById(form_element);

		if (!inst)
			return null;

		return inst.editorId;
	},

	getInstanceById : function(editor_id) {
		var inst =3D this.instances[editor_id], n;

		if (!inst) {
			for (n in tinyMCE.instances) {
				inst =3D tinyMCE.instances[n];

				if (!tinyMCE.isInstance(inst))
					continue;

				if (inst.formTargetElementId =3D=3D editor_id)
					return inst;
			}
		} else
			return inst;

		return null;
	},

	queryInstanceCommandValue : function(editor_id, command) {
		var inst =3D tinyMCE.getInstanceById(editor_id);

		if (inst)
			return inst.queryCommandValue(command);

		return false;
	},

	queryInstanceCommandState : function(editor_id, command) {
		var inst =3D tinyMCE.getInstanceById(editor_id);

		if (inst)
			return inst.queryCommandState(command);

		return null;
	},

	setWindowArg : function(n, v) {
		this.windowArgs[n] =3D v;
	},

	getWindowArg : function(n, d) {
		return (typeof(this.windowArgs[n]) =3D=3D "undefined") ? d : =
this.windowArgs[n];
	},

	getCSSClasses : function(editor_id, doc) {
		var i, c, x, rule, styles, rules, csses, selectorText, inst =3D =
tinyMCE.getInstanceById(editor_id);
		var cssClass, addClass, p;

		if (!inst)
			inst =3D tinyMCE.selectedInstance;

		if (!inst)
			return [];

		if (!doc)
			doc =3D inst.getDoc();

		// Is cached, use that
		if (inst && inst.cssClasses.length > 0)
			return inst.cssClasses;

		if (!doc)
			return;

		styles =3D doc.styleSheets;

		if (styles && styles.length > 0) {
			for (x=3D0; x<styles.length; x++) {
				csses =3D null;

				try {
					csses =3D tinyMCE.isIE ? doc.styleSheets(x).rules : =
styles[x].cssRules;
				} catch(e) {
					// Just ignore any errors I know this is ugly!!
				}
=09
				if (!csses)
					return [];

				for (i=3D0; i<csses.length; i++) {
					selectorText =3D csses[i].selectorText;

					// Can be multiple rules per selector
					if (selectorText) {
						rules =3D selectorText.split(',');
						for (c=3D0; c<rules.length; c++) {
							rule =3D rules[c];

							// Strip spaces between selectors
							while (rule.indexOf(' ') =3D=3D 0)
								rule =3D rule.substring(1);

							// Invalid rule
							if (rule.indexOf(' ') !=3D -1 || rule.indexOf(':') !=3D -1 || =
rule.indexOf('mceItem') !=3D -1)
								continue;

							if (rule.indexOf(tinyMCE.settings.visual_table_class) !=3D -1 || =
rule.indexOf('mceEditable') !=3D -1 || rule.indexOf('mceNonEditable') =
!=3D -1)
								continue;

							// Is class rule
							if (rule.indexOf('.') !=3D -1) {
								cssClass =3D rule.substring(rule.indexOf('.') + 1);
								addClass =3D true;

								for (p=3D0; p<inst.cssClasses.length && addClass; p++) {
									if (inst.cssClasses[p] =3D=3D cssClass)
										addClass =3D false;
								}

								if (addClass)
									inst.cssClasses[inst.cssClasses.length] =3D cssClass;
							}
						}
					}
				}
			}
		}

		return inst.cssClasses;
	},

	regexpReplace : function(in_str, reg_exp, replace_str, opts) {
		var re;

		if (in_str =3D=3D null)
			return in_str;

		if (typeof(opts) =3D=3D "undefined")
			opts =3D 'g';

		re =3D new RegExp(reg_exp, opts);

		return in_str.replace(re, replace_str);
	},

	trim : function(s) {
		return s.replace(/^\s*|\s*$/g, "");
	},

	cleanupEventStr : function(s) {
		s =3D "" + s;
		s =3D s.replace('function anonymous()\n{\n', '');
		s =3D s.replace('\n}', '');
		s =3D s.replace(/^return true;/gi, ''); // Remove event blocker

		return s;
	},

	getControlHTML : function(c) {
		var i, l, n, o, v, rtl =3D tinyMCE.getLang('lang_dir') =3D=3D 'rtl';

		l =3D tinyMCE.plugins;
		for (n in l) {
			o =3D l[n];

			if (o.getControlHTML && (v =3D o.getControlHTML(c)) !=3D=3D '') {
				if (rtl)
					return '<span dir=3D"rtl">' + tinyMCE.replaceVar(v, "pluginurl", =
o.baseURL) + '</span>';

				return tinyMCE.replaceVar(v, "pluginurl", o.baseURL);
			}
		}

		o =3D tinyMCE.themes[tinyMCE.settings.theme];
		if (o.getControlHTML && (v =3D o.getControlHTML(c)) !=3D=3D '') {
			if (rtl)
				return '<span dir=3D"rtl">' + v + '</span>';

			return v;
		}

		return '';
	},

	evalFunc : function(f, idx, a, o) {
		o =3D !o ? window : o;
		f =3D typeof(f) =3D=3D 'function' ? f : o[f];

		return f.apply(o, Array.prototype.slice.call(a, idx));
	},

	dispatchCallback : function(i, p, n) {
		return this.callFunc(i, p, n, 0, this.dispatchCallback.arguments);
	},

	executeCallback : function(i, p, n) {
		return this.callFunc(i, p, n, 1, this.executeCallback.arguments);
	},

	execCommandCallback : function(i, p, n) {
		return this.callFunc(i, p, n, 2, this.execCommandCallback.arguments);
	},

	callFunc : function(ins, p, n, m, a) {
		var l, i, on, o, s, v;

		s =3D m =3D=3D 2;

		l =3D tinyMCE.getParam(p, '');

		if (l !=3D=3D '' && (v =3D tinyMCE.evalFunc(l, 3, a)) =3D=3D s && m > =
0)
			return true;

		if (ins !=3D null) {
			for (i=3D0, l =3D ins.plugins; i<l.length; i++) {
				o =3D tinyMCE.plugins[l[i]];

				if (o[n] && (v =3D tinyMCE.evalFunc(n, 3, a, o)) =3D=3D s && m > 0)
					return true;
			}
		}

		l =3D tinyMCE.themes;
		for (on in l) {
			o =3D l[on];

			if (o[n] && (v =3D tinyMCE.evalFunc(n, 3, a, o)) =3D=3D s && m > 0)
				return true;
		}

		return false;
	},

	resolveDots : function(s, o) {
		var i;

		if (typeof(s) =3D=3D 'string') {
			for (i=3D0, s=3Ds.split('.'); i<s.length; i++)
				o =3D o[s[i]];
		} else
			o =3D s;

		return o;
	},

	xmlEncode : function(s) {
		return s ? ('' + s).replace(this.xmlEncodeRe, function (c, b) {
			switch (c) {
				case '&':
					return '&amp;';

				case '"':
					return '&quot;';

				case '<':
					return '&lt;';

				case '>':
					return '&gt;';
			}

			return c;
		}) : s;
	},

	add : function(c, m) {
		var n;

		for (n in m) {
			if (m.hasOwnProperty(n))
				c.prototype[n] =3D m[n];
		}
	},

	extend : function(p, np) {
		var o =3D {}, n;

		o.parent =3D p;

		for (n in p) {
			if (p.hasOwnProperty(n))
				o[n] =3D p[n];
		}

		for (n in np) {
			if (np.hasOwnProperty(n))
				o[n] =3D np[n];
		}

		return o;
	},

	hideMenus : function() {
		var e =3D tinyMCE.lastSelectedMenuBtn;

		if (tinyMCE.lastMenu) {
			tinyMCE.lastMenu.hide();
			tinyMCE.lastMenu =3D null;
		}

		if (e) {
			tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass);
			tinyMCE.lastSelectedMenuBtn =3D null;
		}
	}

	};

// Global instances
var TinyMCE =3D TinyMCE_Engine; // Compatiblity with gzip compressors
var tinyMCE =3D new TinyMCE_Engine();
var tinyMCELang =3D {};

/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */

function TinyMCE_Control(settings) {
	var t, i, tos, fu, p, x, fn, fu, pn, s =3D settings;

	this.undoRedoLevel =3D true;
	this.isTinyMCE_Control =3D true;

	// Default settings
	this.enabled =3D true;
	this.settings =3D s;
	this.settings.theme =3D tinyMCE.getParam("theme", "default");
	this.settings.width =3D tinyMCE.getParam("width", -1);
	this.settings.height =3D tinyMCE.getParam("height", -1);
	this.selection =3D new TinyMCE_Selection(this);
	this.undoRedo =3D new TinyMCE_UndoRedo(this);
	this.cleanup =3D new TinyMCE_Cleanup();
	this.shortcuts =3D [];
	this.hasMouseMoved =3D false;
	this.foreColor =3D this.backColor =3D "#999999";
	this.data =3D {};
	this.cssClasses =3D [];

	this.cleanup.init({
		valid_elements : s.valid_elements,
		extended_valid_elements : s.extended_valid_elements,
		valid_child_elements : s.valid_child_elements,
		entities : s.entities,
		entity_encoding : s.entity_encoding,
		debug : s.cleanup_debug,
		indent : s.apply_source_formatting,
		invalid_elements : s.invalid_elements,
		verify_html : s.verify_html,
		fix_content_duplication : s.fix_content_duplication,
		convert_fonts_to_spans : s.convert_fonts_to_spans
	});

	// Wrap old theme
	t =3D this.settings.theme;
	if (!tinyMCE.hasTheme(t)) {
		fn =3D tinyMCE.callbacks;
		tos =3D {};

		for (i=3D0; i<fn.length; i++) {
			if ((fu =3D window['TinyMCE_' + t + "_" + fn[i]]))
				tos[fn[i]] =3D fu;
		}

		tinyMCE.addTheme(t, tos);
	}

	// Wrap old plugins
	this.plugins =3D [];
	p =3D tinyMCE.getParam('plugins', '', true, ',');
	if (p.length > 0) {
		for (i=3D0; i<p.length; i++) {
			pn =3D p[i];

			if (pn.charAt(0) =3D=3D '-')
				pn =3D pn.substring(1);

			if (!tinyMCE.hasPlugin(pn)) {
				fn =3D tinyMCE.callbacks;
				tos =3D {};

				for (x=3D0; x<fn.length; x++) {
					if ((fu =3D window['TinyMCE_' + pn + "_" + fn[x]]))
						tos[fn[x]] =3D fu;
				}

				tinyMCE.addPlugin(pn, tos);
			}

			this.plugins[this.plugins.length] =3D pn;=20
		}
	}
};

TinyMCE_Control.prototype =3D {
	selection : null,

	settings : null,

	cleanup : null,

	getData : function(na) {
		var o =3D this.data[na];

		if (!o)
			o =3D this.data[na] =3D {};

		return o;
	},

	hasPlugin : function(n) {
		var i;

		for (i=3D0; i<this.plugins.length; i++) {
			if (this.plugins[i] =3D=3D n)
				return true;
		}

		return false;
	},

	addPlugin : function(n, p) {
		if (!this.hasPlugin(n)) {
			tinyMCE.addPlugin(n, p);
			this.plugins[this.plugins.length] =3D n;
		}
	},

	repaint : function() {
		var s, b, ex;

		if (tinyMCE.isRealIE)
			return;

		try {
			s =3D this.selection;
			b =3D s.getBookmark(true);
			this.getBody().style.display =3D 'none';
			this.getDoc().execCommand('selectall', false, null);
			this.getSel().collapseToStart();
			this.getBody().style.display =3D 'block';
			s.moveToBookmark(b);
		} catch (ex) {
			// Ignore
		}
	},

	switchSettings : function() {
		if (tinyMCE.configs.length > 1 && tinyMCE.currentConfig !=3D =
this.settings.index) {
			tinyMCE.settings =3D this.settings;
			tinyMCE.currentConfig =3D this.settings.index;
		}
	},

	select : function() {
		var oldInst =3D tinyMCE.selectedInstance;

		if (oldInst !=3D this) {
			if (oldInst)
				oldInst.execCommand('mceEndTyping');

			tinyMCE.dispatchCallback(this, 'select_instance_callback', =
'selectInstance', this, oldInst);
			tinyMCE.selectedInstance =3D this;
		}
	},

	getBody : function() {
		return this.contentBody ? this.contentBody : this.getDoc().body;
	},

	getDoc : function() {
//		return this.contentDocument ? this.contentDocument : =
this.contentWindow.document; // Removed due to IE 5.5 ?
		return this.contentWindow.document;
	},

	getWin : function() {
		return this.contentWindow;
	},

	getContainerWin : function() {
		return this.containerWindow ? this.containerWindow : window;
	},

	getViewPort : function() {
		return tinyMCE.getViewPort(this.getWin());
	},

	getParentNode : function(n, f) {
		return tinyMCE.getParentNode(n, f, this.getBody());
	},

	getParentElement : function(n, na, f) {
		return tinyMCE.getParentElement(n, na, f, this.getBody());
	},

	getParentBlockElement : function(n) {
		return tinyMCE.getParentBlockElement(n, this.getBody());
	},

	resizeToContent : function() {
		var d =3D this.getDoc(), b =3D d.body, de =3D d.documentElement;

		this.iframeElement.style.height =3D (tinyMCE.isRealIE) ? =
b.scrollHeight : de.offsetHeight + 'px';
	},

	addShortcut : function(m, k, d, cmd, ui, va) {
		var n =3D typeof(k) =3D=3D "number", ie =3D tinyMCE.isIE, c, sc, i, =
scl =3D this.shortcuts;

		if (!tinyMCE.getParam('custom_shortcuts'))
			return false;

		m =3D m.toLowerCase();
		k =3D ie && !n ? k.toUpperCase() : k;
		c =3D n ? null : k.charCodeAt(0);
		d =3D d && d.indexOf('lang_') =3D=3D 0 ? tinyMCE.getLang(d) : d;

		sc =3D {
			alt : m.indexOf('alt') !=3D -1,
			ctrl : m.indexOf('ctrl') !=3D -1,
			shift : m.indexOf('shift') !=3D -1,
			charCode : c,
			keyCode : n ? k : (ie ? c : null),
			desc : d,
			cmd : cmd,
			ui : ui,
			val : va
		};

		for (i=3D0; i<scl.length; i++) {
			if (sc.alt =3D=3D scl[i].alt && sc.ctrl =3D=3D scl[i].ctrl && =
sc.shift =3D=3D scl[i].shift
				&& sc.charCode =3D=3D scl[i].charCode && sc.keyCode =3D=3D =
scl[i].keyCode) {
				return false;
			}
		}

		scl[scl.length] =3D sc;

		return true;
	},

	handleShortcut : function(e) {
		var i, s, o;

		// Normal key press, then ignore it
		if (!e.altKey && !e.ctrlKey)
			return false;

		s =3D this.shortcuts;

		for (i=3D0; i<s.length; i++) {
			o =3D s[i];

			if (o.alt =3D=3D e.altKey && o.ctrl =3D=3D e.ctrlKey && (o.keyCode =
=3D=3D e.keyCode || o.charCode =3D=3D e.charCode)) {
				if (o.cmd && (e.type =3D=3D "keydown" || (e.type =3D=3D "keypress" =
&& !tinyMCE.isOpera)))
					tinyMCE.execCommand(o.cmd, o.ui, o.val);

				tinyMCE.cancelEvent(e);
				return true;
			}
		}

		return false;
	},

	autoResetDesignMode : function() {
		// Add fix for tab/style.display none/block problems in Gecko
		if (!tinyMCE.isIE && this.isHidden() && =
tinyMCE.getParam('auto_reset_designmode'))
			eval('try { this.getDoc().designMode =3D "On"; this.useCSS =3D false; =
} catch(e) {}');
	},

	isHidden : function() {
		var s;

		if (tinyMCE.isIE)
			return false;

		s =3D this.getSel();

		// Weird, wheres that cursor selection?
		return (!s || !s.rangeCount || s.rangeCount =3D=3D 0);
	},

	isDirty : function() {
		// Is content modified and not in a submit procedure
		return tinyMCE.trim(this.startContent) !=3D =
tinyMCE.trim(this.getBody().innerHTML) && !this.isNotDirty;
	},

	_mergeElements : function(scmd, pa, ch, override) {
		var st, stc, className, n;

		if (scmd =3D=3D "removeformat") {
			pa.className =3D "";
			pa.style.cssText =3D "";
			ch.className =3D "";
			ch.style.cssText =3D "";
			return;
		}

		st =3D tinyMCE.parseStyle(tinyMCE.getAttrib(pa, "style"));
		stc =3D tinyMCE.parseStyle(tinyMCE.getAttrib(ch, "style"));
		className =3D tinyMCE.getAttrib(pa, "class");

		// Removed class adding due to bug #1478272
		className =3D tinyMCE.getAttrib(ch, "class");

		if (override) {
			for (n in st) {
				if (typeof(st[n]) =3D=3D 'function')
					continue;

				stc[n] =3D st[n];
			}
		} else {
			for (n in stc) {
				if (typeof(stc[n]) =3D=3D 'function')
					continue;

				st[n] =3D stc[n];
			}
		}

		tinyMCE.setAttrib(pa, "style", tinyMCE.serializeStyle(st));
		tinyMCE.setAttrib(pa, "class", tinyMCE.trim(className));
		ch.className =3D "";
		ch.style.cssText =3D "";
		ch.removeAttribute("class");
		ch.removeAttribute("style");
	},

	_fixRootBlocks : function() {
		var rb, b, ne, be, nx, bm;

		rb =3D tinyMCE.getParam('forced_root_block');
		if (!rb)
			return;

		b =3D this.getBody();
		ne =3D b.firstChild;

		while (ne) {
			nx =3D ne.nextSibling;

			// If text node or inline element wrap it in a block element
			if ((ne.nodeType =3D=3D 3 && ne.nodeValue.replace(/\s+/g, '') !=3D =
'') || (ne.nodeType =3D=3D 1 && !tinyMCE.blockRegExp.test(ne.nodeName))) =
{
				if (!bm)
					bm =3D this.selection.getBookmark();

				if (!be) {
					be =3D this.getDoc().createElement(rb);
					be.appendChild(ne.cloneNode(true));
					b.replaceChild(be, ne);
				} else {
					be.appendChild(ne.cloneNode(true));
					b.removeChild(ne);
				}
			} else
				be =3D null;

			ne =3D nx;
		}

		if (bm)
			this.selection.moveToBookmark(bm);
	},

	_fixTrailingNbsp : function() {
		var s =3D this.selection, e =3D s.getFocusElement(), bm, v;

		if (e && tinyMCE.blockRegExp.test(e.nodeName) && e.firstChild) {
			v =3D e.firstChild.nodeValue;

			if (v && v.length > 1 && /(^\u00a0|\u00a0$)/.test(v)) {
				e.firstChild.nodeValue =3D v.replace(/(^\u00a0|\u00a0$)/, '');
				s.selectNode(e.firstChild, true, false, false); // Select and =
collapse
			}
		}
	},

	_setUseCSS : function(b) {
		var d =3D this.getDoc();

		try {d.execCommand("useCSS", false, !b);} catch (ex) {}
		try {d.execCommand("styleWithCSS", false, b);} catch (ex) {}

		if (!tinyMCE.getParam("table_inline_editing"))
			try {d.execCommand('enableInlineTableEditing', false, "false");} =
catch (ex) {}

		if (!tinyMCE.getParam("object_resizing"))
			try {d.execCommand('enableObjectResizing', false, "false");} catch =
(ex) {}
	},

	execCommand : function(command, user_interface, value) {
		var i, x, z, align, img, div, doc =3D this.getDoc(), win =3D =
this.getWin(), focusElm =3D this.getFocusElement();

		// Is not a undo specific command
		if (!new =
RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mce=
AddUndoLevel', 'gi').test(command))
			this.undoBookmark =3D null;

		// Mozilla issue
		if (!tinyMCE.isIE && !this.useCSS) {
			this._setUseCSS(false);
			this.useCSS =3D true;
		}

		//debug("command: " + command + ", user_interface: " + user_interface =
+ ", value: " + value);
		this.contentDocument =3D doc; // <-- Strange, unless this is applied =
Mozilla 1.3 breaks

		// Don't dispatch key commands
		if (!/mceStartTyping|mceEndTyping/.test(command)) {
			if (tinyMCE.execCommandCallback(this, 'execcommand_callback', =
'execCommand', this.editorId, this.getBody(), command, user_interface, =
value))
				return;
		}

		// Fix align on images
		if (focusElm && focusElm.nodeName =3D=3D "IMG") {
			align =3D focusElm.getAttribute('align');
			img =3D command =3D=3D "JustifyCenter" ? focusElm.cloneNode(false) : =
focusElm;

			switch (command) {
				case "JustifyLeft":
					if (align =3D=3D 'left') {
						img.setAttribute('align', ''); // Needed for IE
						img.removeAttribute('align');
					} else
						img.setAttribute('align', 'left');

					// Remove the div
					div =3D focusElm.parentNode;
					if (div && div.nodeName =3D=3D "DIV" && div.childNodes.length =
=3D=3D 1 && div.parentNode)
						div.parentNode.replaceChild(img, div);

					this.selection.selectNode(img);
					this.repaint();
					tinyMCE.triggerNodeChange();
					return;

				case "JustifyCenter":
					img.setAttribute('align', ''); // Needed for IE
					img.removeAttribute('align');

					// Is centered
					div =3D tinyMCE.getParentElement(focusElm, "div");
					if (div && div.style.textAlign =3D=3D "center") {
						// Remove div
						if (div.nodeName =3D=3D "DIV" && div.childNodes.length =3D=3D 1 && =
div.parentNode)
							div.parentNode.replaceChild(img, div);
					} else {
						// Add div
						div =3D this.getDoc().createElement("div");
						div.style.textAlign =3D 'center';
						div.appendChild(img);
						focusElm.parentNode.replaceChild(div, focusElm);
					}

					this.selection.selectNode(img);
					this.repaint();
					tinyMCE.triggerNodeChange();
					return;

				case "JustifyRight":
					if (align =3D=3D 'right') {
						img.setAttribute('align', ''); // Needed for IE
						img.removeAttribute('align');
					} else
						img.setAttribute('align', 'right');

					// Remove the div
					div =3D focusElm.parentNode;
					if (div && div.nodeName =3D=3D "DIV" && div.childNodes.length =
=3D=3D 1 && div.parentNode)
						div.parentNode.replaceChild(img, div);

					this.selection.selectNode(img);
					this.repaint();
					tinyMCE.triggerNodeChange();
					return;
			}
		}

		if (tinyMCE.settings.force_br_newlines) {
			var alignValue =3D "";

			if (doc.selection.type !=3D "Control") {
				switch (command) {
						case "JustifyLeft":
							alignValue =3D "left";
							break;

						case "JustifyCenter":
							alignValue =3D "center";
							break;

						case "JustifyFull":
							alignValue =3D "justify";
							break;

						case "JustifyRight":
							alignValue =3D "right";
							break;
				}

				if (alignValue !=3D=3D '') {
					var rng =3D doc.selection.createRange();

					if ((divElm =3D tinyMCE.getParentElement(rng.parentElement(), =
"div")) !=3D null)
						divElm.setAttribute("align", alignValue);
					else if (rng.pasteHTML && rng.htmlText.length > 0)
						rng.pasteHTML('<div align=3D"' + alignValue + '">' + rng.htmlText =
+ "</div>");

					tinyMCE.triggerNodeChange();
					return;
				}
			}
		}

		switch (command) {
			case "mceRepaint":
				this.repaint();
				return true;

			case "JustifyLeft":
			case "JustifyCenter":
			case "JustifyFull":
			case "JustifyRight":
				var el =3D tinyMCE.getParentNode(focusElm, function(n) {return =
tinyMCE.getAttrib(n, 'align');});

				if (el) {
					el.setAttribute('align', ''); // Needed for IE
					el.removeAttribute('align');
				} else
					this.getDoc().execCommand(command, user_interface, value);

				tinyMCE.triggerNodeChange();

				return true;

			case "unlink":
				// Unlink if caret is inside link
				if (tinyMCE.isGecko && this.getSel().isCollapsed) {
					focusElm =3D tinyMCE.getParentElement(focusElm, 'A');

					if (focusElm)
						this.selection.selectNode(focusElm, false);
				}

				this.getDoc().execCommand(command, user_interface, value);

				tinyMCE.isGecko && this.getSel().collapseToEnd();

				tinyMCE.triggerNodeChange();

				return true;

			case "InsertUnorderedList":
			case "InsertOrderedList":
				this.getDoc().execCommand(command, user_interface, value);
				tinyMCE.triggerNodeChange();
				break;

			case "Strikethrough":
				this.getDoc().execCommand(command, user_interface, value);
				tinyMCE.triggerNodeChange();
				break;

			case "mceSelectNode":
				this.selection.selectNode(value);
				tinyMCE.triggerNodeChange();
				tinyMCE.selectedNode =3D value;
				break;

			case "FormatBlock":
				if (value =3D=3D null || value =3D=3D '') {
					var elm =3D tinyMCE.getParentElement(this.getFocusElement(), =
"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");

					if (elm)
						this.execCommand("mceRemoveNode", false, elm);
				} else {
					if (!this.cleanup.isValid(value))
						return true;

					if (tinyMCE.isGecko && new =
RegExp('<(div|blockquote|code|dt|dd|dl|samp)>', 'gi').test(value))
						value =3D value.replace(/[^a-z]/gi, '');

					if (tinyMCE.isIE && new RegExp('blockquote|code|samp', =
'gi').test(value)) {
						var b =3D this.selection.getBookmark();
						this.getDoc().execCommand("FormatBlock", false, '<p>');
						=
tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement(=
)), value);
						this.selection.moveToBookmark(b);
					} else
						this.getDoc().execCommand("FormatBlock", false, value);
				}

				tinyMCE.triggerNodeChange();

				break;

			case "mceRemoveNode":
				if (!value)
					value =3D tinyMCE.getParentElement(this.getFocusElement());

				if (tinyMCE.isIE) {
					value.outerHTML =3D value.innerHTML;
				} else {
					var rng =3D value.ownerDocument.createRange();
					rng.setStartBefore(value);
					rng.setEndAfter(value);
					rng.deleteContents();
					rng.insertNode(rng.createContextualFragment(value.innerHTML));
				}

				tinyMCE.triggerNodeChange();

				break;

			case "mceSelectNodeDepth":
				var parentNode =3D this.getFocusElement();
				for (i=3D0; parentNode; i++) {
					if (parentNode.nodeName.toLowerCase() =3D=3D "body")
						break;

					if (parentNode.nodeName.toLowerCase() =3D=3D "#text") {
						i--;
						parentNode =3D parentNode.parentNode;
						continue;
					}

					if (i =3D=3D value) {
						this.selection.selectNode(parentNode, false);
						tinyMCE.triggerNodeChange();
						tinyMCE.selectedNode =3D parentNode;
						return;
					}

					parentNode =3D parentNode.parentNode;
				}

				break;

			case "mceSetStyleInfo":
			case "SetStyleInfo":
				var rng =3D this.getRng();
				var sel =3D this.getSel();
				var scmd =3D value.command;
				var sname =3D value.name;
				var svalue =3D value.value =3D=3D null ? '' : value.value;
				//var svalue =3D value['value'] =3D=3D null ? '' : value['value'];
				var wrapper =3D value.wrapper ? value.wrapper : "span";
				var parentElm =3D null;
				var invalidRe =3D new RegExp("^BODY|HTML$", "g");
				var invalidParentsRe =3D =
tinyMCE.settings.merge_styles_invalid_parents !=3D=3D '' ? new =
RegExp(tinyMCE.settings.merge_styles_invalid_parents, "gi") : null;

				// Whole element selected check
				if (tinyMCE.isIE) {
					// Control range
					if (rng.item)
						parentElm =3D rng.item(0);
					else {
						var pelm =3D rng.parentElement();
						var prng =3D doc.selection.createRange();
						prng.moveToElementText(pelm);

						if (rng.htmlText =3D=3D prng.htmlText || rng.boundingWidth =3D=3D =
0) {
							if (invalidParentsRe =3D=3D null || =
!invalidParentsRe.test(pelm.nodeName))
								parentElm =3D pelm;
						}
					}
				} else {
					var felm =3D this.getFocusElement();
					if (sel.isCollapsed || (new RegExp('td|tr|tbody|table|img', =
'gi').test(felm.nodeName) && sel.anchorNode =3D=3D felm.parentNode))
						parentElm =3D felm;
				}

				// Whole element selected
				if (parentElm && !invalidRe.test(parentElm.nodeName)) {
					if (scmd =3D=3D "setstyle")
						tinyMCE.setStyleAttrib(parentElm, sname, svalue);

					if (scmd =3D=3D "setattrib")
						tinyMCE.setAttrib(parentElm, sname, svalue);

					if (scmd =3D=3D "removeformat") {
						parentElm.style.cssText =3D '';
						tinyMCE.setAttrib(parentElm, 'class', '');
					}

					// Remove style/attribs from all children
					var ch =3D tinyMCE.getNodeTree(parentElm, [], 1);
					for (z=3D0; z<ch.length; z++) {
						if (ch[z] =3D=3D parentElm)
							continue;

						if (scmd =3D=3D "setstyle")
							tinyMCE.setStyleAttrib(ch[z], sname, '');

						if (scmd =3D=3D "setattrib")
							tinyMCE.setAttrib(ch[z], sname, '');

						if (scmd =3D=3D "removeformat") {
							ch[z].style.cssText =3D '';
							tinyMCE.setAttrib(ch[z], 'class', '');
						}
					}
				} else {
					this._setUseCSS(false); // Bug in FF when running in fullscreen
					doc.execCommand("FontName", false, "#mce_temp_font#");
					var elementArray =3D =
tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", =
"#mce_temp_font#");

					// Change them all
					for (x=3D0; x<elementArray.length; x++) {
						elm =3D elementArray[x];
						if (elm) {
							var spanElm =3D doc.createElement(wrapper);

							if (scmd =3D=3D "setstyle")
								tinyMCE.setStyleAttrib(spanElm, sname, svalue);

							if (scmd =3D=3D "setattrib")
								tinyMCE.setAttrib(spanElm, sname, svalue);

							if (scmd =3D=3D "removeformat") {
								spanElm.style.cssText =3D '';
								tinyMCE.setAttrib(spanElm, 'class', '');
							}

							if (elm.hasChildNodes()) {
								for (i=3D0; i<elm.childNodes.length; i++)
									spanElm.appendChild(elm.childNodes[i].cloneNode(true));
							}

							spanElm.setAttribute("mce_new", "true");
							elm.parentNode.replaceChild(spanElm, elm);

							// Remove style/attribs from all children
							var ch =3D tinyMCE.getNodeTree(spanElm, [], 1);
							for (z=3D0; z<ch.length; z++) {
								if (ch[z] =3D=3D spanElm)
									continue;

								if (scmd =3D=3D "setstyle")
									tinyMCE.setStyleAttrib(ch[z], sname, '');

								if (scmd =3D=3D "setattrib")
									tinyMCE.setAttrib(ch[z], sname, '');

								if (scmd =3D=3D "removeformat") {
									ch[z].style.cssText =3D '';
									tinyMCE.setAttrib(ch[z], 'class', '');
								}
							}
						}
					}
				}

				// Cleaup wrappers
				var nodes =3D doc.getElementsByTagName(wrapper);
				for (i=3Dnodes.length-1; i>=3D0; i--) {
					var elm =3D nodes[i];
					var isNew =3D tinyMCE.getAttrib(elm, "mce_new") =3D=3D "true";

					elm.removeAttribute("mce_new");

					// Is only child a element
					if (elm.childNodes && elm.childNodes.length =3D=3D 1 && =
elm.childNodes[0].nodeType =3D=3D 1) {
						//tinyMCE.debug("merge1" + isNew);
						this._mergeElements(scmd, elm, elm.childNodes[0], isNew);
						continue;
					}

					// Is I the only child
					if (elm.parentNode.childNodes.length =3D=3D 1 && =
!invalidRe.test(elm.nodeName) && =
!invalidRe.test(elm.parentNode.nodeName)) {
						//tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + =
elm.parentNode.nodeName);
						if (invalidParentsRe =3D=3D null || =
!invalidParentsRe.test(elm.parentNode.nodeName))
							this._mergeElements(scmd, elm.parentNode, elm, false);
					}
				}

				// Remove empty wrappers
				var nodes =3D doc.getElementsByTagName(wrapper);
				for (i=3Dnodes.length-1; i>=3D0; i--) {
					var elm =3D nodes[i], isEmpty =3D true;

					// Check if it has any attribs
					var tmp =3D doc.createElement("body");
					tmp.appendChild(elm.cloneNode(false));

					// Is empty span, remove it
					tmp.innerHTML =3D tmp.innerHTML.replace(new =
RegExp('style=3D""|class=3D""', 'gi'), '');
					//tinyMCE.debug(tmp.innerHTML);
					if (new RegExp('<span>', 'gi').test(tmp.innerHTML)) {
						for (x=3D0; x<elm.childNodes.length; x++) {
							if (elm.parentNode !=3D null)
								elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true), =
elm);
						}

						elm.parentNode.removeChild(elm);
					}
				}

				// Re add the visual aids
				if (scmd =3D=3D "removeformat")
					tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, =
this);

				tinyMCE.triggerNodeChange();

				break;

			case "FontName":
				if (value =3D=3D null) {
					var s =3D this.getSel();

					// Find font and select it
					if (tinyMCE.isGecko && s.isCollapsed) {
						var f =3D tinyMCE.getParentElement(this.getFocusElement(), =
"font");

						if (f !=3D null)
							this.selection.selectNode(f, false);
					}

					// Remove format
					this.getDoc().execCommand("RemoveFormat", false, null);

					// Collapse range if font was found
					if (f !=3D null && tinyMCE.isGecko) {
						var r =3D this.getRng().cloneRange();
						r.collapse(true);
						s.removeAllRanges();
						s.addRange(r);
					}
				} else
					this.getDoc().execCommand('FontName', false, value);

				if (tinyMCE.isGecko)
					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);

				return;

			case "FontSize":
				this.getDoc().execCommand('FontSize', false, value);

				if (tinyMCE.isGecko)
					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);

				return;

			case "forecolor":
				value =3D value =3D=3D null ? this.foreColor : value;
				value =3D tinyMCE.trim(value);
				value =3D value.charAt(0) !=3D '#' ? (isNaN('0x' + value) ? value : =
'#' + value) : value;

				this.foreColor =3D value;
				this.getDoc().execCommand('forecolor', false, value);
				break;

			case "HiliteColor":
				value =3D value =3D=3D null ? this.backColor : value;
				value =3D tinyMCE.trim(value);
				value =3D value.charAt(0) !=3D '#' ? (isNaN('0x' + value) ? value : =
'#' + value) : value;
				this.backColor =3D value;

				if (tinyMCE.isGecko || tinyMCE.isOpera) {
					this._setUseCSS(true);
					this.getDoc().execCommand('hilitecolor', false, value);
					this._setUseCSS(false);
				} else
					this.getDoc().execCommand('BackColor', false, value);
				break;

			case "Cut":
			case "Copy":
			case "Paste":
				var cmdFailed =3D false;

				// Try executing command
				eval('try {this.getDoc().execCommand(command, user_interface, =
value);} catch (e) {cmdFailed =3D true;}');

				if (tinyMCE.isOpera && cmdFailed)
					alert('Currently not supported by your browser, use keyboard =
shortcuts instead.');

				// Alert error in gecko if command failed
				if (tinyMCE.isGecko && cmdFailed) {
					// Confirm more info
					if =
(confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))
						=
window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html',=
 'mceExternal');

					return;
				} else
					tinyMCE.triggerNodeChange();
			break;

			case "mceSetContent":
				if (!value)
					value =3D "";

				// Call custom cleanup code
				value =3D tinyMCE.storeAwayURLs(value);
				value =3D tinyMCE._customCleanup(this, "insert_to_editor", value);

				if (this.getBody().nodeName =3D=3D 'BODY')
					tinyMCE._setHTML(doc, value);
				else
					this.getBody().innerHTML =3D value;

				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, doc, =
this.settings, this.getBody(), false, false, false, true));
				tinyMCE.convertAllRelativeURLs(this.getBody());

				// Cleanup any mess left from storyAwayURLs
				tinyMCE._removeInternal(this.getBody());

				// When editing always use fonts internaly
				if (tinyMCE.getParam("convert_fonts_to_spans"))
					tinyMCE.convertSpansToFonts(doc);

				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
				tinyMCE._setEventsEnabled(this.getBody(), false);
				this._addBogusBR();

				return true;

			case "mceCleanup":
				var b =3D this.selection.getBookmark();
				tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML);
				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, =
this.contentDocument, this.settings, this.getBody(), this.visualAid));
				tinyMCE.convertAllRelativeURLs(doc.body);

				// When editing always use fonts internaly
				if (tinyMCE.getParam("convert_fonts_to_spans"))
					tinyMCE.convertSpansToFonts(doc);

				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
				tinyMCE._setEventsEnabled(this.getBody(), false);
				this._addBogusBR();
				this.repaint();
				this.selection.moveToBookmark(b);
				tinyMCE.triggerNodeChange();
			break;

			case "mceReplaceContent":
				// Force empty string
				if (!value)
					value =3D '';

				this.getWin().focus();

				var selectedText =3D "";

				if (tinyMCE.isIE) {
					var rng =3D doc.selection.createRange();
					selectedText =3D rng.text;
				} else
					selectedText =3D this.getSel().toString();

				if (selectedText.length > 0) {
					value =3D tinyMCE.replaceVar(value, "selection", selectedText);
					tinyMCE.execCommand('mceInsertContent', false, value);
				}

				this._addBogusBR();
				tinyMCE.triggerNodeChange();
			break;

			case "mceSetAttribute":
				if (typeof(value) =3D=3D 'object') {
					var targetElms =3D (typeof(value.targets) =3D=3D "undefined") ? =
"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value.targets;
					var targetNode =3D tinyMCE.getParentElement(this.getFocusElement(), =
targetElms);

					if (targetNode) {
						targetNode.setAttribute(value.name, value.value);
						tinyMCE.triggerNodeChange();
					}
				}
			break;

			case "mceSetCSSClass":
				this.execCommand("mceSetStyleInfo", false, {command : "setattrib", =
name : "class", value : value});
			break;

			case "mceInsertRawHTML":
				var key =3D 'tiny_mce_marker';

				this.execCommand('mceBeginUndoLevel');

				// Insert marker key
				this.execCommand('mceInsertContent', false, key);

				// Store away scroll pos
				var scrollX =3D this.getBody().scrollLeft + =
this.getDoc().documentElement.scrollLeft;
				var scrollY =3D this.getBody().scrollTop + =
this.getDoc().documentElement.scrollTop;

				// Find marker and replace with RAW HTML
				var html =3D this.getBody().innerHTML;
				if ((pos =3D html.indexOf(key)) !=3D -1)
					tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value =
+ html.substring(pos + key.length));

				// Restore scoll pos
				this.contentWindow.scrollTo(scrollX, scrollY);

				this.execCommand('mceEndUndoLevel');

				break;

			case "mceInsertContent":
				// Force empty string
				if (!value)
					value =3D '';

				var insertHTMLFailed =3D false;

				// Removed since it produced problems in IE
				// this.getWin().focus();

				if (tinyMCE.isGecko || tinyMCE.isOpera) {
					try {
						// Is plain text or HTML, &amp;, &nbsp; etc will be encoded wrong =
in FF
						if (value.indexOf('<') =3D=3D -1 && =
!value.match(/(&#38;|&#160;|&#60;|&#62;)/g)) {
							var r =3D this.getRng();
							var n =3D =
this.getDoc().createTextNode(tinyMCE.entityDecode(value));
							var s =3D this.getSel();
							var r2 =3D r.cloneRange();

							// Insert text at cursor position
							s.removeAllRanges();
							r.deleteContents();
							r.insertNode(n);

							// Move the cursor to the end of text
							r2.selectNode(n);
							r2.collapse(false);
							s.removeAllRanges();
							s.addRange(r2);
						} else {
							value =3D tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value);
							this.getDoc().execCommand('inserthtml', false, value);
							tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
						}
					} catch (ex) {
						insertHTMLFailed =3D true;
					}

					if (!insertHTMLFailed) {
						tinyMCE.triggerNodeChange();
						return;
					}
				}

				if (!tinyMCE.isIE) {
					var isHTML =3D value.indexOf('<') !=3D -1;
					var sel =3D this.getSel();
					var rng =3D this.getRng();

					if (isHTML) {
						if (tinyMCE.isSafari) {
							var tmpRng =3D this.getDoc().createRange();

							tmpRng.setStart(this.getBody(), 0);
							tmpRng.setEnd(this.getBody(), 0);

							value =3D tmpRng.createContextualFragment(value);
						} else
							value =3D rng.createContextualFragment(value);
					} else {
						// Setup text node
						value =3D doc.createTextNode(tinyMCE.entityDecode(value));
					}

					// Insert plain text in Safari
					if (tinyMCE.isSafari && !isHTML) {
						this.execCommand('InsertText', false, value.nodeValue);
						tinyMCE.triggerNodeChange();
						return true;
					} else if (tinyMCE.isSafari && isHTML) {
						rng.deleteContents();
						rng.insertNode(value);
						tinyMCE.triggerNodeChange();
						return true;
					}

					rng.deleteContents();

					// If target node is text do special treatment, (Mozilla 1.3 fix)
					if (rng.startContainer.nodeType =3D=3D 3) {
						var node =3D rng.startContainer.splitText(rng.startOffset);
						node.parentNode.insertBefore(value, node);=20
					} else
						rng.insertNode(value);

					if (!isHTML) {
						// Removes weird selection trails
						sel.selectAllChildren(doc.body);
						sel.removeAllRanges();

						// Move cursor to end of content
						var rng =3D doc.createRange();

						rng.selectNode(value);
						rng.collapse(false);

						sel.addRange(rng);
					} else
						rng.collapse(false);

					tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
				} else {
					var rng =3D doc.selection.createRange(), tmpRng =3D null;
					var c =3D value.indexOf('<!--') !=3D -1;

					// Fix comment bug, add tag before comments
					if (c)
						value =3D tinyMCE.uniqueTag + value;

					//	tmpRng =3D rng.duplicate(); // Store away range (Fixes Undo =
bookmark bug in IE)

					if (rng.item)
						rng.item(0).outerHTML =3D value;
					else
						rng.pasteHTML(value);

					//if (tmpRng)
					//	tmpRng.select(); // Restore range  (Fixes Undo bookmark bug in =
IE)

					// Remove unique tag
					if (c) {
						var e =3D this.getDoc().getElementById('mceTMPElement');
						e.parentNode.removeChild(e);
					}
				}

				tinyMCE.execCommand("mceAddUndoLevel");
				tinyMCE.triggerNodeChange();
			break;

			case "mceStartTyping":
				if (tinyMCE.settings.custom_undo_redo && =
this.undoRedo.typingUndoIndex =3D=3D -1) {
					this.undoRedo.typingUndoIndex =3D this.undoRedo.undoIndex;
					tinyMCE.typingUndoIndex =3D tinyMCE.undoIndex;
					this.execCommand('mceAddUndoLevel');
				}
				break;

			case "mceEndTyping":
				if (tinyMCE.settings.custom_undo_redo && =
this.undoRedo.typingUndoIndex !=3D -1) {
					this.execCommand('mceAddUndoLevel');
					this.undoRedo.typingUndoIndex =3D -1;
				}

				tinyMCE.typingUndoIndex =3D -1;
				break;

			case "mceBeginUndoLevel":
				this.undoRedoLevel =3D false;
				break;

			case "mceEndUndoLevel":
				this.undoRedoLevel =3D true;
				this.execCommand('mceAddUndoLevel');
				break;

			case "mceAddUndoLevel":
				if (tinyMCE.settings.custom_undo_redo && this.undoRedoLevel) {
					if (this.undoRedo.add())
						tinyMCE.triggerNodeChange(false);
				}
				break;

			case "Undo":
				if (tinyMCE.settings.custom_undo_redo) {
					tinyMCE.execCommand("mceEndTyping");
					this.undoRedo.undo();
					tinyMCE.triggerNodeChange();
				} else
					this.getDoc().execCommand(command, user_interface, value);
				break;

			case "Redo":
				if (tinyMCE.settings.custom_undo_redo) {
					tinyMCE.execCommand("mceEndTyping");
					this.undoRedo.redo();
					tinyMCE.triggerNodeChange();
				} else
					this.getDoc().execCommand(command, user_interface, value);
				break;

			case "mceToggleVisualAid":
				this.visualAid =3D !this.visualAid;
				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
				tinyMCE.triggerNodeChange();
				break;

			case "Indent":
				this.getDoc().execCommand(command, user_interface, value);
				tinyMCE.triggerNodeChange();

				if (tinyMCE.isIE) {
					var n =3D tinyMCE.getParentElement(this.getFocusElement(), =
"blockquote");
					do {
						if (n && n.nodeName =3D=3D "BLOCKQUOTE") {
							n.removeAttribute("dir");
							n.removeAttribute("style");
						}
					} while (n !=3D null && (n =3D n.parentNode) !=3D null);
				}
				break;

			case "RemoveFormat":
			case "removeformat":
				var text =3D this.selection.getSelectedText();

				if (tinyMCE.isOpera) {
					this.getDoc().execCommand("RemoveFormat", false, null);
					return;
				}

				if (tinyMCE.isIE) {
					try {
						var rng =3D doc.selection.createRange();
						rng.execCommand("RemoveFormat", false, null);
					} catch (e) {
						// Do nothing
					}

					this.execCommand("mceSetStyleInfo", false, {command : =
"removeformat"});
				} else {
					this.getDoc().execCommand(command, user_interface, value);

					this.execCommand("mceSetStyleInfo", false, {command : =
"removeformat"});
				}

				// Remove class
				if (text.length =3D=3D 0)
					this.execCommand("mceSetCSSClass", false, "");

				tinyMCE.triggerNodeChange();
				break;

			default:
				this.getDoc().execCommand(command, user_interface, value);

				if (tinyMCE.isGecko)
					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
				else
					tinyMCE.triggerNodeChange();
		}

		// Add undo level after modification
		if (command !=3D "mceAddUndoLevel" && command !=3D "Undo" && command =
!=3D "Redo" && command !=3D "mceStartTyping" && command !=3D =
"mceEndTyping")
			tinyMCE.execCommand("mceAddUndoLevel");
	},

	queryCommandValue : function(c) {
		try {
			return this.getDoc().queryCommandValue(c);
		} catch (e) {
			return null;
		}
	},

	queryCommandState : function(c) {
		return this.getDoc().queryCommandState(c);
	},

	_addBogusBR : function() {
		var b =3D this.getBody();

		if (tinyMCE.isGecko && !b.hasChildNodes())
			b.innerHTML =3D '<br _moz_editor_bogus_node=3D"TRUE" />';
	},

	_onAdd : function(replace_element, form_element_name, target_document) =
{
		var hc, th, tos, editorTemplate, targetDoc, deltaWidth, deltaHeight, =
html, rng, fragment;
		var dynamicIFrame, tElm, doc, parentElm;

		th =3D this.settings.theme;
		tos =3D tinyMCE.themes[th];

		targetDoc =3D target_document ? target_document : document;

		this.targetDoc =3D targetDoc;

		tinyMCE.themeURL =3D tinyMCE.baseURL + "/themes/" + =
this.settings.theme;
		this.settings.themeurl =3D tinyMCE.themeURL;

		if (!replace_element) {
			alert("Error: Could not find the target element.");
			return false;
		}

		if (tos.getEditorTemplate)
			editorTemplate =3D tos.getEditorTemplate(this.settings, =
this.editorId);

		deltaWidth =3D editorTemplate.delta_width ? editorTemplate.delta_width =
: 0;
		deltaHeight =3D editorTemplate.delta_height ? =
editorTemplate.delta_height : 0;
		html =3D '<span id=3D"' + this.editorId + '_parent" =
class=3D"mceEditorContainer">' + editorTemplate.html;

		html =3D tinyMCE.replaceVar(html, "editor_id", this.editorId);

		if (!this.settings.default_document)
			this.settings.default_document =3D tinyMCE.baseURL + "/blank.htm";

		this.settings.old_width =3D this.settings.width;
		this.settings.old_height =3D this.settings.height;

		// Set default width, height
		if (this.settings.width =3D=3D -1)
			this.settings.width =3D replace_element.offsetWidth;

		if (this.settings.height =3D=3D -1)
			this.settings.height =3D replace_element.offsetHeight;

		// Try the style width
		if (this.settings.width =3D=3D 0)
			this.settings.width =3D replace_element.style.width;

		// Try the style height
		if (this.settings.height =3D=3D 0)
			this.settings.height =3D replace_element.style.height;=20

		// If no width/height then default to 320x240, better than nothing
		if (this.settings.width =3D=3D 0)
			this.settings.width =3D 320;

		if (this.settings.height =3D=3D 0)
			this.settings.height =3D 240;

		this.settings.area_width =3D parseInt(this.settings.width);
		this.settings.area_height =3D parseInt(this.settings.height);
		this.settings.area_width +=3D deltaWidth;
		this.settings.area_height +=3D deltaHeight;
		this.settings.width_style =3D "" + this.settings.width;
		this.settings.height_style =3D "" + this.settings.height;

		// Special % handling
		if (("" + this.settings.width).indexOf('%') !=3D -1)
			this.settings.area_width =3D "100%";
		else
			this.settings.width_style +=3D 'px';

		if (("" + this.settings.height).indexOf('%') !=3D -1)
			this.settings.area_height =3D "100%";
		else
			this.settings.height_style +=3D 'px';

		if (("" + replace_element.style.width).indexOf('%') !=3D -1) {
			this.settings.width =3D replace_element.style.width;
			this.settings.area_width =3D "100%";
			this.settings.width_style =3D "100%";
		}

		if (("" + replace_element.style.height).indexOf('%') !=3D -1) {
			this.settings.height =3D replace_element.style.height;
			this.settings.area_height =3D "100%";
			this.settings.height_style =3D "100%";
		}

		html =3D tinyMCE.applyTemplate(html);

		this.settings.width =3D this.settings.old_width;
		this.settings.height =3D this.settings.old_height;

		this.visualAid =3D this.settings.visual;
		this.formTargetElementId =3D form_element_name;

		// Get replace_element contents
		if (replace_element.nodeName =3D=3D "TEXTAREA" || =
replace_element.nodeName =3D=3D "INPUT")
			this.startContent =3D replace_element.value;
		else
			this.startContent =3D replace_element.innerHTML;

		// If not text area or input
		if (replace_element.nodeName !=3D "TEXTAREA" && =
replace_element.nodeName !=3D "INPUT") {
			this.oldTargetElement =3D replace_element;

			// Debug mode
			hc =3D '<input type=3D"hidden" id=3D"' + form_element_name + '" =
name=3D"' + form_element_name + '" />';
			this.oldTargetDisplay =3D tinyMCE.getStyle(this.oldTargetElement, =
'display', 'inline');
			this.oldTargetElement.style.display =3D "none";

			html +=3D '</span>';

			if (tinyMCE.isGecko)
				html =3D hc + html;
			else
				html +=3D hc;

			// Output HTML and set editable
			if (tinyMCE.isGecko) {
				rng =3D replace_element.ownerDocument.createRange();
				rng.setStartBefore(replace_element);

				fragment =3D rng.createContextualFragment(html);
				tinyMCE.insertAfter(fragment, replace_element);
			} else
				replace_element.insertAdjacentHTML("beforeBegin", html);
		} else {
			html +=3D '</span>';

			// Just hide the textarea element
			this.oldTargetElement =3D replace_element;

			this.oldTargetDisplay =3D tinyMCE.getStyle(this.oldTargetElement, =
'display', 'inline');
			this.oldTargetElement.style.display =3D "none";

			// Output HTML and set editable
			if (tinyMCE.isGecko) {
				rng =3D replace_element.ownerDocument.createRange();
				rng.setStartBefore(replace_element);

				fragment =3D rng.createContextualFragment(html);
				tinyMCE.insertAfter(fragment, replace_element);
			} else
				replace_element.insertAdjacentHTML("beforeBegin", html);
		}

		// Setup iframe
		dynamicIFrame =3D false;
		tElm =3D targetDoc.getElementById(this.editorId);

		if (!tinyMCE.isIE) {
			// Node case is preserved in XML strict mode
			if (tElm && (tElm.nodeName =3D=3D "SPAN" || tElm.nodeName =3D=3D =
"span")) {
				tElm =3D tinyMCE._createIFrame(tElm, targetDoc);
				dynamicIFrame =3D true;
			}

			this.targetElement =3D tElm;
			this.iframeElement =3D tElm;
			this.contentDocument =3D tElm.contentDocument;
			this.contentWindow =3D tElm.contentWindow;

			//this.getDoc().designMode =3D "on";
		} else {
			if (tElm && tElm.nodeName =3D=3D "SPAN")
				tElm =3D tinyMCE._createIFrame(tElm, targetDoc, =
targetDoc.parentWindow);
			else
				tElm =3D targetDoc.frames[this.editorId];

			this.targetElement =3D tElm;
			this.iframeElement =3D targetDoc.getElementById(this.editorId);

			if (tinyMCE.isOpera) {
				this.contentDocument =3D this.iframeElement.contentDocument;
				this.contentWindow =3D this.iframeElement.contentWindow;
				dynamicIFrame =3D true;
			} else {
				this.contentDocument =3D tElm.window.document;
				this.contentWindow =3D tElm.window;
			}

			this.getDoc().designMode =3D "on";
		}

		// Setup base HTML
		doc =3D this.contentDocument;
		if (dynamicIFrame) {
			html =3D tinyMCE.getParam('doctype') + '<html><head =
xmlns=3D"http://www.w3.org/1999/xhtml"><base href=3D"' + =
tinyMCE.settings.base_href + '" /><title>blank_page</title><meta =
http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3DUTF-8"></head><body class=3D"mceContentBody"></body></html>';

			try {
				if (!this.isHidden())
					this.getDoc().designMode =3D "on";

				doc.open();
				doc.write(html);
				doc.close();
			} catch (e) {
				// Failed Mozilla 1.3
				this.getDoc().location.href =3D tinyMCE.baseURL + "/blank.htm";
			}
		}

		// This timeout is needed in MSIE 5.5 for some odd reason
		// it seems that the document.frames isn't initialized yet?
		if (tinyMCE.isIE)
			window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\"" + =
this.editorId + "\"]);", 1);

		// Setup element references
		parentElm =3D this.targetDoc.getElementById(this.editorId + =
'_parent');
		this.formElement =3D tinyMCE.isGecko ? parentElm.previousSibling : =
parentElm.nextSibling;

		tinyMCE.setupContent(this.editorId, true);

		return true;
	},

	setBaseHREF : function(u) {
		var h, b, d, nl;

		d =3D this.getDoc();
		nl =3D d.getElementsByTagName("base");
		b =3D nl.length > 0 ? nl[0] : null;

		if (!b) {
			nl =3D d.getElementsByTagName("head");
			h =3D nl.length > 0 ? nl[0] : null;

			b =3D d.createElement("base");
			b.setAttribute('href', u);
			h.appendChild(b);
		} else {
			if (u =3D=3D '' || u =3D=3D null)
				b.parentNode.removeChild(b);
			else
				b.setAttribute('href', u);
		}
	},

	getHTML : function(r) {
		var h, d =3D this.getDoc(), b =3D this.getBody();

		if (r)
			return b.innerHTML;

		h =3D tinyMCE._cleanupHTML(this, d, this.settings, b, false, true, =
false, true);

		if (tinyMCE.getParam("convert_fonts_to_spans"))
			tinyMCE.convertSpansToFonts(d);

		return h;
	},

	setHTML : function(h) {
		this.execCommand('mceSetContent', false, h);
		this.repaint();
	},

	getFocusElement : function() {
		return this.selection.getFocusElement();
	},

	getSel : function() {
		return this.selection.getSel();
	},

	getRng : function() {
		return this.selection.getRng();
	},

	triggerSave : function(skip_cleanup, skip_callback) {
		var e, nl =3D [], i, s, content, htm;

		if (!this.enabled)
			return;

		this.switchSettings();
		s =3D tinyMCE.settings;

		// Force hidden tabs visible while serializing
		if (tinyMCE.isRealIE) {
			e =3D this.iframeElement;

			do {
				if (e.style && e.style.display =3D=3D 'none') {
					e.style.display =3D 'block';
					nl[nl.length] =3D {elm : e, type : 'style'};
				}

				if (e.style && s.hidden_tab_class.length > 0 && =
e.className.indexOf(s.hidden_tab_class) !=3D -1) {
					e.className =3D s.display_tab_class;
					nl[nl.length] =3D {elm : e, type : 'class'};
				}
			} while ((e =3D e.parentNode) !=3D null)
		}

		tinyMCE.settings.preformatted =3D false;

		// Default to false
		if (typeof(skip_cleanup) =3D=3D "undefined")
			skip_cleanup =3D false;

		// Default to false
		if (typeof(skip_callback) =3D=3D "undefined")
			skip_callback =3D false;

		tinyMCE._setHTML(this.getDoc(), this.getBody().innerHTML);

		// Remove visual aids when cleanup is disabled
		if (this.settings.cleanup =3D=3D false) {
			tinyMCE.handleVisualAid(this.getBody(), true, false, this);
			tinyMCE._setEventsEnabled(this.getBody(), true);
		}

		tinyMCE._customCleanup(this, "submit_content_dom", =
this.contentWindow.document.body);
		htm =3D skip_cleanup ? this.getBody().innerHTML : =
tinyMCE._cleanupHTML(this, this.getDoc(), this.settings, this.getBody(), =
tinyMCE.visualAid, true, true);
		htm =3D tinyMCE._customCleanup(this, "submit_content", htm);

		if (!skip_callback && tinyMCE.settings.save_callback !=3D=3D '')
			content =3D tinyMCE.resolveDots(tinyMCE.settings.save_callback, =
window)(this.formTargetElementId,htm,this.getBody());

		// Use callback content if available
		if ((typeof(content) !=3D "undefined") && content !=3D null)
			htm =3D content;

		// Replace some weird entities (Bug: #1056343)
		htm =3D tinyMCE.regexpReplace(htm, "&#40;", "(", "gi");
		htm =3D tinyMCE.regexpReplace(htm, "&#41;", ")", "gi");
		htm =3D tinyMCE.regexpReplace(htm, "&#59;", ";", "gi");
		htm =3D tinyMCE.regexpReplace(htm, "&#34;", "&quot;", "gi");
		htm =3D tinyMCE.regexpReplace(htm, "&#94;", "^", "gi");

		if (this.formElement)
			this.formElement.value =3D htm;

		if (tinyMCE.isSafari && this.formElement)
			this.formElement.innerText =3D htm;

		// Hide them again (tabs in MSIE)
		for (i=3D0; i<nl.length; i++) {
			if (nl[i].type =3D=3D 'style')
				nl[i].elm.style.display =3D 'none';
			else
				nl[i].elm.className =3D s.hidden_tab_class;
		}
	}

	};

/* file:jscripts/tiny_mce/classes/TinyMCE_Cleanup.class.js */

tinyMCE.add(TinyMCE_Engine, {
	cleanupHTMLCode : function(s) {
		s =3D s.replace(new RegExp('<p \\/>', 'gi'), '<p>&nbsp;</p>');
		s =3D s.replace(new RegExp('<p>\\s*<\\/p>', 'gi'), '<p>&nbsp;</p>');

		// Fix close BR elements
		s =3D s.replace(new RegExp('<br>\\s*<\\/br>', 'gi'), '<br />');

		// Open closed tags like <b/> to <b></b>
		s =3D s.replace(new =
RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|stron=
g|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>', =
'gi'), '<$1$2$3></$1$2>');

		// Remove trailing space <b > to <b>
		s =3D s.replace(new RegExp('\\s+></', 'gi'), '></');

		// Close tags <img></img> to <img/>
		s =3D s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>', =
'gi'), '<$1$2 />');

		// Weird MSIE bug, <p><hr /></p> breaks runtime?
		if (tinyMCE.isIE)
			s =3D s.replace(new RegExp('<p><hr \\/><\\/p>', 'gi'), "<hr>");

		// Weird tags will make IE error #bug: 1538495
		if (tinyMCE.isIE)
			s =3D s.replace(/<!(\s*)\/>/g, '');

		// Convert relative anchors to absolute URLs ex: #something to =
file.htm#something
		// Removed: Since local document anchors should never be forced =
absolute example edit.php?id=3Dsomething
		//if (tinyMCE.getParam('convert_urls'))
		//	s =3D s.replace(new RegExp('(href=3D\"{0,1})(\\s*#)', 'gi'), '$1' + =
tinyMCE.settings.document_base_url + "#");

		return s;
	},

	parseStyle : function(str) {
		var ar =3D [], st, i, re, pa;

		if (str =3D=3D null)
			return ar;

		st =3D str.split(';');

		tinyMCE.clearArray(ar);

		for (i=3D0; i<st.length; i++) {
			if (st[i] =3D=3D '')
				continue;

			re =3D new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');
			pa =3D st[i].replace(re, '$1||$2').split('||');
	//tinyMCE.debug(str, pa[0] + "=3D" + pa[1], st[i].replace(re, =
'$1||$2'));
			if (pa.length =3D=3D 2)
				ar[pa[0].toLowerCase()] =3D pa[1];
		}

		return ar;
	},

	compressStyle : function(ar, pr, sf, res) {
		var box =3D [], i, a;

		box[0] =3D ar[pr + '-top' + sf];
		box[1] =3D ar[pr + '-left' + sf];
		box[2] =3D ar[pr + '-right' + sf];
		box[3] =3D ar[pr + '-bottom' + sf];

		for (i=3D0; i<box.length; i++) {
			if (box[i] =3D=3D null)
				return;

			if (i && box[i] !=3D box[i-1])
				return;
		}

		// They are all the same
		ar[res] =3D box[0];
		ar[pr + '-top' + sf] =3D null;
		ar[pr + '-left' + sf] =3D null;
		ar[pr + '-right' + sf] =3D null;
		ar[pr + '-bottom' + sf] =3D null;
	},

	serializeStyle : function(ar) {
		var str =3D "", key, val, m;

		// Compress box
		tinyMCE.compressStyle(ar, "border", "", "border");
		tinyMCE.compressStyle(ar, "border", "-width", "border-width");
		tinyMCE.compressStyle(ar, "border", "-color", "border-color");
		tinyMCE.compressStyle(ar, "border", "-style", "border-style");
		tinyMCE.compressStyle(ar, "padding", "", "padding");
		tinyMCE.compressStyle(ar, "margin", "", "margin");

		for (key in ar) {
			val =3D ar[key];

			if (typeof(val) =3D=3D 'function')
				continue;

			if (key.indexOf('mso-') =3D=3D 0)
				continue;

			if (val !=3D null && val !=3D=3D '') {
				val =3D '' + val; // Force string

				// Fix style URL
				val =3D val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)", 'gi'), =
"url('$1')");

				// Convert URL
				if (val.indexOf('url(') !=3D -1 && tinyMCE.getParam('convert_urls')) =
{
					m =3D new RegExp("url\\('(.*?)'\\)").exec(val);

					if (m.length > 1)
						val =3D "url('" + eval(tinyMCE.getParam('urlconverter_callback') + =
"(m[1], null, true);") + "')";
				}

				// Force HEX colors
				if (tinyMCE.getParam("force_hex_style_colors"))
					val =3D tinyMCE.convertRGBToHex(val, true);

				val =3D val.replace(/\"/g, '\'');

				if (val !=3D "url('')")
					str +=3D key.toLowerCase() + ": " + val + "; ";
			}
		}

		if (new RegExp('; $').test(str))
			str =3D str.substring(0, str.length - 2);

		return str;
	},

	convertRGBToHex : function(s, k) {
		var re, rgb;

		if (s.toLowerCase().indexOf('rgb') !=3D -1) {
			re =3D new =
RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*=
?\\)(.*?)", "gi");
			rgb =3D s.replace(re, "$1,$2,$3,$4,$5").split(',');

			if (rgb.length =3D=3D 5) {
				r =3D parseInt(rgb[1]).toString(16);
				g =3D parseInt(rgb[2]).toString(16);
				b =3D parseInt(rgb[3]).toString(16);

				r =3D r.length =3D=3D 1 ? '0' + r : r;
				g =3D g.length =3D=3D 1 ? '0' + g : g;
				b =3D b.length =3D=3D 1 ? '0' + b : b;

				s =3D "#" + r + g + b;

				if (k)
					s =3D rgb[0] + s + rgb[4];
			}
		}

		return s;
	},

	convertHexToRGB : function(s) {
		if (s.indexOf('#') !=3D -1) {
			s =3D s.replace(new RegExp('[^0-9A-F]', 'gi'), '');
			return "rgb(" + parseInt(s.substring(0, 2), 16) + "," + =
parseInt(s.substring(2, 4), 16) + "," + parseInt(s.substring(4, 6), 16) =
+ ")";
		}

		return s;
	},

	convertSpansToFonts : function(doc) {
		var s, i, size, fSize, x, fFace, fColor, sizes =3D =
tinyMCE.getParam('font_size_style_values').replace(/\s+/, =
'').split(',');

		s =3D tinyMCE.selectElements(doc, 'span,font');
		for (i=3D0; i<s.length; i++) {
			size =3D tinyMCE.trim(s[i].style.fontSize).toLowerCase();
			fSize =3D 0;

			for (x=3D0; x<sizes.length; x++) {
				if (sizes[x] =3D=3D size) {
					fSize =3D x + 1;
					break;
				}
			}

			if (fSize > 0) {
				tinyMCE.setAttrib(s[i], 'size', fSize);
				s[i].style.fontSize =3D '';
			}

			fFace =3D s[i].style.fontFamily;
			if (fFace !=3D null && fFace !=3D=3D '') {
				tinyMCE.setAttrib(s[i], 'face', fFace);
				s[i].style.fontFamily =3D '';
			}

			fColor =3D s[i].style.color;
			if (fColor !=3D null && fColor !=3D=3D '') {
				tinyMCE.setAttrib(s[i], 'color', tinyMCE.convertRGBToHex(fColor));
				s[i].style.color =3D '';
			}
		}
	},

	convertFontsToSpans : function(doc) {
		var fsClasses, s, i, fSize, fFace, fColor, sizes =3D =
tinyMCE.getParam('font_size_style_values').replace(/\s+/, =
'').split(',');

		fsClasses =3D tinyMCE.getParam('font_size_classes');
		if (fsClasses !=3D=3D '')
			fsClasses =3D fsClasses.replace(/\s+/, '').split(',');
		else
			fsClasses =3D null;

		s =3D tinyMCE.selectElements(doc, 'span,font');
		for (i=3D0; i<s.length; i++) {
			fSize =3D tinyMCE.getAttrib(s[i], 'size');
			fFace =3D tinyMCE.getAttrib(s[i], 'face');
			fColor =3D tinyMCE.getAttrib(s[i], 'color');

			if (fSize !=3D=3D '') {
				fSize =3D parseInt(fSize);

				if (fSize > 0 && fSize < 8) {
					if (fsClasses !=3D null)
						tinyMCE.setAttrib(s[i], 'class', fsClasses[fSize-1]);
					else
						s[i].style.fontSize =3D sizes[fSize-1];
				}

				s[i].removeAttribute('size');
			}

			if (fFace !=3D=3D '') {
				s[i].style.fontFamily =3D fFace;
				s[i].removeAttribute('face');
			}

			if (fColor !=3D=3D '') {
				s[i].style.color =3D fColor;
				s[i].removeAttribute('color');
			}
		}
	},

	cleanupAnchors : function(doc) {
		var i, cn, x, an =3D doc.getElementsByTagName("a");

		// Loops backwards due to bug #1467987
		for (i=3Dan.length-1; i>=3D0; i--) {
			if (tinyMCE.getAttrib(an[i], "name") !=3D=3D '' && =
tinyMCE.getAttrib(an[i], "href") =3D=3D '') {
				cn =3D an[i].childNodes;

				for (x=3Dcn.length-1; x>=3D0; x--)
					tinyMCE.insertAfter(cn[x], an[i]);
			}
		}
	},

	getContent : function(editor_id) {
		if (typeof(editor_id) !=3D "undefined")
			 tinyMCE.getInstanceById(editor_id).select();

		if (tinyMCE.selectedInstance)
			return tinyMCE.selectedInstance.getHTML();

		return null;
	},

	_fixListElements : function(d) {
		var nl, x, a =3D ['ol', 'ul'], i, n, p, r =3D new RegExp('^(OL|UL)$'), =
np;

		for (x=3D0; x<a.length; x++) {
			nl =3D d.getElementsByTagName(a[x]);

			for (i=3D0; i<nl.length; i++) {
				n =3D nl[i];
				p =3D n.parentNode;

				if (r.test(p.nodeName)) {
					np =3D tinyMCE.prevNode(n, 'LI');

					if (!np) {
						np =3D d.createElement('li');
						np.innerHTML =3D '&nbsp;';
						np.appendChild(n);
						p.insertBefore(np, p.firstChild);
					} else
						np.appendChild(n);
				}
			}
		}
	},

	_fixTables : function(d) {
		var nl, i, n, p, np, x, t;

		nl =3D d.getElementsByTagName('table');
		for (i=3D0; i<nl.length; i++) {
			n =3D nl[i];

			if ((p =3D tinyMCE.getParentElement(n, 'p,h1,h2,h3,h4,h5,h6')) !=3D =
null) {
				np =3D p.cloneNode(false);
				np.removeAttribute('id');

				t =3D n;

				while ((n =3D n.nextSibling))
					np.appendChild(n);

				tinyMCE.insertAfter(np, p);
				tinyMCE.insertAfter(t, p);
			}
		}
	},

	_cleanupHTML : function(inst, doc, config, elm, visual, on_save, =
on_submit, inn) {
		var h, d, t1, t2, t3, t4, t5, c, s, nb;

		if (!tinyMCE.getParam('cleanup'))
			return elm.innerHTML;

		on_save =3D typeof(on_save) =3D=3D 'undefined' ? false : on_save;

		c =3D inst.cleanup;
		s =3D inst.settings;
		d =3D c.settings.debug;

		if (d)
			t1 =3D new Date().getTime();

		inst._fixRootBlocks();

		if (tinyMCE.getParam("convert_fonts_to_spans"))
			tinyMCE.convertFontsToSpans(doc);

		if (tinyMCE.getParam("fix_list_elements"))
			tinyMCE._fixListElements(doc);

		if (tinyMCE.getParam("fix_table_elements"))
			tinyMCE._fixTables(doc);

		// Call custom cleanup code
		tinyMCE._customCleanup(inst, on_save ? "get_from_editor_dom" : =
"insert_to_editor_dom", doc.body);

		if (d)
			t2 =3D new Date().getTime();

		c.settings.on_save =3D on_save;

		c.idCount =3D 0;
		c.serializationId++; // Unique ID needed for the content duplication =
bug
		c.serializedNodes =3D [];
		c.sourceIndex =3D -1;

		if (s.cleanup_serializer =3D=3D "xml")
			h =3D c.serializeNodeAsXML(elm, inn);
		else
			h =3D c.serializeNodeAsHTML(elm, inn);

		if (d)
			t3 =3D new Date().getTime();

		// Post processing
		nb =3D tinyMCE.getParam('entity_encoding') =3D=3D 'numeric' ? '&#160;' =
: '&nbsp;';
		h =3D h.replace(/<\/?(body|head|html)[^>]*>/gi, '');
		h =3D h.replace(new RegExp(' (rowspan=3D"1"|colspan=3D"1")', 'g'), =
'');
		h =3D h.replace(/<p><hr \/><\/p>/g, '<hr />');
		h =3D h.replace(/<p>(&nbsp;|&#160;)<\/p><hr =
\/><p>(&nbsp;|&#160;)<\/p>/g, '<hr />');
		h =3D h.replace(/<td>\s*<br \/>\s*<\/td>/g, '<td>' + nb + '</td>');
		h =3D h.replace(/<p>\s*<br \/>\s*<\/p>/g, '<p>' + nb + '</p>');
		h =3D h.replace(/<br \/>$/, ''); // Remove last BR for Gecko
		h =3D h.replace(/<br \/><\/p>/g, '</p>'); // Remove last BR in P tags =
for Gecko
		h =3D h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br =
\/>\s*(&nbsp;|&#160;)\s*<\/p>/g, '<p>' + nb + '</p>');
		h =3D h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g, '<p>' + nb =
+ '</p>');
		h =3D h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g, '<p>' + nb + =
'</p>');
		h =3D h.replace(new RegExp('<a>(.*?)<\\/a>', 'g'), '$1');
		h =3D h.replace(/<p([^>]*)>\s*<\/p>/g, '<p$1>' + nb + '</p>');

		// Clean body
		if (/^\s*(<br =
\/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))
			h =3D '';

		// If preformatted
		if (s.preformatted) {
			h =3D h.replace(/^<pre>/, '');
			h =3D h.replace(/<\/pre>$/, '');
			h =3D '<pre>' + h + '</pre>';
		}

		// Gecko specific processing
		if (tinyMCE.isGecko) {
			// Makes no sence but FF generates it!!
			h =3D h.replace(/<br \/>\s*<\/li>/g, '</li>');
			h =3D h.replace(/&nbsp;\s*<\/(dd|dt)>/g, '</$1>');
			h =3D h.replace(/<o:p _moz-userdefined=3D"" \/>/g, '');
			h =3D h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g, '<td$1>' + nb + =
'</td>');
		}

		if (s.force_br_newlines)
			h =3D h.replace(/<p>(&nbsp;|&#160;)<\/p>/g, '<br />');

		// Call custom cleanup code
		h =3D tinyMCE._customCleanup(inst, on_save ? "get_from_editor" : =
"insert_to_editor", h);

		// Remove internal classes
		if (on_save) {
			h =3D h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|' + =
s.visual_table_class + ')', 'g'), '');
			h =3D h.replace(new RegExp(' ?class=3D""', 'g'), '');
		}

		if (s.remove_linebreaks && !c.settings.indent)
			h =3D h.replace(/\n|\r/g, ' ');

		if (d)
			t4 =3D new Date().getTime();

		if (on_save && c.settings.indent)
			h =3D c.formatHTML(h);

		// If encoding (not recommended option)
		if (on_submit && (s.encoding =3D=3D "xml" || s.encoding =3D=3D =
"html"))
			h =3D c.xmlEncode(h);

		if (d)
			t5 =3D new Date().getTime();

		if (c.settings.debug)
			tinyMCE.debug("Cleanup in ms: Pre=3D" + (t2-t1) + ", Serialize: " + =
(t3-t2) + ", Post: " + (t4-t3) + ", Format: " + (t5-t4) + ", Sum: " + =
(t5-t1) + ".");

		return h;
	}
});

function TinyMCE_Cleanup() {
	this.isIE =3D (navigator.appName =3D=3D "Microsoft Internet Explorer");
	this.rules =3D tinyMCE.clearArray([]);

	// Default config
	this.settings =3D {
		indent_elements : =
'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',
		newline_before_elements : =
'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,b=
ase,script,td',
		newline_after_elements : =
'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',
		newline_before_after_elements : =
'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object=
,param,hr,div',
		indent_char : '\t',
		indent_levels : 1,
		entity_encoding : 'raw',
		valid_elements : '*[*]',
		entities : '',
		url_converter : '',
		invalid_elements : '',
		verify_html : false
	};

	this.vElements =3D tinyMCE.clearArray([]);
	this.vElementsRe =3D '';
	this.closeElementsRe =3D /^(IMG|BR|HR|LINK|META|BASE|INPUT|AREA)$/;
	this.codeElementsRe =3D /^(SCRIPT|STYLE)$/;
	this.serializationId =3D 0;
	this.mceAttribs =3D {
		href : 'mce_href',
		src : 'mce_src',
		type : 'mce_type'
	};
}

TinyMCE_Cleanup.prototype =3D {
	init : function(s) {
		var n, a, i, ir, or, st;

		for (n in s)
			this.settings[n] =3D s[n];

		// Setup code formating
		s =3D this.settings;

		// Setup regexps
		this.inRe =3D this._arrayToRe(s.indent_elements.split(','), '', '^<(', =
')[^>]*');
		this.ouRe =3D this._arrayToRe(s.indent_elements.split(','), '', =
'^<\\/(', ')[^>]*');
		this.nlBeforeRe =3D =
this._arrayToRe(s.newline_before_elements.split(','), 'gi', '<(',  =
')([^>]*)>');
		this.nlAfterRe =3D =
this._arrayToRe(s.newline_after_elements.split(','), 'gi', '<(',  =
')([^>]*)>');
		this.nlBeforeAfterRe =3D =
this._arrayToRe(s.newline_before_after_elements.split(','), 'gi', =
'<(\\/?)(', ')([^>]*)>');
		this.serializedNodes =3D [];
		this.serializationId =3D 0;

		if (s.invalid_elements !=3D=3D '')
			this.iveRe =3D =
this._arrayToRe(s.invalid_elements.toUpperCase().split(','), 'g', '^(', =
')$');
		else
			this.iveRe =3D null;

		// Setup separator
		st =3D '';
		for (i=3D0; i<s.indent_levels; i++)
			st +=3D s.indent_char;

		this.inStr =3D st;

		// If verify_html if false force *[*]
		if (!s.verify_html) {
			s.valid_elements =3D '*[*]';
			s.extended_valid_elements =3D '';
		}

		this.fillStr =3D s.entity_encoding =3D=3D "named" ? "&nbsp;" : =
"&#160;";
		this.idCount =3D 0;
		this.xmlEncodeRe =3D new RegExp('[\u007F-\uFFFF<>&"]', 'g');
	},

	addRuleStr : function(s) {
		var r =3D this.parseRuleStr(s), n;

		for (n in r) {
			if (r[n])
				this.rules[n] =3D r[n];
		}

		this.vElements =3D tinyMCE.clearArray([]);

		for (n in this.rules) {
			if (this.rules[n])
				this.vElements[this.vElements.length] =3D this.rules[n].tag;
		}

		this.vElementsRe =3D this._arrayToRe(this.vElements, '');
	},

	isValid : function(n) {
		if (!this.rulesDone)
			this._setupRules(); // Will initialize cleanup rules

		// Empty is true since it removes formatting
		if (!n)
			return true;

		// Clean the name up a bit
		n =3D n.replace(/[^a-z0-9]+/gi, '').toUpperCase();

		return !tinyMCE.getParam('cleanup') || this.vElementsRe.test(n);
	},

	addChildRemoveRuleStr : function(s) {
		var x, y, p, i, t, tn, ta, cl, r;

		if (!s)
			return;

		ta =3D s.split(',');
		for (x=3D0; x<ta.length; x++) {
			s =3D ta[x];

			// Split tag/children
			p =3D this.split(/\[|\]/, s);
			if (p =3D=3D null || p.length < 1)
				t =3D s.toUpperCase();
			else
				t =3D p[0].toUpperCase();

			// Handle all tag names
			tn =3D this.split('/', t);
			for (y=3D0; y<tn.length; y++) {
				r =3D "^(";

				// Build regex
				cl =3D this.split(/\|/, p[1]);
				for (i=3D0; i<cl.length; i++) {
					if (cl[i] =3D=3D '%istrict')
						r +=3D tinyMCE.inlineStrict;
					else if (cl[i] =3D=3D '%itrans')
						r +=3D tinyMCE.inlineTransitional;
					else if (cl[i] =3D=3D '%istrict_na')
						r +=3D tinyMCE.inlineStrict.substring(2);
					else if (cl[i] =3D=3D '%itrans_na')
						r +=3D tinyMCE.inlineTransitional.substring(2);
					else if (cl[i] =3D=3D '%btrans')
						r +=3D tinyMCE.blockElms;
					else if (cl[i] =3D=3D '%strict')
						r +=3D tinyMCE.blockStrict;
					else
						r +=3D (cl[i].charAt(0) !=3D '#' ? cl[i].toUpperCase() : cl[i]);

					r +=3D (i !=3D cl.length - 1 ? '|' : '');
				}

				r +=3D ')$';

				if (this.childRules =3D=3D null)
					this.childRules =3D tinyMCE.clearArray([]);

				this.childRules[tn[y]] =3D new RegExp(r);

				if (p.length > 1)
					this.childRules[tn[y]].wrapTag =3D p[2];
			}
		}
	},

	parseRuleStr : function(s) {
		var ta, p, r, a, i, x, px, t, tn, y, av, or =3D =
tinyMCE.clearArray([]), dv;

		if (s =3D=3D null || s.length =3D=3D 0)
			return or;

		ta =3D s.split(',');
		for (x=3D0; x<ta.length; x++) {
			s =3D ta[x];
			if (s.length =3D=3D 0)
				continue;

			// Split tag/attrs
			p =3D this.split(/\[|\]/, s);
			if (p =3D=3D null || p.length < 1)
				t =3D s.toUpperCase();
			else
				t =3D p[0].toUpperCase();

			// Handle all tag names
			tn =3D this.split('/', t);
			for (y=3D0; y<tn.length; y++) {
				r =3D {};

				r.tag =3D tn[y];
				r.forceAttribs =3D null;
				r.defaultAttribs =3D null;
				r.validAttribValues =3D null;

				// Handle prefixes
				px =3D r.tag.charAt(0);
				r.forceOpen =3D px =3D=3D '+';
				r.removeEmpty =3D px =3D=3D '-';
				r.fill =3D px =3D=3D '#';
				r.tag =3D r.tag.replace(/\+|-|#/g, '');
				r.oTagName =3D tn[0].replace(/\+|-|#/g, '').toLowerCase();
				r.isWild =3D new RegExp('\\*|\\?|\\+', 'g').test(r.tag);
				r.validRe =3D new RegExp(this._wildcardToRe('^' + r.tag + '$'));

				// Setup valid attributes
				if (p.length > 1) {
					r.vAttribsRe =3D '^(';
					a =3D this.split(/\|/, p[1]);

					for (i=3D0; i<a.length; i++) {
						t =3D a[i];

						if (t.charAt(0) =3D=3D '!') {
							a[i] =3D t =3D t.substring(1);

							if (!r.reqAttribsRe)
								r.reqAttribsRe =3D '\\s+(' + t;
							else
								r.reqAttribsRe +=3D '|' + t;
						}

						av =3D new RegExp('(=3D|:|<)(.*?)$').exec(t);
						t =3D t.replace(new RegExp('(=3D|:|<).*?$'), '');
						if (av && av.length > 0) {
							if (av[0].charAt(0) =3D=3D ':') {
								if (!r.forceAttribs)
									r.forceAttribs =3D tinyMCE.clearArray([]);

								r.forceAttribs[t.toLowerCase()] =3D av[0].substring(1);
							} else if (av[0].charAt(0) =3D=3D '=3D') {
								if (!r.defaultAttribs)
									r.defaultAttribs =3D tinyMCE.clearArray([]);

								dv =3D av[0].substring(1);

								r.defaultAttribs[t.toLowerCase()] =3D dv =3D=3D '' ? "mce_empty" =
: dv;
							} else if (av[0].charAt(0) =3D=3D '<') {
								if (!r.validAttribValues)
									r.validAttribValues =3D tinyMCE.clearArray([]);

								r.validAttribValues[t.toLowerCase()] =3D =
this._arrayToRe(this.split('?', av[0].substring(1)), 'i');
							}
						}

						r.vAttribsRe +=3D '' + t.toLowerCase() + (i !=3D a.length - 1 ? =
'|' : '');

						a[i] =3D t.toLowerCase();
					}

					if (r.reqAttribsRe)
						r.reqAttribsRe =3D new RegExp(r.reqAttribsRe + ')=3D\"', 'g');

					r.vAttribsRe +=3D ')$';
					r.vAttribsRe =3D this._wildcardToRe(r.vAttribsRe);
					r.vAttribsReIsWild =3D new RegExp('\\*|\\?|\\+', =
'g').test(r.vAttribsRe);
					r.vAttribsRe =3D new RegExp(r.vAttribsRe);
					r.vAttribs =3D a.reverse();

					//tinyMCE.debug(r.tag, r.oTagName, r.vAttribsRe, r.vAttribsReWC);
				} else {
					r.vAttribsRe =3D '';
					r.vAttribs =3D tinyMCE.clearArray([]);
					r.vAttribsReIsWild =3D false;
				}

				or[r.tag] =3D r;
			}
		}

		return or;
	},

	serializeNodeAsXML : function(n) {
		var s, b;

		if (!this.xmlDoc) {
			if (this.isIE) {
				try {this.xmlDoc =3D new ActiveXObject('MSXML2.DOMDocument');} catch =
(e) {}

				if (!this.xmlDoc)
					try {this.xmlDoc =3D new ActiveXObject('Microsoft.XmlDom');} catch =
(e) {}
			} else
				this.xmlDoc =3D document.implementation.createDocument('', '', =
null);

			if (!this.xmlDoc)
				alert("Error XML Parser could not be found.");
		}

		if (this.xmlDoc.firstChild)
			this.xmlDoc.removeChild(this.xmlDoc.firstChild);

		b =3D this.xmlDoc.createElement("html");
		b =3D this.xmlDoc.appendChild(b);

		this._convertToXML(n, b);

		if (this.isIE)
			return this.xmlDoc.xml;
		else
			return new XMLSerializer().serializeToString(this.xmlDoc);
	},

	_convertToXML : function(n, xn) {
		var xd, el, i, l, cn, at, no, hc =3D false;

		if (tinyMCE.isRealIE && this._isDuplicate(n))
			return;

		xd =3D this.xmlDoc;

		switch (n.nodeType) {
			case 1: // Element
				hc =3D n.hasChildNodes();

				el =3D xd.createElement(n.nodeName.toLowerCase());

				at =3D n.attributes;
				for (i=3Dat.length-1; i>-1; i--) {
					no =3D at[i];

					if (no.specified && no.nodeValue)
						el.setAttribute(no.nodeName.toLowerCase(), no.nodeValue);
				}

				if (!hc && !this.closeElementsRe.test(n.nodeName))
					el.appendChild(xd.createTextNode(""));

				xn =3D xn.appendChild(el);
				break;

			case 3: // Text
				xn.appendChild(xd.createTextNode(n.nodeValue));
				return;

			case 8: // Comment
				xn.appendChild(xd.createComment(n.nodeValue));
				return;
		}

		if (hc) {
			cn =3D n.childNodes;

			for (i=3D0, l=3Dcn.length; i<l; i++)
				this._convertToXML(cn[i], xn);
		}
	},

	serializeNodeAsHTML : function(n, inn) {
		var en, no, h =3D '', i, l, t, st, r, cn, va =3D false, f =3D false, =
at, hc, cr, nn;

		if (!this.rulesDone)
			this._setupRules(); // Will initialize cleanup rules

		if (tinyMCE.isRealIE && this._isDuplicate(n))
			return '';

		// Skip non valid child elements
		if (n.parentNode && this.childRules !=3D null) {
			cr =3D this.childRules[n.parentNode.nodeName];

			if (typeof(cr) !=3D "undefined" && !cr.test(n.nodeName)) {
				st =3D true;
				t =3D null;
			}
		}

		switch (n.nodeType) {
			case 1: // Element
				hc =3D n.hasChildNodes();

				if (st)
					break;

				nn =3D n.nodeName;

				if (tinyMCE.isRealIE) {
					// MSIE sometimes produces <//tag>
					if (n.nodeName.indexOf('/') !=3D -1)
						break;

					// MSIE has it's NS in a separate attrib
					if (n.scopeName && n.scopeName !=3D 'HTML')
						nn =3D n.scopeName.toUpperCase() + ':' + nn.toUpperCase();
				} else if (tinyMCE.isOpera && nn.indexOf(':') > 0)
					nn =3D nn.toUpperCase();

				// Convert fonts to spans
				if (this.settings.convert_fonts_to_spans) {
					// On get content FONT -> SPAN
					if (this.settings.on_save && nn =3D=3D 'FONT')
						nn =3D 'SPAN';

					// On insert content SPAN -> FONT
					if (!this.settings.on_save && nn =3D=3D 'SPAN')
						nn =3D 'FONT';
				}

				if (this.vElementsRe.test(nn) && (!this.iveRe || =
!this.iveRe.test(nn)) && !inn) {
					va =3D true;

					r =3D this.rules[nn];
					if (!r) {
						at =3D this.rules;
						for (no in at) {
							if (at[no] && at[no].validRe.test(nn)) {
								r =3D at[no];
								break;
							}
						}
					}

					en =3D r.isWild ? nn.toLowerCase() : r.oTagName;
					f =3D r.fill;

					if (r.removeEmpty && !hc)
						return "";

					t =3D '<' + en;

					if (r.vAttribsReIsWild) {
						// Serialize wildcard attributes
						at =3D n.attributes;
						for (i=3Dat.length-1; i>-1; i--) {
							no =3D at[i];
							if (no.specified && r.vAttribsRe.test(no.nodeName))
								t +=3D this._serializeAttribute(n, r, no.nodeName);
						}
					} else {
						// Serialize specific attributes
						for (i=3Dr.vAttribs.length-1; i>-1; i--)
							t +=3D this._serializeAttribute(n, r, r.vAttribs[i]);
					}

					// Serialize mce_ atts
					if (!this.settings.on_save) {
						at =3D this.mceAttribs;

						for (no in at) {
							if (at[no])
								t +=3D this._serializeAttribute(n, r, at[no]);
						}
					}

					// Check for required attribs
					if (r.reqAttribsRe && !t.match(r.reqAttribsRe))
						t =3D null;

					// Close these
					if (t !=3D null && this.closeElementsRe.test(nn))
						return t + ' />';

					if (t !=3D null)
						h +=3D t + '>';

					if (this.isIE && this.codeElementsRe.test(nn))
						h +=3D n.innerHTML;
				}
			break;

			case 3: // Text
				if (st)
					break;

				if (n.parentNode && this.codeElementsRe.test(n.parentNode.nodeName))
					return this.isIE ? '' : n.nodeValue;

				return this.xmlEncode(n.nodeValue);

			case 8: // Comment
				if (st)
					break;

				return "<!--" + this._trimComment(n.nodeValue) + "-->";
		}

		if (hc) {
			cn =3D n.childNodes;

			for (i=3D0, l=3Dcn.length; i<l; i++)
				h +=3D this.serializeNodeAsHTML(cn[i]);
		}

		// Fill empty nodes
		if (f && !hc)
			h +=3D this.fillStr;

		// End element
		if (t !=3D null && va)
			h +=3D '</' + en + '>';

		return h;
	},

	_serializeAttribute : function(n, r, an) {
		var av =3D '', t, os =3D this.settings.on_save;

		if (os && (an.indexOf('mce_') =3D=3D 0 || an.indexOf('_moz') =3D=3D =
0))
			return '';

		if (os && this.mceAttribs[an])
			av =3D this._getAttrib(n, this.mceAttribs[an]);

		if (av.length =3D=3D 0)
			av =3D this._getAttrib(n, an);

		if (av.length =3D=3D 0 && r.defaultAttribs && (t =3D =
r.defaultAttribs[an])) {
			av =3D t;

			if (av =3D=3D "mce_empty")
				return " " + an + '=3D""';
		}

		if (r.forceAttribs && (t =3D r.forceAttribs[an]))
			av =3D t;

		if (os && av.length !=3D 0 && /^(src|href|longdesc)$/.test(an))
			av =3D this._urlConverter(this, n, av);

		if (av.length !=3D 0 && r.validAttribValues && r.validAttribValues[an] =
&& !r.validAttribValues[an].test(av))
			return "";

		if (av.length !=3D 0 && av =3D=3D "{$uid}")
			av =3D "uid_" + (this.idCount++);

		if (av.length !=3D 0) {
			if (an.indexOf('on') !=3D 0)
				av =3D this.xmlEncode(av, 1);

			return " " + an + "=3D" + '"' + av + '"';
		}

		return "";
	},

	formatHTML : function(h) {
		var s =3D this.settings, p =3D '', i =3D 0, li =3D 0, o =3D '', l;

		// Replace BR in pre elements to \n
		h =3D h.replace(/<pre([^>]*)>(.*?)<\/pre>/gi, function (a, b, c) {
			c =3D c.replace(/<br\s*\/>/gi, '\n');
			return '<pre' + b + '>' + c + '</pre>';
		});

		h =3D h.replace(/\r/g, ''); // Windows sux, isn't carriage return a =
thing of the past :)
		h =3D '\n' + h;
		h =3D h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous =
formatting
		h =3D h.replace(this.nlBeforeRe, '\n<$1$2>');
		h =3D h.replace(this.nlAfterRe, '<$1$2>\n');
		h =3D h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n');
		h +=3D '\n';

		//tinyMCE.debug(h);

		while ((i =3D h.indexOf('\n', i + 1)) !=3D -1) {
			if ((l =3D h.substring(li + 1, i)).length !=3D 0) {
				if (this.ouRe.test(l) && p.length >=3D s.indent_levels)
					p =3D p.substring(s.indent_levels);

				o +=3D p + l + '\n';
=09
				if (this.inRe.test(l))
					p +=3D this.inStr;
			}

			li =3D i;
		}

		//tinyMCE.debug(h);

		return o;
	},

	xmlEncode : function(s) {
		var cl =3D this, re =3D this.xmlEncodeRe;

		if (!this.entitiesDone)
			this._setupEntities(); // Will intialize lookup table

		switch (this.settings.entity_encoding) {
			case "raw":
				return tinyMCE.xmlEncode(s);

			case "named":
				return s.replace(re, function (c) {
					var b =3D cl.entities[c.charCodeAt(0)];

					return b ? '&' + b + ';' : c;
				});

			case "numeric":
				return s.replace(re, function (c) {
					return '&#' + c.charCodeAt(0) + ';';
				});
		}

		return s;
	},

	split : function(re, s) {
		var i, l, o =3D [], c =3D s.split(re);

		for (i=3D0, l=3Dc.length; i<l; i++) {
			if (c[i] !=3D=3D '')
				o[i] =3D c[i];
		}

		return o;
	},

	_trimComment : function(s) {
		// Remove mce_src, mce_href
		s =3D s.replace(new RegExp('\\smce_src=3D\"[^\"]*\"', 'gi'), "");
		s =3D s.replace(new RegExp('\\smce_href=3D\"[^\"]*\"', 'gi'), "");

		return s;
	},

	_getAttrib : function(e, n, d) {
		var v, ex, nn;

		if (typeof(d) =3D=3D "undefined")
			d =3D "";

		if (!e || e.nodeType !=3D 1)
			return d;

		try {
			v =3D e.getAttribute(n, 0);
		} catch (ex) {
			// IE 7 may cast exception on invalid attributes
			v =3D e.getAttribute(n, 2);
		}

		if (n =3D=3D "class" && !v)
			v =3D e.className;

		if (this.isIE) {
			if (n =3D=3D "http-equiv")
				v =3D e.httpEquiv;

			nn =3D e.nodeName;

			// Skip the default values that IE returns
			if (nn =3D=3D "FORM" && n =3D=3D "enctype" && v =3D=3D =
"application/x-www-form-urlencoded")
				v =3D "";

			if (nn =3D=3D "INPUT" && n =3D=3D "size" && v =3D=3D "20")
				v =3D "";

			if (nn =3D=3D "INPUT" && n =3D=3D "maxlength" && v =3D=3D =
"2147483647")
				v =3D "";

			// Images
			if (n =3D=3D "width" || n =3D=3D "height")
				v =3D e.getAttribute(n, 2);
		}

		if (n =3D=3D 'style' && v) {
			if (!tinyMCE.isOpera)
				v =3D e.style.cssText;

			v =3D tinyMCE.serializeStyle(tinyMCE.parseStyle(v));
		}

		if (this.settings.on_save && n.indexOf('on') !=3D -1 && =
this.settings.on_save && v && v !=3D=3D '')
			v =3D tinyMCE.cleanupEventStr(v);

		return (v && v !=3D=3D '') ? '' + v : d;
	},

	_urlConverter : function(c, n, v) {
		if (!c.settings.on_save)
			return =
tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, v);
		else if (tinyMCE.getParam('convert_urls')) {
			if (!this.urlConverter)
				this.urlConverter =3D eval(tinyMCE.settings.urlconverter_callback);

			return this.urlConverter(v, n, true);
		}

		return v;
	},

	_arrayToRe : function(a, op, be, af) {
		var i, r;

		op =3D typeof(op) =3D=3D "undefined" ? "gi" : op;
		be =3D typeof(be) =3D=3D "undefined" ? "^(" : be;
		af =3D typeof(af) =3D=3D "undefined" ? ")$" : af;

		r =3D be;

		for (i=3D0; i<a.length; i++)
			r +=3D this._wildcardToRe(a[i]) + (i !=3D a.length-1 ? "|" : "");

		r +=3D af;

		return new RegExp(r, op);
	},

	_wildcardToRe : function(s) {
		s =3D s.replace(/\?/g, '(\\S?)');
		s =3D s.replace(/\+/g, '(\\S+)');
		s =3D s.replace(/\*/g, '(\\S*)');

		return s;
	},

	_setupEntities : function() {
		var n, a, i, s =3D this.settings;

		// Setup entities
		if (s.entity_encoding =3D=3D "named") {
			n =3D tinyMCE.clearArray([]);
			a =3D this.split(',', s.entities);
			for (i=3D0; i<a.length; i+=3D2)
				n[a[i]] =3D a[i+1];

			this.entities =3D n;
		}

		this.entitiesDone =3D true;
	},

	_setupRules : function() {
		var s =3D this.settings;

		// Setup default rule
		this.addRuleStr(s.valid_elements);
		this.addRuleStr(s.extended_valid_elements);
		this.addChildRemoveRuleStr(s.valid_child_elements);

		this.rulesDone =3D true;
	},

	_isDuplicate : function(n) {
		var i, l, sn;

		if (!this.settings.fix_content_duplication)
			return false;

		if (tinyMCE.isRealIE && n.nodeType =3D=3D 1) {
			// Mark elements
			if (n.mce_serialized =3D=3D this.serializationId)
				return true;

			n.setAttribute('mce_serialized', this.serializationId);
		} else {
			sn =3D this.serializedNodes;

			// Search lookup table for text nodes  and comments
			for (i=3D0, l =3D sn.length; i<l; i++) {
				if (sn[i] =3D=3D n)
					return true;
			}

			sn.push(n);
		}

		return false;
	}

	};

/* file:jscripts/tiny_mce/classes/TinyMCE_DOMUtils.class.js */

tinyMCE.add(TinyMCE_Engine, {
	createTagHTML : function(tn, a, h) {
		var o =3D '', f =3D tinyMCE.xmlEncode, n;

		o =3D '<' + tn;

		if (a) {
			for (n in a) {
				if (typeof(a[n]) !=3D 'function' && a[n] !=3D null)
					o +=3D ' ' + f(n) + '=3D"' + f('' + a[n]) + '"';
			}
		}

		o +=3D !h ? ' />' : '>' + h + '</' + tn + '>';

		return o;
	},

	createTag : function(d, tn, a, h) {
		var o =3D d.createElement(tn), n;

		if (a) {
			for (n in a) {
				if (typeof(a[n]) !=3D 'function' && a[n] !=3D null)
					tinyMCE.setAttrib(o, n, a[n]);
			}
		}

		if (h)
			o.innerHTML =3D h;

		return o;
	},

	getElementByAttributeValue : function(n, e, a, v) {
		return (n =3D this.getElementsByAttributeValue(n, e, a, v)).length =
=3D=3D 0 ? null : n[0];
	},

	getElementsByAttributeValue : function(n, e, a, v) {
		var i, nl =3D n.getElementsByTagName(e), o =3D [];

		for (i=3D0; i<nl.length; i++) {
			if (tinyMCE.getAttrib(nl[i], a).indexOf(v) !=3D -1)
				o[o.length] =3D nl[i];
		}

		return o;
	},

	isBlockElement : function(n) {
		return n !=3D null && n.nodeType =3D=3D 1 && =
this.blockRegExp.test(n.nodeName);
	},

	getParentBlockElement : function(n, r) {
		return this.getParentNode(n, function(n) {
			return tinyMCE.isBlockElement(n);
		}, r);

		return null;
	},

	insertAfter : function(n, r){
		if (r.nextSibling)
			r.parentNode.insertBefore(n, r.nextSibling);
		else
			r.parentNode.appendChild(n);
	},

	setInnerHTML : function(e, h) {
		var i, nl, n;

		// Convert all strong/em to b/i in Gecko
		if (tinyMCE.isGecko) {
			h =3D h.replace(/<embed([^>]*)>/gi, '<tmpembed$1>');
			h =3D h.replace(/<em([^>]*)>/gi, '<i$1>');
			h =3D h.replace(/<tmpembed([^>]*)>/gi, '<embed$1>');
			h =3D h.replace(/<strong([^>]*)>/gi, '<b$1>');
			h =3D h.replace(/<\/strong>/gi, '</b>');
			h =3D h.replace(/<\/em>/gi, '</i>');
		}

		if (tinyMCE.isRealIE) {
			// Since MSIE handles invalid HTML better that valid XHTML we
			// need to make some things invalid. <hr /> gets converted to <hr>.
			h =3D h.replace(/\s\/>/g, '>');

			// Since MSIE auto generated emtpy P tags some times we must tell it =
to keep the real ones
			h =3D h.replace(/<p([^>]*)>\u00A0?<\/p>/gi, '<p$1 =
mce_keep=3D"true">&nbsp;</p>'); // Keep empty paragraphs
			h =3D h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi, '<p$1 =
mce_keep=3D"true">&nbsp;</p>'); // Keep empty paragraphs
			h =3D h.replace(/<p([^>]*)>\s+<\/p>/gi, '<p$1 =
mce_keep=3D"true">&nbsp;</p>'); // Keep empty paragraphs

			// Remove first comment
			e.innerHTML =3D tinyMCE.uniqueTag + h;
			e.firstChild.removeNode(true);

			// Remove weird auto generated empty paragraphs unless it's supposed =
to be there
			nl =3D e.getElementsByTagName("p");
			for (i=3Dnl.length-1; i>=3D0; i--) {
				n =3D nl[i];

				if (n.nodeName =3D=3D 'P' && !n.hasChildNodes() && !n.mce_keep)
					n.parentNode.removeChild(n);
			}
		} else {
			h =3D this.fixGeckoBaseHREFBug(1, e, h);
			e.innerHTML =3D h;
			this.fixGeckoBaseHREFBug(2, e, h);
		}
	},

	getOuterHTML : function(e) {
		var d;

		if (tinyMCE.isIE)
			return e.outerHTML;

		d =3D e.ownerDocument.createElement("body");
		d.appendChild(e.cloneNode(true));

		return d.innerHTML;
	},

	setOuterHTML : function(e, h, d) {
		var d =3D typeof(d) =3D=3D "undefined" ? e.ownerDocument : d, i, nl, =
t;

		if (tinyMCE.isIE && e.nodeType =3D=3D 1)
			e.outerHTML =3D h;
		else {
			t =3D d.createElement("body");
			t.innerHTML =3D h;

			for (i=3D0, nl=3Dt.childNodes; i<nl.length; i++)
				e.parentNode.insertBefore(nl[i].cloneNode(true), e);

			e.parentNode.removeChild(e);
		}
	},

	_getElementById : function(id, d) {
		var e, i, j, f;

		if (typeof(d) =3D=3D "undefined")
			d =3D document;

		e =3D d.getElementById(id);
		if (!e) {
			f =3D d.forms;

			for (i=3D0; i<f.length; i++) {
				for (j=3D0; j<f[i].elements.length; j++) {
					if (f[i].elements[j].name =3D=3D id) {
						e =3D f[i].elements[j];
						break;
					}
				}
			}
		}

		return e;
	},

	getNodeTree : function(n, na, t, nn) {
		return this.selectNodes(n, function(n) {
			return (!t || n.nodeType =3D=3D t) && (!nn || n.nodeName =3D=3D nn);
		}, na ? na : []);
	},

	getParentElement : function(n, na, f, r) {
		var re =3D na ? new RegExp('^(' + na.toUpperCase().replace(/,/g, '|') =
+ ')$') : 0, v;

		// Compatiblity with old scripts where f param was a attribute string
		if (f && typeof(f) =3D=3D 'string')
			return this.getParentElement(n, na, function(no) {return =
tinyMCE.getAttrib(no, f) !=3D=3D '';});

		return this.getParentNode(n, function(n) {
			return ((n.nodeType =3D=3D 1 && !re) || (re && re.test(n.nodeName))) =
&& (!f || f(n));
		}, r);
	},

	getParentNode : function(n, f, r) {
		while (n) {
			if (n =3D=3D r)
				return null;

			if (f(n))
				return n;

			n =3D n.parentNode;
		}

		return null;
	},

	getAttrib : function(elm, name, dv) {
		var v;

		if (typeof(dv) =3D=3D "undefined")
			dv =3D "";

		// Not a element
		if (!elm || elm.nodeType !=3D 1)
			return dv;

		try {
			v =3D elm.getAttribute(name, 0);
		} catch (ex) {
			// IE 7 may cast exception on invalid attributes
			v =3D elm.getAttribute(name, 2);
		}

		// Try className for class attrib
		if (name =3D=3D "class" && !v)
			v =3D elm.className;

		// Workaround for a issue with Firefox 1.5rc2+
		if (tinyMCE.isGecko) {
			if (name =3D=3D "src" && elm.src !=3D null && elm.src !=3D=3D '')
				v =3D elm.src;

			// Workaround for a issue with Firefox 1.5rc2+
			if (name =3D=3D "href" && elm.href !=3D null && elm.href !=3D=3D '')
				v =3D elm.href;
		} else if (tinyMCE.isIE) {
			switch (name) {
				case "http-equiv":
					v =3D elm.httpEquiv;
					break;

				case "width":
				case "height":
					v =3D elm.getAttribute(name, 2);
					break;
			}
		}

		if (name =3D=3D "style" && !tinyMCE.isOpera)
			v =3D elm.style.cssText;

		return (v && v !=3D=3D '') ? v : dv;
	},

	setAttrib : function(el, name, va, fix) {
		if (typeof(va) =3D=3D "number" && va !=3D null)
			va =3D "" + va;

		if (fix) {
			if (va =3D=3D null)
				va =3D "";

			va =3D va.replace(/[^0-9%]/g, '');
		}

		if (name =3D=3D "style")
			el.style.cssText =3D va;

		if (name =3D=3D "class")
			el.className =3D va;

		if (va !=3D null && va !=3D=3D '' && va !=3D -1)
			el.setAttribute(name, va);
		else
			el.removeAttribute(name);
	},

	setStyleAttrib : function(e, n, v) {
		e.style[n] =3D v;

		// Style attrib deleted in IE
		if (tinyMCE.isIE && v =3D=3D null || v =3D=3D '') {
			v =3D tinyMCE.serializeStyle(tinyMCE.parseStyle(e.style.cssText));
			e.style.cssText =3D v;
			e.setAttribute("style", v);
		}
	},

	switchClass : function(ei, c) {
		var e;

		if (tinyMCE.switchClassCache[ei])
			e =3D tinyMCE.switchClassCache[ei];
		else
			e =3D tinyMCE.switchClassCache[ei] =3D document.getElementById(ei);

		if (e) {
			// Keep tile mode
			if (tinyMCE.settings.button_tile_map && e.className && =
e.className.indexOf('mceTiledButton') =3D=3D 0)
				c =3D 'mceTiledButton ' + c;

			e.className =3D c;
		}
	},

	getAbsPosition : function(n, cn) {
		var l =3D 0, t =3D 0;

		while (n && n !=3D cn) {
			l +=3D n.offsetLeft;
			t +=3D n.offsetTop;
			n =3D n.offsetParent;
		}

		return {absLeft : l, absTop : t};
	},

	prevNode : function(e, n) {
		var a =3D n.split(','), i;

		while ((e =3D e.previousSibling) !=3D null) {
			for (i=3D0; i<a.length; i++) {
				if (e.nodeName =3D=3D a[i])
					return e;
			}
		}

		return null;
	},

	nextNode : function(e, n) {
		var a =3D n.split(','), i;

		while ((e =3D e.nextSibling) !=3D null) {
			for (i=3D0; i<a.length; i++) {
				if (e.nodeName =3D=3D a[i])
					return e;
			}
		}

		return null;
	},

	selectElements : function(n, na, f) {
		var i, a =3D [], nl, x;

		for (x=3D0, na =3D na.split(','); x<na.length; x++)
			for (i=3D0, nl =3D n.getElementsByTagName(na[x]); i<nl.length; i++)
				(!f || f(nl[i])) && a.push(nl[i]);

		return a;
	},

	selectNodes : function(n, f, a) {
		var i;

		if (!a)
			a =3D [];

		if (f(n))
			a[a.length] =3D n;

		if (n.hasChildNodes()) {
			for (i=3D0; i<n.childNodes.length; i++)
				tinyMCE.selectNodes(n.childNodes[i], f, a);
		}

		return a;
	},

	addCSSClass : function(e, c, b) {
		var o =3D this.removeCSSClass(e, c);
		return e.className =3D b ? c + (o !=3D=3D '' ? (' ' + o) : '') : (o =
!=3D=3D '' ? (o + ' ') : '') + c;
	},

	removeCSSClass : function(e, c) {
		c =3D e.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' =
');
		return e.className =3D c !=3D ' ' ? c : '';
	},

	hasCSSClass : function(n, c) {
		return new RegExp('\\b' + c + '\\b', 'g').test(n.className);
	},

	renameElement : function(e, n, d) {
		var ne, i, ar;

		d =3D typeof(d) =3D=3D "undefined" ? tinyMCE.selectedInstance.getDoc() =
: d;

		if (e) {
			ne =3D d.createElement(n);

			ar =3D e.attributes;
			for (i=3Dar.length-1; i>-1; i--) {
				if (ar[i].specified && ar[i].nodeValue)
					ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue);
			}

			ar =3D e.childNodes;
			for (i=3D0; i<ar.length; i++)
				ne.appendChild(ar[i].cloneNode(true));

			e.parentNode.replaceChild(ne, e);
		}
	},

	getViewPort : function(w) {
		var d =3D w.document, m =3D d.compatMode =3D=3D 'CSS1Compat', b =3D =
d.body, de =3D d.documentElement;

		return {
			left : w.pageXOffset || (m ? de.scrollLeft : b.scrollLeft),
			top : w.pageYOffset || (m ? de.scrollTop : b.scrollTop),
			width : w.innerWidth || (m ? de.clientWidth : b.clientWidth),
			height : w.innerHeight || (m ? de.clientHeight : b.clientHeight)
		};
	},

	getStyle : function(n, na, d) {
		if (!n)
			return false;

		// Gecko
		if (tinyMCE.isGecko && n.ownerDocument.defaultView) {
			try {
				return n.ownerDocument.defaultView.getComputedStyle(n, =
null).getPropertyValue(na);
			} catch (n) {
				// Old safari might fail
				return null;
			}
		}

		// Camelcase it, if needed
		na =3D na.replace(/-(\D)/g, function(a, b){
			return b.toUpperCase();
		});

		// IE & Opera
		if (n.currentStyle)
			return n.currentStyle[na];

		return false;
	}

	});

/* file:jscripts/tiny_mce/classes/TinyMCE_URL.class.js */

tinyMCE.add(TinyMCE_Engine, {
	parseURL : function(url_str) {
		var urlParts =3D [], i, pos, lastPos, chr;

		if (url_str) {
			// Parse protocol part
			pos =3D url_str.indexOf('://');
			if (pos !=3D -1) {
				urlParts.protocol =3D url_str.substring(0, pos);
				lastPos =3D pos + 3;
			}

			// Find port or path start
			for (i=3DlastPos; i<url_str.length; i++) {
				chr =3D url_str.charAt(i);

				if (chr =3D=3D ':')
					break;

				if (chr =3D=3D '/')
					break;
			}
			pos =3D i;

			// Get host
			urlParts.host =3D url_str.substring(lastPos, pos);

			// Get port
			urlParts.port =3D "";
			lastPos =3D pos;
			if (url_str.charAt(pos) =3D=3D ':') {
				pos =3D url_str.indexOf('/', lastPos);
				urlParts.port =3D url_str.substring(lastPos+1, pos);
			}

			// Get path
			lastPos =3D pos;
			pos =3D url_str.indexOf('?', lastPos);

			if (pos =3D=3D -1)
				pos =3D url_str.indexOf('#', lastPos);

			if (pos =3D=3D -1)
				pos =3D url_str.length;

			urlParts.path =3D url_str.substring(lastPos, pos);

			// Get query
			lastPos =3D pos;
			if (url_str.charAt(pos) =3D=3D '?') {
				pos =3D url_str.indexOf('#');
				pos =3D (pos =3D=3D -1) ? url_str.length : pos;
				urlParts.query =3D url_str.substring(lastPos+1, pos);
			}

			// Get anchor
			lastPos =3D pos;
			if (url_str.charAt(pos) =3D=3D '#') {
				pos =3D url_str.length;
				urlParts.anchor =3D url_str.substring(lastPos+1, pos);
			}
		}

		return urlParts;
	},

	serializeURL : function(up) {
		var o =3D "";

		if (up.protocol)
			o +=3D up.protocol + "://";

		if (up.host)
			o +=3D up.host;

		if (up.port)
			o +=3D ":" + up.port;

		if (up.path)
			o +=3D up.path;

		if (up.query)
			o +=3D "?" + up.query;

		if (up.anchor)
			o +=3D "#" + up.anchor;

		return o;
	},

	convertAbsoluteURLToRelativeURL : function(base_url, url_to_relative) {
		var baseURL =3D this.parseURL(base_url), targetURL =3D =
this.parseURL(url_to_relative);
		var i, strTok1, strTok2, breakPoint =3D 0, outPath =3D "", forceSlash =
=3D false;
		var fileName, pos;

		if (targetURL.path =3D=3D '')
			targetURL.path =3D "/";
		else
			forceSlash =3D true;

		// Crop away last path part
		base_url =3D baseURL.path.substring(0, baseURL.path.lastIndexOf('/'));
		strTok1 =3D base_url.split('/');
		strTok2 =3D targetURL.path.split('/');

		if (strTok1.length >=3D strTok2.length) {
			for (i=3D0; i<strTok1.length; i++) {
				if (i >=3D strTok2.length || strTok1[i] !=3D strTok2[i]) {
					breakPoint =3D i + 1;
					break;
				}
			}
		}

		if (strTok1.length < strTok2.length) {
			for (i=3D0; i<strTok2.length; i++) {
				if (i >=3D strTok1.length || strTok1[i] !=3D strTok2[i]) {
					breakPoint =3D i + 1;
					break;
				}
			}
		}

		if (breakPoint =3D=3D 1)
			return targetURL.path;

		for (i=3D0; i<(strTok1.length-(breakPoint-1)); i++)
			outPath +=3D "../";

		for (i=3DbreakPoint-1; i<strTok2.length; i++) {
			if (i !=3D (breakPoint-1))
				outPath +=3D "/" + strTok2[i];
			else
				outPath +=3D strTok2[i];
		}

		targetURL.protocol =3D null;
		targetURL.host =3D null;
		targetURL.port =3D null;
		targetURL.path =3D outPath =3D=3D '' && forceSlash ? "/" : outPath;

		// Remove document prefix from local anchors
		fileName =3D baseURL.path;

		if ((pos =3D fileName.lastIndexOf('/')) !=3D -1)
			fileName =3D fileName.substring(pos + 1);

		// Is local anchor
		if (fileName =3D=3D targetURL.path && targetURL.anchor !=3D=3D '')
			targetURL.path =3D "";

		// If empty and not local anchor force filename or slash
		if (targetURL.path =3D=3D '' && !targetURL.anchor)
			targetURL.path =3D fileName !=3D=3D '' ? fileName : "/";

		return this.serializeURL(targetURL);
	},

	convertRelativeToAbsoluteURL : function(base_url, relative_url) {
		var baseURL =3D this.parseURL(base_url), baseURLParts, relURLParts, =
newRelURLParts, numBack, relURL =3D this.parseURL(relative_url), i;
		var len, absPath, start, end, newBaseURLParts;

		if (relative_url =3D=3D '' || relative_url.indexOf('://') !=3D -1 || =
/^(mailto:|javascript:|#|\/)/.test(relative_url))
			return relative_url;

		// Split parts
		baseURLParts =3D baseURL.path.split('/');
		relURLParts =3D relURL.path.split('/');

		// Remove empty chunks
		newBaseURLParts =3D [];
		for (i=3DbaseURLParts.length-1; i>=3D0; i--) {
			if (baseURLParts[i].length =3D=3D 0)
				continue;

			newBaseURLParts[newBaseURLParts.length] =3D baseURLParts[i];
		}
		baseURLParts =3D newBaseURLParts.reverse();

		// Merge relURLParts chunks
		newRelURLParts =3D [];
		numBack =3D 0;
		for (i=3DrelURLParts.length-1; i>=3D0; i--) {
			if (relURLParts[i].length =3D=3D 0 || relURLParts[i] =3D=3D ".")
				continue;

			if (relURLParts[i] =3D=3D '..') {
				numBack++;
				continue;
			}

			if (numBack > 0) {
				numBack--;
				continue;
			}

			newRelURLParts[newRelURLParts.length] =3D relURLParts[i];
		}

		relURLParts =3D newRelURLParts.reverse();

		// Remove end from absolute path
		len =3D baseURLParts.length-numBack;
		absPath =3D (len <=3D 0 ? "" : "/") + baseURLParts.slice(0, =
len).join('/') + "/" + relURLParts.join('/');
		start =3D "";
		end =3D "";

		// Build output URL
		relURL.protocol =3D baseURL.protocol;
		relURL.host =3D baseURL.host;
		relURL.port =3D baseURL.port;

		// Re-add trailing slash if it's removed
		if (relURL.path.charAt(relURL.path.length-1) =3D=3D "/")
			absPath +=3D "/";

		relURL.path =3D absPath;

		return this.serializeURL(relURL);
	},

	convertURL : function(url, node, on_save) {
		var dl =3D document.location, start, portPart, urlParts, baseUrlParts, =
tmpUrlParts, curl;
		var prot =3D dl.protocol, host =3D dl.hostname, port =3D dl.port;

		// Pass through file protocol
		if (prot =3D=3D "file:")
			return url;

		// Something is wrong, remove weirdness
		url =3D tinyMCE.regexpReplace(url, '(http|https):///', '/');

		// Mailto link or anchor (Pass through)
		if (url.indexOf('mailto:') !=3D -1 || url.indexOf('javascript:') !=3D =
-1 || /^[ \t\r\n\+]*[#\?]/.test(url))
			return url;

		// Fix relative/Mozilla
		if (!tinyMCE.isIE && !on_save && url.indexOf("://") =3D=3D -1 && =
url.charAt(0) !=3D '/')
			return tinyMCE.settings.base_href + url;

		// Handle relative URLs
		if (on_save && tinyMCE.getParam('relative_urls')) {
			curl =3D =
tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, url);
			if (curl.charAt(0) =3D=3D '/')
				curl =3D tinyMCE.settings.document_base_prefix + curl;

			urlParts =3D tinyMCE.parseURL(curl);
			tmpUrlParts =3D tinyMCE.parseURL(tinyMCE.settings.document_base_url);

			// Force relative
			if (urlParts.host =3D=3D tmpUrlParts.host && (urlParts.port =3D=3D =
tmpUrlParts.port))
				return =
tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings.document_base_ur=
l, curl);
		}

		// Handle absolute URLs
		if (!tinyMCE.getParam('relative_urls')) {
			urlParts =3D tinyMCE.parseURL(url);
			baseUrlParts =3D tinyMCE.parseURL(tinyMCE.settings.base_href);

			// Force absolute URLs from relative URLs
			url =3D =
tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, url);

			// If anchor and path is the same page
			if (urlParts.anchor && urlParts.path =3D=3D baseUrlParts.path)
				return "#" + urlParts.anchor;
		}

		// Remove current domain
		if (tinyMCE.getParam('remove_script_host')) {
			start =3D "";
			portPart =3D "";

			if (port !=3D=3D '')
				portPart =3D ":" + port;

			start =3D prot + "//" + host + portPart + "/";

			if (url.indexOf(start) =3D=3D 0)
				url =3D url.substring(start.length-1);
		}

		return url;
	},

	convertAllRelativeURLs : function(body) {
		var i, elms, src, href, mhref, msrc;

		// Convert all image URL:s to absolute URL
		elms =3D body.getElementsByTagName("img");
		for (i=3D0; i<elms.length; i++) {
			src =3D tinyMCE.getAttrib(elms[i], 'src');

			msrc =3D tinyMCE.getAttrib(elms[i], 'mce_src');
			if (msrc !=3D=3D '')
				src =3D msrc;

			if (src !=3D=3D '') {
				src =3D =
tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, src);
				elms[i].setAttribute("src", src);
			}
		}

		// Convert all link URL:s to absolute URL
		elms =3D body.getElementsByTagName("a");
		for (i=3D0; i<elms.length; i++) {
			href =3D tinyMCE.getAttrib(elms[i], 'href');

			mhref =3D tinyMCE.getAttrib(elms[i], 'mce_href');
			if (mhref !=3D=3D '')
				href =3D mhref;

			if (href && href !=3D=3D '') {
				href =3D =
tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, href);
				elms[i].setAttribute("href", href);
			}
		}
	}

	});

/* file:jscripts/tiny_mce/classes/TinyMCE_Array.class.js */

tinyMCE.add(TinyMCE_Engine, {
	clearArray : function(a) {
		var n;

		for (n in a)
			a[n] =3D null;

		return a;
	},

	explode : function(d, s) {
		var ar =3D s.split(d), oar =3D [], i;

		for (i =3D 0; i<ar.length; i++) {
			if (ar[i] !=3D=3D '')
				oar[oar.length] =3D ar[i];
		}

		return oar;
	}
});

/* file:jscripts/tiny_mce/classes/TinyMCE_Event.class.js */

tinyMCE.add(TinyMCE_Engine, {
	_setEventsEnabled : function(node, state) {
		var evs, x, y, elms, i, event;
		var events =3D ['onfocus','onblur','onclick','ondblclick',
					'onmousedown','onmouseup','onmouseover','onmousemove',
					'onmouseout','onkeypress','onkeydown','onkeydown','onkeyup'];

		evs =3D tinyMCE.settings.event_elements.split(',');
		for (y=3D0; y<evs.length; y++){
			elms =3D node.getElementsByTagName(evs[y]);
			for (i=3D0; i<elms.length; i++) {
				event =3D "";

				for (x=3D0; x<events.length; x++) {
					if ((event =3D tinyMCE.getAttrib(elms[i], events[x])) !=3D=3D '') {
						event =3D tinyMCE.cleanupEventStr("" + event);

						if (!state)
							event =3D "return true;" + event;
						else
							event =3D event.replace(/^return true;/gi, '');

						elms[i].removeAttribute(events[x]);
						elms[i].setAttribute(events[x], event);
					}
				}
			}
		}
	},

	_eventPatch : function(editor_id) {
		var n, inst, win, e;

		// Remove odd, error
		if (typeof(tinyMCE) =3D=3D "undefined")
			return true;

		try {
			// Try selected instance first
			if (tinyMCE.selectedInstance) {
				win =3D tinyMCE.selectedInstance.getWin();

				if (win && win.event) {
					e =3D win.event;

					if (!e.target)
						e.target =3D e.srcElement;

					TinyMCE_Engine.prototype.handleEvent(e);
					return;
				}
			}

			// Search for it
			for (n in tinyMCE.instances) {
				inst =3D tinyMCE.instances[n];

				if (!tinyMCE.isInstance(inst))
					continue;

				inst.select();
				win =3D inst.getWin();

				if (win && win.event) {
					e =3D win.event;

					if (!e.target)
						e.target =3D e.srcElement;

					TinyMCE_Engine.prototype.handleEvent(e);
					return;
				}
			}
		} catch (ex) {
			// Ignore error if iframe is pointing to external URL
		}
	},

	findEvent : function(e) {
		var n, inst;

		if (e)
			return e;

		for (n in tinyMCE.instances) {
			inst =3D tinyMCE.instances[n];

			if (tinyMCE.isInstance(inst) && inst.getWin().event)
				return inst.getWin().event;
		}

		return null;
	},

	unloadHandler : function() {
		tinyMCE.triggerSave(true, true);
	},

	addEventHandlers : function(inst) {
		this.setEventHandlers(inst, 1);
	},

	setEventHandlers : function(inst, s) {
		var doc =3D inst.getDoc(), ie, ot, i, f =3D s ? tinyMCE.addEvent : =
tinyMCE.removeEvent;

		ie =3D ['keypress', 'keyup', 'keydown', 'click', 'mouseup', =
'mousedown', 'controlselect', 'dblclick'];
		ot =3D ['keypress', 'keyup', 'keydown', 'click', 'mouseup', =
'mousedown', 'focus', 'blur', 'dragdrop'];

		inst.switchSettings();

		if (tinyMCE.isIE) {
			for (i=3D0; i<ie.length; i++)
				f(doc, ie[i], TinyMCE_Engine.prototype._eventPatch);
		} else {
			for (i=3D0; i<ot.length; i++)
				f(doc, ot[i], tinyMCE.handleEvent);

			// Force designmode
			try {
				doc.designMode =3D "On";
			} catch (e) {
				// Ignore
			}
		}
	},

	onMouseMove : function() {
		var inst, lh;

		// Fix for IE7 bug where it's not restoring hover on anchors correctly
		if (tinyMCE.lastHover) {
			lh =3D tinyMCE.lastHover;

			// Call out on menus and refresh class on normal buttons
			if (lh.className.indexOf('mceMenu') !=3D -1)
				tinyMCE._menuButtonEvent('out', lh);
			else
				lh.className =3D lh.className;

			tinyMCE.lastHover =3D null;
		}

		if (!tinyMCE.hasMouseMoved) {
			inst =3D tinyMCE.selectedInstance;

			// Workaround for bug #1437457 (Odd MSIE bug)
			if (inst.isFocused) {
				inst.undoBookmark =3D inst.selection.getBookmark();
				tinyMCE.hasMouseMoved =3D true;
			}
		}

	//	tinyMCE.cancelEvent(inst.getWin().event);
	//	return false;
	},

	cancelEvent : function(e) {
		if (!e)
			return false;

		if (tinyMCE.isIE) {
			e.returnValue =3D false;
			e.cancelBubble =3D true;
		} else {
			e.preventDefault();
			e.stopPropagation && e.stopPropagation();
		}

		return false;
	},

	addEvent : function(o, n, h) {
		// Add cleanup for all non unload events
		if (n !=3D 'unload') {
			function clean() {
				var ex;

				try {
					tinyMCE.removeEvent(o, n, h);
					tinyMCE.removeEvent(window, 'unload', clean);
					o =3D n =3D h =3D null;
				} catch (ex) {
					// IE may produce access denied exception on unload
				}
			}

			// Add memory cleaner
			tinyMCE.addEvent(window, 'unload', clean);
		}

		if (o.attachEvent)
			o.attachEvent("on" + n, h);
		else
			o.addEventListener(n, h, false);
	},

	removeEvent : function(o, n, h) {
		if (o.detachEvent)
			o.detachEvent("on" + n, h);
		else
			o.removeEventListener(n, h, false);
	},

	addSelectAccessibility : function(e, s, w) {
		// Add event handlers=20
		if (!s._isAccessible) {
			s.onkeydown =3D tinyMCE.accessibleEventHandler;
			s.onblur =3D tinyMCE.accessibleEventHandler;
			s._isAccessible =3D true;
			s._win =3D w;
		}

		return false;
	},

	accessibleEventHandler : function(e) {
		var elm, win =3D this._win;

		e =3D tinyMCE.isIE ? win.event : e;
		elm =3D tinyMCE.isIE ? e.srcElement : e.target;

		// Unpiggyback onchange on blur
		if (e.type =3D=3D "blur") {
			if (elm.oldonchange) {
				elm.onchange =3D elm.oldonchange;
				elm.oldonchange =3D null;
			}

			return true;
		}

		// Piggyback onchange
		if (elm.nodeName =3D=3D "SELECT" && !elm.oldonchange) {
			elm.oldonchange =3D elm.onchange;
			elm.onchange =3D null;
		}

		// Execute onchange and remove piggyback
		if (e.keyCode =3D=3D 13 || e.keyCode =3D=3D 32) {
			elm.onchange =3D elm.oldonchange;
			elm.onchange();
			elm.oldonchange =3D null;

			tinyMCE.cancelEvent(e);
			return false;
		}

		return true;
	},

	_resetIframeHeight : function() {
		var ife;

		if (tinyMCE.isRealIE) {
			ife =3D tinyMCE.selectedInstance.iframeElement;

	/*		if (ife._oldWidth) {
				ife.style.width =3D ife._oldWidth;
				ife.width =3D ife._oldWidth;
			}*/

			if (ife._oldHeight) {
				ife.style.height =3D ife._oldHeight;
				ife.height =3D ife._oldHeight;
			}
		}
	}

	});

/* file:jscripts/tiny_mce/classes/TinyMCE_Selection.class.js */

function TinyMCE_Selection(inst) {
	this.instance =3D inst;
};

TinyMCE_Selection.prototype =3D {
	getSelectedHTML : function() {
		var inst =3D this.instance, e, r =3D this.getRng(), h;

		if (!r)
			return null;

		e =3D document.createElement("body");

		if (r.cloneContents)
			e.appendChild(r.cloneContents());
		else if (typeof(r.item) !=3D 'undefined' || typeof(r.htmlText) !=3D =
'undefined')
			e.innerHTML =3D r.item ? r.item(0).outerHTML : r.htmlText;
		else
			e.innerHTML =3D r.toString(); // Failed, use text for now

		h =3D tinyMCE._cleanupHTML(inst, inst.contentDocument, inst.settings, =
e, e, false, true, false);

		// When editing always use fonts internaly
		//if (tinyMCE.getParam("convert_fonts_to_spans"))
		//	tinyMCE.convertSpansToFonts(inst.getDoc());

		return h;
	},

	getSelectedText : function() {
		var inst =3D this.instance, d, r, s, t;

		if (tinyMCE.isIE) {
			d =3D inst.getDoc();

			if (d.selection.type =3D=3D "Text") {
				r =3D d.selection.createRange();
				t =3D r.text;
			} else
				t =3D '';
		} else {
			s =3D this.getSel();

			if (s && s.toString)
				t =3D s.toString();
			else
				t =3D '';
		}

		return t;
	},

	getBookmark : function(simple) {
		var inst =3D this.instance, rng =3D this.getRng(), doc =3D =
inst.getDoc(), b =3D inst.getBody();
		var trng, sx, sy, xx =3D -999999999, vp =3D inst.getViewPort();
		var sp, le, s, e, nl, i, si, ei, w;

		sx =3D vp.left;
		sy =3D vp.top;

		if (simple)
			return {rng : rng, scrollX : sx, scrollY : sy};

		if (tinyMCE.isRealIE) {
			if (rng.item) {
				e =3D rng.item(0);

				nl =3D b.getElementsByTagName(e.nodeName);
				for (i=3D0; i<nl.length; i++) {
					if (e =3D=3D nl[i]) {
						sp =3D i;
						break;
					}
				}

				return {
					tag : e.nodeName,
					index : sp,
					scrollX : sx,
					scrollY : sy
				};
			} else {
				trng =3D doc.body.createTextRange();
				trng.moveToElementText(inst.getBody());
				trng.collapse(true);
				bp =3D Math.abs(trng.move('character', xx));

				trng =3D rng.duplicate();
				trng.collapse(true);
				sp =3D Math.abs(trng.move('character', xx));

				trng =3D rng.duplicate();
				trng.collapse(false);
				le =3D Math.abs(trng.move('character', xx)) - sp;

				return {
					start : sp - bp,
					length : le,
					scrollX : sx,
					scrollY : sy
				};
			}
		} else {
			s =3D this.getSel();
			e =3D this.getFocusElement();

			if (!s)
				return null;

			if (e && e.nodeName =3D=3D 'IMG') {
				/*nl =3D b.getElementsByTagName('IMG');
				for (i=3D0; i<nl.length; i++) {
					if (e =3D=3D nl[i]) {
						sp =3D i;
						break;
					}
				}*/

				return {
					start : -1,
					end : -1,
					index : sp,
					scrollX : sx,
					scrollY : sy
				};
			}

			// Caret or selection
			if (s.anchorNode =3D=3D s.focusNode && s.anchorOffset =3D=3D =
s.focusOffset) {
				e =3D this._getPosText(b, s.anchorNode, s.focusNode);

				if (!e)
					return {scrollX : sx, scrollY : sy};

				return {
					start : e.start + s.anchorOffset,
					end : e.end + s.focusOffset,
					scrollX : sx,
					scrollY : sy
				};
			} else {
				e =3D this._getPosText(b, rng.startContainer, rng.endContainer);

				if (!e)
					return {scrollX : sx, scrollY : sy};

				return {
					start : e.start + rng.startOffset,
					end : e.end + rng.endOffset,
					scrollX : sx,
					scrollY : sy
				};
			}
		}

		return null;
	},

	moveToBookmark : function(bookmark) {
		var inst =3D this.instance, rng, nl, i, ex, b =3D inst.getBody(), sd;
		var doc =3D inst.getDoc(), win =3D inst.getWin(), sel =3D =
this.getSel();

		if (!bookmark)
			return false;

		if (tinyMCE.isSafari && bookmark.rng) {
			sel.setBaseAndExtent(bookmark.rng.startContainer, =
bookmark.rng.startOffset, bookmark.rng.endContainer, =
bookmark.rng.endOffset);
			return true;
		}

		if (tinyMCE.isRealIE) {
			if (bookmark.rng) {
				try {
					bookmark.rng.select();
				} catch (ex) {
					// Ignore
				}

				return true;
			}

			win.focus();

			if (bookmark.tag) {
				rng =3D b.createControlRange();

				nl =3D b.getElementsByTagName(bookmark.tag);

				if (nl.length > bookmark.index) {
					try {
						rng.addElement(nl[bookmark.index]);
					} catch (ex) {
						// Might be thrown if the node no longer exists
					}
				}
			} else {
				// Try/catch needed since this operation breaks when TinyMCE is =
placed in hidden divs/tabs
				try {
					// Incorrect bookmark
					if (bookmark.start < 0)
						return true;

					rng =3D inst.getSel().createRange();
					rng.moveToElementText(inst.getBody());
					rng.collapse(true);
					rng.moveStart('character', bookmark.start);
					rng.moveEnd('character', bookmark.length);
				} catch (ex) {
					return true;
				}
			}

			rng.select();

			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
			return true;
		}

		if (tinyMCE.isGecko || tinyMCE.isOpera) {
			if (!sel)
				return false;

			if (bookmark.rng) {
				sel.removeAllRanges();
				sel.addRange(bookmark.rng);
			}

			if (bookmark.start !=3D -1 && bookmark.end !=3D -1) {
				try {
					sd =3D this._getTextPos(b, bookmark.start, bookmark.end);
					rng =3D doc.createRange();
					rng.setStart(sd.startNode, sd.startOffset);
					rng.setEnd(sd.endNode, sd.endOffset);
					sel.removeAllRanges();
					sel.addRange(rng);

					if (!tinyMCE.isOpera)
						win.focus();
				} catch (ex) {
					// Ignore
				}
			}

			/*
			if (typeof(bookmark.index) !=3D 'undefined') {
				tinyMCE.selectElements(b, 'IMG', function (n) {
					if (bookmark.index-- =3D=3D 0) {
						// Select image in Gecko here
					}

					return false;
				});
			}
			*/

			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
			return true;
		}

		return false;
	},

	_getPosText : function(r, sn, en) {
		var w =3D document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, =
false), n, p =3D 0, d =3D {};

		while ((n =3D w.nextNode()) !=3D null) {
			if (n =3D=3D sn)
				d.start =3D p;

			if (n =3D=3D en) {
				d.end =3D p;
				return d;
			}

			p +=3D n.nodeValue ? n.nodeValue.length : 0;
		}

		return null;
	},

	_getTextPos : function(r, sp, ep) {
		var w =3D document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, =
false), n, p =3D 0, d =3D {};

		while ((n =3D w.nextNode()) !=3D null) {
			p +=3D n.nodeValue ? n.nodeValue.length : 0;

			if (p >=3D sp && !d.startNode) {
				d.startNode =3D n;
				d.startOffset =3D sp - (p - n.nodeValue.length);
			}

			if (p >=3D ep) {
				d.endNode =3D n;
				d.endOffset =3D ep - (p - n.nodeValue.length);

				return d;
			}
		}

		return null;
	},

	selectNode : function(node, collapse, select_text_node, to_start) {
		var inst =3D this.instance, sel, rng, nodes;

		if (!node)
			return;

		if (typeof(collapse) =3D=3D "undefined")
			collapse =3D true;

		if (typeof(select_text_node) =3D=3D "undefined")
			select_text_node =3D false;

		if (typeof(to_start) =3D=3D "undefined")
			to_start =3D true;

		if (inst.settings.auto_resize)
			inst.resizeToContent();

		if (tinyMCE.isRealIE) {
			rng =3D inst.getDoc().body.createTextRange();

			try {
				rng.moveToElementText(node);

				if (collapse)
					rng.collapse(to_start);

				rng.select();
			} catch (e) {
				// Throws illigal agrument in MSIE some times
			}
		} else {
			sel =3D this.getSel();

			if (!sel)
				return;

			if (tinyMCE.isSafari) {
				sel.setBaseAndExtent(node, 0, node, node.innerText.length);

				if (collapse) {
					if (to_start)
						sel.collapseToStart();
					else
						sel.collapseToEnd();
				}

				this.scrollToNode(node);

				return;
			}

			rng =3D inst.getDoc().createRange();

			if (select_text_node) {
				// Find first textnode in tree
				nodes =3D tinyMCE.getNodeTree(node, [], 3);
				if (nodes.length > 0)
					rng.selectNodeContents(nodes[0]);
				else
					rng.selectNodeContents(node);
			} else
				rng.selectNode(node);

			if (collapse) {
				// Special treatment of textnode collapse
				if (!to_start && node.nodeType =3D=3D 3) {
					rng.setStart(node, node.nodeValue.length);
					rng.setEnd(node, node.nodeValue.length);
				} else
					rng.collapse(to_start);
			}

			sel.removeAllRanges();
			sel.addRange(rng);
		}

		this.scrollToNode(node);

		// Set selected element
		tinyMCE.selectedElement =3D null;
		if (node.nodeType =3D=3D 1)
			tinyMCE.selectedElement =3D node;
	},

	scrollToNode : function(node) {
		var inst =3D this.instance, w =3D inst.getWin(), vp =3D =
inst.getViewPort(), pos =3D tinyMCE.getAbsPosition(node), cvp, p, cwin;

		// Only scroll if out of visible area
		if (pos.absLeft < vp.left || pos.absLeft > vp.left + vp.width || =
pos.absTop < vp.top || pos.absTop > vp.top + (vp.height-25))
			w.scrollTo(pos.absLeft, pos.absTop - vp.height + 25);

		// Scroll container window
		if (inst.settings.auto_resize) {
			cwin =3D inst.getContainerWin();
			cvp =3D tinyMCE.getViewPort(cwin);
			p =3D this.getAbsPosition(node);

			if (p.absLeft < cvp.left || p.absLeft > cvp.left + cvp.width || =
p.absTop < cvp.top || p.absTop > cvp.top + cvp.height)
				cwin.scrollTo(p.absLeft, p.absTop - cvp.height + 25);
		}
	},

	getAbsPosition : function(n) {
		var pos =3D tinyMCE.getAbsPosition(n), ipos =3D =
tinyMCE.getAbsPosition(this.instance.iframeElement);

		return {
			absLeft : ipos.absLeft + pos.absLeft,
			absTop : ipos.absTop + pos.absTop
		};
	},

	getSel : function() {
		var inst =3D this.instance;

		if (tinyMCE.isRealIE)
			return inst.getDoc().selection;

		return inst.contentWindow.getSelection();
	},

	getRng : function() {
		var s =3D this.getSel();

		if (s =3D=3D null)
			return null;

		if (tinyMCE.isRealIE)
			return s.createRange();

		if (tinyMCE.isSafari && !s.getRangeAt)
			return '' + window.getSelection();

		if (s.rangeCount > 0)
			return s.getRangeAt(0);

		return null;
	},

	isCollapsed : function() {
		var r =3D this.getRng();

		if (r.item)
			return false;

		return r.boundingWidth =3D=3D 0 || this.getSel().isCollapsed;
	},

	collapse : function(b) {
		var r =3D this.getRng(), s =3D this.getSel();

		if (r.select) {
			r.collapse(b);
			r.select();
		} else {
			if (b)
				s.collapseToStart();
			else
				s.collapseToEnd();
		}
	},

	getFocusElement : function() {
		var inst =3D this.instance, doc, rng, sel, elm;

		if (tinyMCE.isRealIE) {
			doc =3D inst.getDoc();
			rng =3D doc.selection.createRange();

	//		if (rng.collapse)
	//			rng.collapse(true);

			elm =3D rng.item ? rng.item(0) : rng.parentElement();
		} else {
			if (!tinyMCE.isSafari && inst.isHidden())
				return inst.getBody();

			sel =3D this.getSel();
			rng =3D this.getRng();

			if (!sel || !rng)
				return null;

			elm =3D rng.commonAncestorContainer;
			//elm =3D (sel && sel.anchorNode) ? sel.anchorNode : null;

			// Handle selection a image or other control like element such as =
anchors
			if (!rng.collapsed) {
				// Is selection small
				if (rng.startContainer =3D=3D rng.endContainer) {
					if (rng.startOffset - rng.endOffset < 2) {
						if (rng.startContainer.hasChildNodes())
							elm =3D rng.startContainer.childNodes[rng.startOffset];
					}
				}
			}

			// Get the element parent of the node
			elm =3D tinyMCE.getParentElement(elm);

			//if (tinyMCE.selectedElement !=3D null && =
tinyMCE.selectedElement.nodeName.toLowerCase() =3D=3D "img")
			//	elm =3D tinyMCE.selectedElement;
		}

		return elm;
	}

	};

/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */

function TinyMCE_UndoRedo(inst) {
	this.instance =3D inst;
	this.undoLevels =3D [];
	this.undoIndex =3D 0;
	this.typingUndoIndex =3D -1;
	this.undoRedo =3D true;
};

TinyMCE_UndoRedo.prototype =3D {
	add : function(l) {
		var b, customUndoLevels, newHTML, inst =3D this.instance, i, ul, ur;

		if (l) {
			this.undoLevels[this.undoLevels.length] =3D l;
			return true;
		}

		if (this.typingUndoIndex !=3D -1) {
			this.undoIndex =3D this.typingUndoIndex;

			if (tinyMCE.typingUndoIndex !=3D -1)
				tinyMCE.undoIndex =3D tinyMCE.typingUndoIndex;
		}

		newHTML =3D tinyMCE.trim(inst.getBody().innerHTML);
		if (this.undoLevels[this.undoIndex] && newHTML !=3D =
this.undoLevels[this.undoIndex].content) {
			//tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex].content);

			// Is dirty again
			inst.isNotDirty =3D false;

			tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', =
inst);

			// Time to compress
			customUndoLevels =3D tinyMCE.settings.custom_undo_redo_levels;
			if (customUndoLevels !=3D -1 && this.undoLevels.length > =
customUndoLevels) {
				for (i=3D0; i<this.undoLevels.length-1; i++)
					this.undoLevels[i] =3D this.undoLevels[i+1];

				this.undoLevels.length--;
				this.undoIndex--;

				// Todo: Implement global undo/redo logic here
			}

			b =3D inst.undoBookmark;

			if (!b)
				b =3D inst.selection.getBookmark();

			this.undoIndex++;
			this.undoLevels[this.undoIndex] =3D {
				content : newHTML,
				bookmark : b
			};

			// Remove all above from global undo/redo
			ul =3D tinyMCE.undoLevels;
			for (i=3DtinyMCE.undoIndex + 1; i<ul.length; i++) {
				ur =3D ul[i].undoRedo;

				if (ur.undoIndex =3D=3D ur.undoLevels.length -1)
					ur.undoIndex--;

				ur.undoLevels.length--;
			}

			// Add global undo level
			tinyMCE.undoLevels[tinyMCE.undoIndex++] =3D inst;
			tinyMCE.undoLevels.length =3D tinyMCE.undoIndex;

			this.undoLevels.length =3D this.undoIndex + 1;

			return true;
		}

		return false;
	},

	undo : function() {
		var inst =3D this.instance;

		// Do undo
		if (this.undoIndex > 0) {
			this.undoIndex--;

			tinyMCE.setInnerHTML(inst.getBody(), =
this.undoLevels[this.undoIndex].content);
			inst.repaint();

			if (inst.settings.custom_undo_redo_restore_selection)
				=
inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
		}
	},

	redo : function() {
		var inst =3D this.instance;

		tinyMCE.execCommand("mceEndTyping");

		if (this.undoIndex < (this.undoLevels.length-1)) {
			this.undoIndex++;

			tinyMCE.setInnerHTML(inst.getBody(), =
this.undoLevels[this.undoIndex].content);
			inst.repaint();

			if (inst.settings.custom_undo_redo_restore_selection)
				=
inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
		}

		tinyMCE.triggerNodeChange();
	}

	};

/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */

var TinyMCE_ForceParagraphs =3D {
	_insertPara : function(inst, e) {
		var doc =3D inst.getDoc(), sel =3D inst.getSel(), body =3D =
inst.getBody(), win =3D inst.contentWindow, rng =3D sel.getRangeAt(0);
		var rootElm =3D doc.documentElement, blockName =3D "P", startNode, =
endNode, startBlock, endBlock;
		var rngBefore, rngAfter, direct, startNode, startOffset, endNode, =
endOffset, b =3D tinyMCE.isOpera ? inst.selection.getBookmark() : null;
		var paraBefore, paraAfter, startChop, endChop, contents, i;

		function isEmpty(para) {
			var nodes;

			function isEmptyHTML(html) {
				return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() =
=3D=3D '';
			}

			// Check for images
			if (para.getElementsByTagName("img").length > 0)
				return false;

			// Check for tables
			if (para.getElementsByTagName("table").length > 0)
				return false;

			// Check for HRs
			if (para.getElementsByTagName("hr").length > 0)
				return false;

			// Check all textnodes
			nodes =3D tinyMCE.getNodeTree(para, [], 3);
			for (i=3D0; i<nodes.length; i++) {
				if (!isEmptyHTML(nodes[i].nodeValue))
					return false;
			}

			// No images, no tables, no hrs, no text content then it's empty
			return true;
		}

	//	tinyMCE.debug(body.innerHTML);

	//	debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, =
rng.startContainer, rng.endContainer, rng.commonAncestorContainer, =
sel.anchorOffset, sel.focusOffset, rng.toString());

		// Setup before range
		rngBefore =3D doc.createRange();
		rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
		rngBefore.collapse(true);

		// Setup after range
		rngAfter =3D doc.createRange();
		rngAfter.setStart(sel.focusNode, sel.focusOffset);
		rngAfter.collapse(true);

		// Setup start/end points
		direct =3D rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, =
rngAfter) < 0;
		startNode =3D direct ? sel.anchorNode : sel.focusNode;
		startOffset =3D direct ? sel.anchorOffset : sel.focusOffset;
		endNode =3D direct ? sel.focusNode : sel.anchorNode;
		endOffset =3D direct ? sel.focusOffset : sel.anchorOffset;

		startNode =3D startNode.nodeName =3D=3D "HTML" ? doc.body : startNode; =
// Fix for Opera bug: =
https://bugs.opera.com/show_bug.cgi?id=3D273224&comments=3Dyes
		startNode =3D startNode.nodeName =3D=3D "BODY" ? startNode.firstChild =
: startNode;
		endNode =3D endNode.nodeName =3D=3D "BODY" ? endNode.firstChild : =
endNode;

		// Get block elements
		startBlock =3D inst.getParentBlockElement(startNode);
		endBlock =3D inst.getParentBlockElement(endNode);

		// If absolute force paragraph generation within
		if (startBlock && (startBlock.nodeName =3D=3D 'CAPTION' || =
/absolute|relative|static/gi.test(startBlock.style.position)))
			startBlock =3D null;

		if (endBlock && (endBlock.nodeName =3D=3D 'CAPTION' || =
/absolute|relative|static/gi.test(endBlock.style.position)))
			endBlock =3D null;

		// Use current block name
		if (startBlock !=3D null) {
			blockName =3D startBlock.nodeName;

			// Use P instead
			if (/(TD|TABLE|TH|CAPTION)/.test(blockName) || (blockName =3D=3D =
"DIV" && /left|right/gi.test(startBlock.style.cssFloat)))
				blockName =3D "P";
		}

		// Within a list use normal behaviour
		if (tinyMCE.getParentElement(startBlock, "OL,UL", null, body) !=3D =
null)
			return false;

		// Within a table create new paragraphs
		if ((startBlock !=3D null && startBlock.nodeName =3D=3D "TABLE") || =
(endBlock !=3D null && endBlock.nodeName =3D=3D "TABLE"))
			startBlock =3D endBlock =3D null;

		// Setup new paragraphs
		paraBefore =3D (startBlock !=3D null && startBlock.nodeName =3D=3D =
blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
		paraAfter =3D (endBlock !=3D null && endBlock.nodeName =3D=3D =
blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);

		// Is header, then force paragraph under
		if (/^(H[1-6])$/.test(blockName))
			paraAfter =3D doc.createElement("p");

		// Setup chop nodes
		startChop =3D startNode;
		endChop =3D endNode;

		// Get startChop node
		node =3D startChop;
		do {
			if (node =3D=3D body || node.nodeType =3D=3D 9 || =
tinyMCE.isBlockElement(node))
				break;

			startChop =3D node;
		} while ((node =3D node.previousSibling ? node.previousSibling : =
node.parentNode));

		// Get endChop node
		node =3D endChop;
		do {
			if (node =3D=3D body || node.nodeType =3D=3D 9 || =
tinyMCE.isBlockElement(node))
				break;

			endChop =3D node;
		} while ((node =3D node.nextSibling ? node.nextSibling : =
node.parentNode));

		// Fix when only a image is within the TD
		if (startChop.nodeName =3D=3D "TD")
			startChop =3D startChop.firstChild;

		if (endChop.nodeName =3D=3D "TD")
			endChop =3D endChop.lastChild;

		// If not in a block element
		if (startBlock =3D=3D null) {
			// Delete selection
			rng.deleteContents();

			if (!tinyMCE.isSafari)
				sel.removeAllRanges();

			if (startChop !=3D rootElm && endChop !=3D rootElm) {
				// Insert paragraph before
				rngBefore =3D rng.cloneRange();

				if (startChop =3D=3D body)
					rngBefore.setStart(startChop, 0);
				else
					rngBefore.setStartBefore(startChop);

				paraBefore.appendChild(rngBefore.cloneContents());

				// Insert paragraph after
				if (endChop.parentNode.nodeName =3D=3D blockName)
					endChop =3D endChop.parentNode;

				// If not after image
				//if (rng.startContainer.nodeName !=3D "BODY" && =
rng.endContainer.nodeName !=3D "BODY")
					rng.setEndAfter(endChop);

				if (endChop.nodeName !=3D "#text" && endChop.nodeName !=3D "BODY")
					rngBefore.setEndAfter(endChop);

				contents =3D rng.cloneContents();
				if (contents.firstChild && (contents.firstChild.nodeName =3D=3D =
blockName || contents.firstChild.nodeName =3D=3D "BODY"))
					paraAfter.innerHTML =3D contents.firstChild.innerHTML;
				else
					paraAfter.appendChild(contents);

				// Check if it's a empty paragraph
				if (isEmpty(paraBefore))
					paraBefore.innerHTML =3D "&nbsp;";

				// Check if it's a empty paragraph
				if (isEmpty(paraAfter))
					paraAfter.innerHTML =3D "&nbsp;";

				// Delete old contents
				rng.deleteContents();
				rngAfter.deleteContents();
				rngBefore.deleteContents();

				// Insert new paragraphs
				if (tinyMCE.isOpera) {
					paraBefore.normalize();
					rngBefore.insertNode(paraBefore);
					paraAfter.normalize();
					rngBefore.insertNode(paraAfter);
				} else {
					paraAfter.normalize();
					rngBefore.insertNode(paraAfter);
					paraBefore.normalize();
					rngBefore.insertNode(paraBefore);
				}

				//tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);
			} else {
				body.innerHTML =3D "<" + blockName + ">&nbsp;</" + blockName + "><" =
+ blockName + ">&nbsp;</" + blockName + ">";
				paraAfter =3D body.childNodes[1];
			}

			inst.selection.moveToBookmark(b);
			inst.selection.selectNode(paraAfter, true, true);

			return true;
		}

		// Place first part within new paragraph
		if (startChop.nodeName =3D=3D blockName)
			rngBefore.setStart(startChop, 0);
		else
			rngBefore.setStartBefore(startChop);

		rngBefore.setEnd(startNode, startOffset);
		paraBefore.appendChild(rngBefore.cloneContents());

		// Place secound part within new paragraph
		rngAfter.setEndAfter(endChop);
		rngAfter.setStart(endNode, endOffset);
		contents =3D rngAfter.cloneContents();

		if (contents.firstChild && contents.firstChild.nodeName =3D=3D =
blockName) {
	/*		var nodes =3D contents.firstChild.childNodes;
			for (i=3D0; i<nodes.length; i++) {
				//tinyMCE.debug(nodes[i].nodeName);
				if (nodes[i].nodeName !=3D "BODY")
					paraAfter.appendChild(nodes[i]);
			}
	*/
			paraAfter.innerHTML =3D contents.firstChild.innerHTML;
		} else
			paraAfter.appendChild(contents);

		// Check if it's a empty paragraph
		if (isEmpty(paraBefore))
			paraBefore.innerHTML =3D "&nbsp;";

		// Check if it's a empty paragraph
		if (isEmpty(paraAfter))
			paraAfter.innerHTML =3D "&nbsp;";

		// Create a range around everything
		rng =3D doc.createRange();

		if (!startChop.previousSibling && =
startChop.parentNode.nodeName.toUpperCase() =3D=3D blockName) {
			rng.setStartBefore(startChop.parentNode);
		} else {
			if (rngBefore.startContainer.nodeName.toUpperCase() =3D=3D blockName =
&& rngBefore.startOffset =3D=3D 0)
				rng.setStartBefore(rngBefore.startContainer);
			else
				rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
		}

		if (!endChop.nextSibling && endChop.parentNode.nodeName.toUpperCase() =
=3D=3D blockName)
			rng.setEndAfter(endChop.parentNode);
		else
			rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);

		// Delete all contents and insert new paragraphs
		rng.deleteContents();

		if (tinyMCE.isOpera) {
			rng.insertNode(paraBefore);
			rng.insertNode(paraAfter);
		} else {
			rng.insertNode(paraAfter);
			rng.insertNode(paraBefore);
		}

		//tinyMCE.debug("2", paraBefore.innerHTML, paraAfter.innerHTML);

		// Normalize
		paraAfter.normalize();
		paraBefore.normalize();

		inst.selection.moveToBookmark(b);
		inst.selection.selectNode(paraAfter, true, true);

		return true;
	},

	_handleBackSpace : function(inst) {
		var r =3D inst.getRng(), sn =3D r.startContainer, nv, s =3D false;

		// Added body check for bug #1527787
		if (sn && sn.nextSibling && sn.nextSibling.nodeName =3D=3D "BR" && =
sn.parentNode.nodeName !=3D "BODY") {
			nv =3D sn.nodeValue;

			// Handle if a backspace is pressed after a space character #bug =
1466054 removed since fix for #1527787
			/*if (nv !=3D null && nv.length >=3D r.startOffset && =
nv.charAt(r.startOffset - 1) =3D=3D ' ')
				s =3D true;*/

			// Only remove BRs if we are at the end of line #bug 1464152
			if (nv !=3D null && r.startOffset =3D=3D nv.length)
				sn.nextSibling.parentNode.removeChild(sn.nextSibling);
		}

		if (inst.settings.auto_resize)
			inst.resizeToContent();

		return s;
	}

	};

/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */

function TinyMCE_Layer(id, bm) {
	this.id =3D id;
	this.blockerElement =3D null;
	this.events =3D false;
	this.element =3D null;
	this.blockMode =3D typeof(bm) !=3D 'undefined' ? bm : true;
	this.doc =3D document;
};

TinyMCE_Layer.prototype =3D {
	moveRelativeTo : function(re, p) {
		var rep =3D this.getAbsPosition(re), e =3D this.getElement(), x, y;
		var w =3D parseInt(re.offsetWidth), h =3D parseInt(re.offsetHeight);
		var ew =3D parseInt(e.offsetWidth), eh =3D parseInt(e.offsetHeight);

		switch (p) {
			case "tl":
				x =3D rep.absLeft;
				y =3D rep.absTop;
				break;

			case "tr":
				x =3D rep.absLeft + w;
				y =3D rep.absTop;
				break;

			case "bl":
				x =3D rep.absLeft;
				y =3D rep.absTop + h;
				break;

			case "br":
				x =3D rep.absLeft + w;
				y =3D rep.absTop + h;
				break;

			case "cc":
				x =3D rep.absLeft + (w / 2) - (ew / 2);
				y =3D rep.absTop + (h / 2) - (eh / 2);
				break;
		}

		this.moveTo(x, y);
	},

	moveBy : function(x, y) {
		var e =3D this.getElement();
		this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y);
	},

	moveTo : function(x, y) {
		var e =3D this.getElement();

		e.style.left =3D x + "px";
		e.style.top =3D y + "px";

		this.updateBlocker();
	},

	resizeBy : function(w, h) {
		var e =3D this.getElement();
		this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + =
h);
	},

	resizeTo : function(w, h) {
		var e =3D this.getElement();

		if (w !=3D null)
			e.style.width =3D w + "px";

		if (h !=3D null)
			e.style.height =3D h + "px";

		this.updateBlocker();
	},

	show : function() {
		var el =3D this.getElement();

		if (el) {
			el.style.display =3D 'block';
			this.updateBlocker();
		}
	},

	hide : function() {
		var el =3D this.getElement();

		if (el) {
			el.style.display =3D 'none';
			this.updateBlocker();
		}
	},

	isVisible : function() {
		return this.getElement().style.display =3D=3D 'block';
	},

	getElement : function() {
		if (!this.element)
			this.element =3D this.doc.getElementById(this.id);

		return this.element;
	},

	setBlockMode : function(s) {
		this.blockMode =3D s;
	},

	updateBlocker : function() {
		var e, b, x, y, w, h;

		b =3D this.getBlocker();
		if (b) {
			if (this.blockMode) {
				e =3D this.getElement();
				x =3D this.parseInt(e.style.left);
				y =3D this.parseInt(e.style.top);
				w =3D this.parseInt(e.offsetWidth);
				h =3D this.parseInt(e.offsetHeight);

				b.style.left =3D x + 'px';
				b.style.top =3D y + 'px';
				b.style.width =3D w + 'px';
				b.style.height =3D h + 'px';
				b.style.display =3D e.style.display;
			} else
				b.style.display =3D 'none';
		}
	},

	getBlocker : function() {
		var d, b;

		if (!this.blockerElement && this.blockMode) {
			d =3D this.doc;
			b =3D d.getElementById(this.id + "_blocker");

			if (!b) {
				b =3D d.createElement("iframe");

				b.setAttribute('id', this.id + "_blocker");
				b.style.cssText =3D 'display: none; position: absolute; left: 0; =
top: 0';
				b.src =3D 'javascript:false;';
				b.frameBorder =3D '0';
				b.scrolling =3D 'no';
=09
				d.body.appendChild(b);
			}

			this.blockerElement =3D b;
		}

		return this.blockerElement;
	},

	getAbsPosition : function(n) {
		var p =3D {absLeft : 0, absTop : 0};

		while (n) {
			p.absLeft +=3D n.offsetLeft;
			p.absTop +=3D n.offsetTop;
			n =3D n.offsetParent;
		}

		return p;
	},

	create : function(n, c, p, h) {
		var d =3D this.doc, e =3D d.createElement(n);

		e.setAttribute('id', this.id);

		if (c)
			e.className =3D c;

		if (!p)
			p =3D d.body;

		if (h)
			e.innerHTML =3D h;

		p.appendChild(e);

		return this.element =3D e;
	},

	exists : function() {
		return this.doc.getElementById(this.id) !=3D null;
	},

	parseInt : function(s) {
		if (s =3D=3D null || s =3D=3D '')
			return 0;

		return parseInt(s);
	},

	remove : function() {
		var e =3D this.getElement(), b =3D this.getBlocker();

		if (e)
			e.parentNode.removeChild(e);

		if (b)
			b.parentNode.removeChild(b);
	}

	};

/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */

function TinyMCE_Menu() {
	var id;

	if (typeof(tinyMCE.menuCounter) =3D=3D "undefined")
		tinyMCE.menuCounter =3D 0;

	id =3D "mc_menu_" + tinyMCE.menuCounter++;

	TinyMCE_Layer.call(this, id, true);

	this.id =3D id;
	this.items =3D [];
	this.needsUpdate =3D true;
};

TinyMCE_Menu.prototype =3D tinyMCE.extend(TinyMCE_Layer.prototype, {
	init : function(s) {
		var n;

		// Default params
		this.settings =3D {
			separator_class : 'mceMenuSeparator',
			title_class : 'mceMenuTitle',
			disabled_class : 'mceMenuDisabled',
			menu_class : 'mceMenu',
			drop_menu : true
		};

		for (n in s)
			this.settings[n] =3D s[n];

		this.create('div', this.settings.menu_class);
	},

	clear : function() {
		this.items =3D [];
	},

	addTitle : function(t) {
		this.add({type : 'title', text : t});
	},

	addDisabled : function(t) {
		this.add({type : 'disabled', text : t});
	},

	addSeparator : function() {
		this.add({type : 'separator'});
	},

	addItem : function(t, js) {
		this.add({text : t, js : js});
	},

	add : function(mi) {
		this.items[this.items.length] =3D mi;
		this.needsUpdate =3D true;
	},

	update : function() {
		var e =3D this.getElement(), h =3D '', i, t, m =3D this.items, s =3D =
this.settings;

		if (this.settings.drop_menu)
			h +=3D '<span class=3D"mceMenuLine"></span>';

		h +=3D '<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0">';

		for (i=3D0; i<m.length; i++) {
			t =3D tinyMCE.xmlEncode(m[i].text);
			c =3D m[i].class_name ? ' class=3D"' + m[i].class_name + '"' : '';

			switch (m[i].type) {
				case 'separator':
					h +=3D '<tr class=3D"' + s.separator_class + '"><td>';
					break;

				case 'title':
					h +=3D '<tr class=3D"' + s.title_class + '"><td><span' + c +'>' + t =
+ '</span>';
					break;

				case 'disabled':
					h +=3D '<tr class=3D"' + s.disabled_class + '"><td><span' + c +'>' =
+ t + '</span>';
					break;

				default:
					h +=3D '<tr><td><a href=3D"' + tinyMCE.xmlEncode(m[i].js) + '" =
onmousedown=3D"' + tinyMCE.xmlEncode(m[i].js) + ';return =
tinyMCE.cancelEvent(event);" onclick=3D"return =
tinyMCE.cancelEvent(event);" onmouseup=3D"return =
tinyMCE.cancelEvent(event);"><span' + c +'>' + t + '</span></a>';
			}

			h +=3D '</td></tr>';
		}

		h +=3D '</table>';

		e.innerHTML =3D h;

		this.needsUpdate =3D false;
		this.updateBlocker();
	},

	show : function() {
		var nl, i;

		if (tinyMCE.lastMenu =3D=3D this)
			return;

		if (this.needsUpdate)
			this.update();

		if (tinyMCE.lastMenu && tinyMCE.lastMenu !=3D this)
			tinyMCE.lastMenu.hide();

		TinyMCE_Layer.prototype.show.call(this);

		if (!tinyMCE.isOpera) {
			// Accessibility stuff
/*			nl =3D this.getElement().getElementsByTagName("a");
			if (nl.length > 0)
				nl[0].focus();*/
		}

		tinyMCE.lastMenu =3D this;
	}

	});

/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */

tinyMCE.add(TinyMCE_Engine, {
	debug : function() {
		var m =3D "", a, i, l =3D tinyMCE.log.length;

		for (i=3D0, a =3D this.debug.arguments; i<a.length; i++) {
			m +=3D a[i];

			if (i<a.length-1)
				m +=3D ', ';
		}

		if (l < 1000)
			tinyMCE.log[l] =3D "[debug] " + m;
	}

	});


------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/yahoo-dom-event.js

/*=0A=
Copyright (c) 2008, Yahoo! Inc. All rights reserved.=0A=
Code licensed under the BSD License:=0A=
http://developer.yahoo.net/yui/license.txt=0A=
version: 2.5.2=0A=
*/=0A=
if(typeof YAHOO=3D=3D"undefined"||!YAHOO){var =
YAHOO=3D{};}YAHOO.namespace=3Dfunction(){var =
A=3Darguments,E=3Dnull,C,B,D;for(C=3D0;C<A.length;C=3DC+1){D=3DA[C].split=
(".");E=3DYAHOO;for(B=3D(D[0]=3D=3D"YAHOO")?1:0;B<D.length;B=3DB+1){E[D[B=
]]=3DE[D[B]]||{};E=3DE[D[B]];}}return =
E;};YAHOO.log=3Dfunction(D,A,C){var =
B=3DYAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return =
false;}};YAHOO.register=3Dfunction(A,E,D){var =
I=3DYAHOO.env.modules;if(!I[A]){I[A]=3D{versions:[],builds:[]};}var =
B=3DI[A],H=3DD.version,G=3DD.build,F=3DYAHOO.env.listeners;B.name=3DA;B.v=
ersion=3DH;B.build=3DG;B.versions.push(H);B.builds.push(G);B.mainClass=3D=
E;for(var =
C=3D0;C<F.length;C=3DC+1){F[C](B);}if(E){E.VERSION=3DH;E.BUILD=3DG;}else{=
YAHOO.log("mainClass is undefined for module =
"+A,"warn");}};YAHOO.env=3DYAHOO.env||{modules:[],listeners:[]};YAHOO.env=
.getVersion=3Dfunction(A){return =
YAHOO.env.modules[A]||null;};YAHOO.env.ua=3Dfunction(){var =
C=3D{ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var =
B=3Dnavigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=3D1;}A=3DB.match=
(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=3DparseFloat(A[1]);if(/ =
Mobile\//.test(B)){C.mobile=3D"Apple";}else{A=3DB.match(/NokiaN[^\/]*/);i=
f(A){C.mobile=3DA[0];}}A=3DB.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=3DA[=
0];}}if(!C.webkit){A=3DB.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=
=3DparseFloat(A[1]);A=3DB.match(/Opera =
Mini[^;]*/);if(A){C.mobile=3DA[0];}}else{A=3DB.match(/MSIE\s([^;]*)/);if(=
A&&A[1]){C.ie=3DparseFloat(A[1]);}else{A=3DB.match(/Gecko\/([^\s]*)/);if(=
A){C.gecko=3D1;A=3DB.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=3DparseFl=
oat(A[1]);}}}}}return =
C;}();(function(){YAHOO.namespace("util","widget","example");if("undefine=
d"!=3D=3Dtypeof YAHOO_config){var =
B=3DYAHOO_config.listener,A=3DYAHOO.env.listeners,D=3Dtrue,C;if(B){for(C=3D=
0;C<A.length;C=3DC+1){if(A[C]=3D=3DB){D=3Dfalse;break;}}if(D){A.push(B);}=
}}})();YAHOO.lang=3DYAHOO.lang||{};(function(){var =
A=3DYAHOO.lang,C=3D["toString","valueOf"],B=3D{isArray:function(D){if(D){=
return A.isNumber(D.length)&&A.isFunction(D.splice);}return =
false;},isBoolean:function(D){return typeof =
D=3D=3D=3D"boolean";},isFunction:function(D){return typeof =
D=3D=3D=3D"function";},isNull:function(D){return =
D=3D=3D=3Dnull;},isNumber:function(D){return typeof =
D=3D=3D=3D"number"&&isFinite(D);},isObject:function(D){return(D&&(typeof =
D=3D=3D=3D"object"||A.isFunction(D)))||false;},isString:function(D){retur=
n typeof D=3D=3D=3D"string";},isUndefined:function(D){return typeof =
D=3D=3D=3D"undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(va=
r D=3D0;D<C.length;D=3DD+1){var =
H=3DC[D],G=3DE[H];if(A.isFunction(G)&&G!=3DObject.prototype[H]){F[H]=3DG;=
}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new =
Error("extend failed, please check that "+"all dependencies are =
included.");}var =
E=3Dfunction(){};E.prototype=3DI.prototype;H.prototype=3Dnew =
E();H.prototype.constructor=3DH;H.superclass=3DI.prototype;if(I.prototype=
.constructor=3D=3DObject.prototype.constructor){I.prototype.constructor=3D=
I;}if(G){for(var D in =
G){if(A.hasOwnProperty(G,D)){H.prototype[D]=3DG[D];}}A._IEEnumFix(H.proto=
type,G);}},augmentObject:function(H,G){if(!G||!H){throw new =
Error("Absorb failed, verify dependencies.");}var =
D=3Darguments,F,I,E=3DD[2];if(E&&E!=3D=3Dtrue){for(F=3D2;F<D.length;F=3DF=
+1){H[D[F]]=3DG[D[F]];}}else{for(I in G){if(E||!(I in =
H)){H[I]=3DG[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||=
!G){throw new Error("Augment failed, verify dependencies.");}var =
D=3D[G.prototype,F.prototype];for(var =
E=3D2;E<arguments.length;E=3DE+1){D.push(arguments[E]);}A.augmentObject.a=
pply(this,D);},dump:function(D,I){var =
F,H,K=3D[],L=3D"{...}",E=3D"f(){...}",J=3D", ",G=3D" =3D> =
";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" =
in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return =
E;}}}I=3D(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=3D0,H=3DD=
.length;F<H;F=3DF+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L=
);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}els=
e{K.push("{");for(F in =
D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0=
)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.po=
p();}K.push("}");}return K.join("");},substitute:function(S,E,L){var =
I,H,G,O,P,R,N=3D[],F,J=3D"dump",M=3D" =
",D=3D"{",Q=3D"}";for(;;){I=3DS.lastIndexOf(D);if(I<0){break;}H=3DS.index=
Of(Q,I);if(I+1>=3DH){break;}F=3DS.substring(I+1,H);O=3DF;R=3Dnull;G=3DO.i=
ndexOf(M);if(G>-1){R=3DO.substring(G+1);O=3DO.substring(0,G);}P=3DE[O];if=
(L){P=3DL(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=3DA.dump(P,parseIn=
t(R,10));}else{R=3DR||"";var =
K=3DR.indexOf(J);if(K>-1){R=3DR.substring(4);}if(P.toString=3D=3D=3DObjec=
t.prototype.toString||K>-1){P=3DA.dump(P,parseInt(R,10));}else{P=3DP.toSt=
ring();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P=3D"~-"+N.length+"-~";=
N[N.length]=3DF;}}S=3DS.substring(0,I)+P+S.substring(H+1);}for(I=3DN.leng=
th-1;I>=3D0;I=3DI-1){S=3DS.replace(new =
RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return =
S;},trim:function(D){try{return =
D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var =
G=3D{},E=3Darguments;for(var =
F=3D0,D=3DE.length;F<D;F=3DF+1){A.augmentObject(G,E[F],true);}return =
G;},later:function(K,E,L,G,H){K=3DK||0;E=3DE||{};var =
F=3DL,J=3DG,I,D;if(A.isString(L)){F=3DE[L];}if(!F){throw new =
TypeError("method =
undefined");}if(!A.isArray(J)){J=3D[G];}I=3Dfunction(){F.apply(E,J);};D=3D=
(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){=
if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:fu=
nction(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean=
(D));}};A.hasOwnProperty=3D(Object.prototype.hasOwnProperty)?function(D,E=
){return D&&D.hasOwnProperty(E);}:function(D,E){return =
!A.isUndefined(D[E])&&D.constructor.prototype[E]!=3D=3DD[E];};B.augmentOb=
ject(A,B,true);YAHOO.util.Lang=3DA;A.augment=3DA.augmentProto;YAHOO.augme=
nt=3DA.augmentProto;YAHOO.extend=3DA.extend;})();YAHOO.register("yahoo",Y=
AHOO,{version:"2.5.2",build:"1076"});(function(){var =
B=3DYAHOO.util,K,I,J=3D{},F=3D{},M=3Dwindow.document;YAHOO.env._id_counte=
r=3DYAHOO.env._id_counter||0;var =
C=3DYAHOO.env.ua.opera,L=3DYAHOO.env.ua.webkit,A=3DYAHOO.env.ua.gecko,G=3D=
YAHOO.env.ua.ie;var =
E=3D{HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|tab=
le-row)$/i};var N=3Dfunction(P){if(!E.HYPHEN.test(P)){return =
P;}if(J[P]){return J[P];}var =
Q=3DP;while(E.HYPHEN.exec(Q)){Q=3DQ.replace(RegExp.$1,RegExp.$1.substr(1)=
.toUpperCase());}J[P]=3DQ;return Q;};var O=3Dfunction(Q){var =
P=3DF[Q];if(!P){P=3Dnew =
RegExp("(?:^|\\s+)"+Q+"(?:\\s+|$)");F[Q]=3DP;}return =
P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=3Dfunction(P,S){v=
ar R=3Dnull;if(S=3D=3D"float"){S=3D"cssFloat";}var =
Q=3DP.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){R=3DQ[N(S)];=
}return =
P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=3Dfunction(=
P,R){switch(N(R)){case"opacity":var =
T=3D100;try{T=3DP.filters["DXImageTransform.Microsoft.Alpha"].opacity;}ca=
tch(S){try{T=3DP.filters("alpha").opacity;}catch(S){}}return =
T/100;case"float":R=3D"styleFloat";default:var =
Q=3DP.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{=
K=3Dfunction(P,Q){return =
P.style[Q];};}}if(G){I=3Dfunction(P,Q,R){switch(Q){case"opacity":if(YAHOO=
.lang.isString(P.style.filter)){P.style.filter=3D"alpha(opacity=3D"+R*100=
+")";if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=3D1;}}br=
eak;case"float":Q=3D"styleFloat";default:P.style[Q]=3DR;}};}else{I=3Dfunc=
tion(P,Q,R){if(Q=3D=3D"float"){Q=3D"cssFloat";}P.style[Q]=3DR;};}var =
D=3Dfunction(P,Q){return =
P&&P.nodeType=3D=3D1&&(!Q||Q(P));};YAHOO.util.Dom=3D{get:function(R){if(R=
&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return =
M.getElementById(R);}if(R.length!=3D=3Dundefined){var S=3D[];for(var =
Q=3D0,P=3DR.length;Q<P;++Q){S[S.length]=3DB.Dom.get(R[Q]);}return =
S;}return R;},getStyle:function(P,R){R=3DN(R);var Q=3Dfunction(S){return =
K(S,R);};return =
B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=3DN(R);var =
Q=3Dfunction(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P=
){var =
Q=3Dfunction(R){if((R.parentNode=3D=3D=3Dnull||R.offsetParent=3D=3D=3Dnul=
l||this.getStyle(R,"display")=3D=3D"none")&&R!=3DR.ownerDocument.body){re=
turn false;}return H(R);};return =
B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var =
Q=3Dfunction(R){return B.Dom.getXY(R)[0];};return =
B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var =
Q=3Dfunction(R){return B.Dom.getXY(R)[1];};return =
B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var =
Q=3Dfunction(V){var =
U=3Dthis.getStyle(V,"position");if(U=3D=3D"static"){this.setStyle(V,"posi=
tion","relative");U=3D"relative";}var =
X=3Dthis.getXY(V);if(X=3D=3D=3Dfalse){return false;}var =
W=3D[parseInt(this.getStyle(V,"left"),10),parseInt(this.getStyle(V,"top")=
,10)];if(isNaN(W[0])){W[0]=3D(U=3D=3D"relative")?0:V.offsetLeft;}if(isNaN=
(W[1])){W[1]=3D(U=3D=3D"relative")?0:V.offsetTop;}if(S[0]!=3D=3Dnull){V.s=
tyle.left=3DS[0]-X[0]+W[0]+"px";}if(S[1]!=3D=3Dnull){V.style.top=3DS[1]-X=
[1]+W[1]+"px";}if(!R){var =
T=3Dthis.getXY(V);if((S[0]!=3D=3Dnull&&T[0]!=3DS[0])||(S[1]!=3D=3Dnull&&T=
[1]!=3DS[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX=
:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P=
,[null,Q]);},getRegion:function(P){var =
Q=3Dfunction(R){if((R.parentNode=3D=3D=3Dnull||R.offsetParent=3D=3D=3Dnul=
l||this.getStyle(R,"display")=3D=3D"none")&&R!=3DR.ownerDocument.body){re=
turn false;}var S=3DB.Region.getRegion(R);return S;};return =
B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return =
B.Dom.getViewportWidth();},getClientHeight:function(){return =
B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=3D=
X||"*";U=3D(U)?B.Dom.get(U):null||M;if(!U){return[];}var =
Q=3D[],P=3DU.getElementsByTagName(X),W=3DO(T);for(var =
R=3D0,S=3DP.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=3DP[R]=
;if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var =
P=3DO(Q);var S=3Dfunction(T){return P.test(T.className);};return =
B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var =
R=3Dfunction(S){if(this.hasClass(S,P)){return =
false;}S.className=3DYAHOO.lang.trim([S.className,P].join(" "));return =
true;};return =
B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=3DO(Q);var =
S=3Dfunction(T){if(!Q||!this.hasClass(T,Q)){return false;}var =
U=3DT.className;T.className=3DU.replace(P," =
");if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=3DYAHOO.lang=
.trim(T.className);return true;};return =
B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q=3D=3D=
=3DP){return false;}var R=3DO(Q);var =
T=3Dfunction(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return =
true;}U.className=3DU.className.replace(R," "+P+" =
");if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=3DYAHOO.l=
ang.trim(U.className);return true;};return =
B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=3DR||"yui-gen";v=
ar Q=3Dfunction(S){if(S&&S.id){return S.id;}var =
T=3DR+YAHOO.env._id_counter++;if(S){S.id=3DT;}return T;};return =
B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:functi=
on(P,Q){P=3DB.Dom.get(P);Q=3DB.Dom.get(Q);if(!P||!Q){return =
false;}if(P.contains&&Q.nodeType&&!L){return =
P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return =
!!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return =
!!this.getAncestorBy(Q,function(R){return R=3D=3DP;});}}}return =
false;},inDocument:function(P){return =
this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=3D=
Q||"*";R=3D(R)?B.Dom.get(R):null||M;if(!R){return[];}var =
S=3D[],V=3DR.getElementsByTagName(Q);for(var =
U=3D0,P=3DV.length;U<P;++U){if(W(V[U])){S[S.length]=3DV[U];if(T){T(V[U]);=
}}}return =
S;},batch:function(T,W,V,R){T=3D(T&&(T.tagName||T.item))?T:B.Dom.get(T);i=
f(!T||!W){return false;}var =
S=3D(R)?V:window;if(T.tagName||T.length=3D=3D=3Dundefined){return =
W.call(S,T,V);}var U=3D[];for(var =
Q=3D0,P=3DT.length;Q<P;++Q){U[U.length]=3DW.call(S,T[Q],V);}return =
U;},getDocumentHeight:function(){var =
Q=3D(M.compatMode!=3D"CSS1Compat")?M.body.scrollHeight:M.documentElement.=
scrollHeight;var P=3DMath.max(Q,B.Dom.getViewportHeight());return =
P;},getDocumentWidth:function(){var =
Q=3D(M.compatMode!=3D"CSS1Compat")?M.body.scrollWidth:M.documentElement.s=
crollWidth;var P=3DMath.max(Q,B.Dom.getViewportWidth());return =
P;},getViewportHeight:function(){var P=3Dself.innerHeight;=0A=
var =
Q=3DM.compatMode;if((Q||G)&&!C){P=3D(Q=3D=3D"CSS1Compat")?M.documentEleme=
nt.clientHeight:M.body.clientHeight;}return =
P;},getViewportWidth:function(){var P=3Dself.innerWidth;var =
Q=3DM.compatMode;if(Q||G){P=3D(Q=3D=3D"CSS1Compat")?M.documentElement.cli=
entWidth:M.body.clientWidth;}return =
P;},getAncestorBy:function(P,Q){while(P=3DP.parentNode){if(D(P,Q)){return=
 P;}}return =
null;},getAncestorByClassName:function(Q,P){Q=3DB.Dom.get(Q);if(!Q){retur=
n null;}var R=3Dfunction(S){return B.Dom.hasClass(S,P);};return =
B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P){Q=3DB.Dom.g=
et(Q);if(!Q){return null;}var R=3Dfunction(S){return =
S.tagName&&S.tagName.toUpperCase()=3D=3DP.toUpperCase();};return =
B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q){while(P){P=3D=
P.previousSibling;if(D(P,Q)){return P;}}return =
null;},getPreviousSibling:function(P){P=3DB.Dom.get(P);if(!P){return =
null;}return =
B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q){while(P){P=
=3DP.nextSibling;if(D(P,Q)){return P;}}return =
null;},getNextSibling:function(P){P=3DB.Dom.get(P);if(!P){return =
null;}return =
B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R){var =
Q=3D(D(P.firstChild,R))?P.firstChild:null;return =
Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q){P=
=3DB.Dom.get(P);if(!P){return null;}return =
B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R){if(!P){return =
null;}var Q=3D(D(P.lastChild,R))?P.lastChild:null;return =
Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P){P=
=3DB.Dom.get(P);return =
B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S){var =
R=3DB.Dom.getFirstChildBy(Q,S);var =
P=3DR?[R]:[];B.Dom.getNextSiblingBy(R,function(T){if(!S||S(T)){P[P.length=
]=3DT;}return false;});return =
P;},getChildren:function(P){P=3DB.Dom.get(P);if(!P){}return =
B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P){P=3DP||M;retur=
n =
Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScr=
ollTop:function(P){P=3DP||M;return =
Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:fun=
ction(Q,P){Q=3DB.Dom.get(Q);P=3DB.Dom.get(P);if(!Q||!P||!P.parentNode){re=
turn null;}return =
P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P){Q=3DB.Dom.get(=
Q);P=3DB.Dom.get(P);if(!Q||!P||!P.parentNode){return =
null;}if(P.nextSibling){return =
P.parentNode.insertBefore(Q,P.nextSibling);}else{return =
P.parentNode.appendChild(Q);}},getClientRegion:function(){var =
R=3DB.Dom.getDocumentScrollTop(),Q=3DB.Dom.getDocumentScrollLeft(),S=3DB.=
Dom.getViewportWidth()+Q,P=3DB.Dom.getViewportHeight()+R;return new =
B.Region(R,S,P,Q);}};var =
H=3Dfunction(){if(M.documentElement.getBoundingClientRect){return =
function(Q){var R=3DQ.getBoundingClientRect();var =
P=3DQ.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.=
Dom.getDocumentScrollTop(P)];};}else{return function(R){var =
S=3D[R.offsetLeft,R.offsetTop];var Q=3DR.offsetParent;var =
P=3D(L&&B.Dom.getStyle(R,"position")=3D=3D"absolute"&&R.offsetParent=3D=3D=
R.ownerDocument.body);if(Q!=3DR){while(Q){S[0]+=3DQ.offsetLeft;S[1]+=3DQ.=
offsetTop;if(!P&&L&&B.Dom.getStyle(Q,"position")=3D=3D"absolute"){P=3Dtru=
e;}Q=3DQ.offsetParent;}}if(P){S[0]-=3DR.ownerDocument.body.offsetLeft;S[1=
]-=3DR.ownerDocument.body.offsetTop;}Q=3DR.parentNode;while(Q.tagName&&!E=
.ROOT_TAG.test(Q.tagName)){if(Q.scrollTop||Q.scrollLeft){if(!E.OP_SCROLL.=
test(B.Dom.getStyle(Q,"display"))){if(!C||B.Dom.getStyle(Q,"overflow")!=3D=
=3D"visible"){S[0]-=3DQ.scrollLeft;S[1]-=3DQ.scrollTop;}}}Q=3DQ.parentNod=
e;}return =
S;};}}();})();YAHOO.util.Region=3Dfunction(C,D,A,B){this.top=3DC;this[1]=3D=
C;this.right=3DD;this.bottom=3DA;this.left=3DB;this[0]=3DB;};YAHOO.util.R=
egion.prototype.contains=3Dfunction(A){return(A.left>=3Dthis.left&&A.righ=
t<=3Dthis.right&&A.top>=3Dthis.top&&A.bottom<=3Dthis.bottom);};YAHOO.util=
.Region.prototype.getArea=3Dfunction(){return((this.bottom-this.top)*(thi=
s.right-this.left));};YAHOO.util.Region.prototype.intersect=3Dfunction(E)=
{var C=3DMath.max(this.top,E.top);var =
D=3DMath.min(this.right,E.right);var =
A=3DMath.min(this.bottom,E.bottom);var =
B=3DMath.max(this.left,E.left);if(A>=3DC&&D>=3DB){return new =
YAHOO.util.Region(C,D,A,B);}else{return =
null;}};YAHOO.util.Region.prototype.union=3Dfunction(E){var =
C=3DMath.min(this.top,E.top);var D=3DMath.max(this.right,E.right);var =
A=3DMath.max(this.bottom,E.bottom);var =
B=3DMath.min(this.left,E.left);return new =
YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=3Dfunct=
ion(){return("Region {"+"top: "+this.top+", right: "+this.right+", =
bottom: "+this.bottom+", left: =
"+this.left+"}");};YAHOO.util.Region.getRegion=3Dfunction(D){var =
F=3DYAHOO.util.Dom.getXY(D);var C=3DF[1];var E=3DF[0]+D.offsetWidth;var =
A=3DF[1]+D.offsetHeight;var B=3DF[0];return new =
YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=3Dfunction(A,B){if(YAHOO.la=
ng.isArray(A)){B=3DA[1];A=3DA[0];}this.x=3Dthis.right=3Dthis.left=3Dthis[=
0]=3DA;this.y=3Dthis.top=3Dthis.bottom=3Dthis[1]=3DB;};YAHOO.util.Point.p=
rototype=3Dnew =
YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.5.2",=
build:"1076"});YAHOO.util.CustomEvent=3Dfunction(D,B,C,A){this.type=3DD;t=
his.scope=3DB||window;this.silent=3DC;this.signature=3DA||YAHOO.util.Cust=
omEvent.LIST;this.subscribers=3D[];if(!this.silent){}var =
E=3D"_YUICEOnSubscribe";if(D!=3D=3DE){this.subscribeEvent=3Dnew =
YAHOO.util.CustomEvent(E,this,true);}this.lastError=3Dnull;};YAHOO.util.C=
ustomEvent.LIST=3D0;YAHOO.util.CustomEvent.FLAT=3D1;YAHOO.util.CustomEven=
t.prototype=3D{subscribe:function(B,C,A){if(!B){throw new Error("Invalid =
callback for subscriber to =
'"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A=
);}this.subscribers.push(new =
YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return =
this.unsubscribeAll();}var E=3Dfalse;for(var =
B=3D0,A=3Dthis.subscribers.length;B<A;++B){var =
C=3Dthis.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=3Dtrue;}=
}return E;},fire:function(){this.lastError=3Dnull;var =
K=3D[],E=3Dthis.subscribers.length;if(!E&&this.silent){return true;}var =
I=3D[].slice.call(arguments,0),G=3Dtrue,D,J=3Dfalse;if(!this.silent){}var=
 =
C=3Dthis.subscribers.slice(),A=3DYAHOO.util.Event.throwErrors;for(D=3D0;D=
<E;++D){var M=3DC[D];if(!M){J=3Dtrue;}else{if(!this.silent){}var =
L=3DM.getScope(this.scope);if(this.signature=3D=3DYAHOO.util.CustomEvent.=
FLAT){var =
B=3Dnull;if(I.length>0){B=3DI[0];}try{G=3DM.fn.call(L,B,M.obj);}catch(F){=
this.lastError=3DF;if(A){throw =
F;}}}else{try{G=3DM.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=
=3DH;if(A){throw =
H;}}}if(false=3D=3D=3DG){if(!this.silent){}break;}}}return(G!=3D=3Dfalse)=
;},unsubscribeAll:function(){for(var =
A=3Dthis.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=
=3D[];return A;},_delete:function(A){var =
B=3Dthis.subscribers[A];if(B){delete B.fn;delete =
B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEv=
ent: "+"'"+this.type+"', "+"scope: =
"+this.scope;}};YAHOO.util.Subscriber=3Dfunction(B,C,A){this.fn=3DB;this.=
obj=3DYAHOO.lang.isUndefined(C)?null:C;this.override=3DA;};YAHOO.util.Sub=
scriber.prototype.getScope=3Dfunction(A){if(this.override){if(this.overri=
de=3D=3D=3Dtrue){return this.obj;}else{return this.override;}}return =
A;};YAHOO.util.Subscriber.prototype.contains=3Dfunction(A,B){if(B){return=
(this.fn=3D=3DA&&this.obj=3D=3DB);}else{return(this.fn=3D=3DA);}};YAHOO.u=
til.Subscriber.prototype.toString=3Dfunction(){return"Subscriber { obj: =
"+this.obj+", override: "+(this.override||"no")+" =
}";};if(!YAHOO.util.Event){YAHOO.util.Event=3Dfunction(){var =
H=3Dfalse;var I=3D[];var J=3D[];var G=3D[];var E=3D[];var C=3D0;var =
F=3D[];var B=3D[];var A=3D0;var =
D=3D{63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{P=
OLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_=
SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webk=
it:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMR=
eady:false,throwErrors:false,startInterval:function(){if(!this._interval)=
{var K=3Dthis;var =
L=3Dfunction(){K._tryPreloadAttach();};this._interval=3DsetInterval(L,thi=
s.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var =
K=3D(YAHOO.lang.isString(P))?[P]:P;for(var =
L=3D0;L<K.length;L=3DL+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkRead=
y:N});}C=3Dthis.POLL_RETRYS;this.startInterval();},onContentReady:functio=
n(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if=
(this.DOMReady){setTimeout(function(){var =
N=3Dwindow;if(L){if(L=3D=3D=3Dtrue){N=3DM;}else{N=3DL;}}K.call(N,"DOMRead=
y",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:fu=
nction(M,K,V,Q,L){if(!V||!V.call){return =
false;}if(this._isValidCollection(M)){var W=3Dtrue;for(var =
R=3D0,T=3DM.length;R<T;++R){W=3Dthis.on(M[R],K,V,Q,L)&&W;}return =
W;}else{if(YAHOO.lang.isString(M)){var =
P=3Dthis.getEl(M);if(P){M=3DP;}else{this.onAvailable(M,function(){YAHOO.u=
til.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return =
false;}if("unload"=3D=3DK&&Q!=3D=3Dthis){J[J.length]=3D[M,K,V,Q,L];return=
 true;}var Y=3DM;if(L){if(L=3D=3D=3Dtrue){Y=3DQ;}else{Y=3DL;}}var =
N=3Dfunction(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var =
X=3D[M,K,V,N,Y,Q,L];var =
S=3DI.length;I[S]=3DX;if(this.useLegacyEvent(M,K)){var =
O=3Dthis.getLegacyIndex(M,K);if(O=3D=3D-1||M!=3DG[O][0]){O=3DG.length;B[M=
.id+K]=3DO;G[O]=3D[M,K,M["on"+K]];E[O]=3D[];M["on"+K]=3Dfunction(Z){YAHOO=
.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(=
X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=3DU;th=
is.removeListener(M,K,V);return false;}}return =
true;},fireLegacyEvent:function(O,M){var =
Q=3Dtrue,K,S,R,T,P;S=3DE[M].slice();for(var =
L=3D0,N=3DS.length;L<N;++L){R=3DS[L];if(R&&R[this.WFN]){T=3DR[this.ADJ_SC=
OPE];P=3DR[this.WFN].call(T,O);Q=3D(Q&&P);}}K=3DG[M];if(K&&K[2]){K[2](O);=
}return Q;},getLegacyIndex:function(L,M){var =
K=3Dthis.generateId(L)+M;if(typeof B[K]=3D=3D"undefined"){return =
-1;}else{return =
B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"=3D=3DM||"db=
lclick"=3D=3DM)){var =
K=3DparseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return =
false;},removeListener:function(L,K,T){var O,R,V;if(typeof =
L=3D=3D"string"){L=3Dthis.getEl(L);}else{if(this._isValidCollection(L)){v=
ar =
U=3Dtrue;for(O=3DL.length-1;O>-1;O--){U=3D(this.removeListener(L[O],K,T)&=
&U);}return U;}}if(!T||!T.call){return =
this.purgeElement(L,false,K);}if("unload"=3D=3DK){for(O=3DJ.length-1;O>-1=
;O--){V=3DJ[O];if(V&&V[0]=3D=3DL&&V[1]=3D=3DK&&V[2]=3D=3DT){J.splice(O,1)=
;return true;}}return false;}var P=3Dnull;var =
Q=3Darguments[3];if("undefined"=3D=3D=3Dtypeof =
Q){Q=3Dthis._getCacheIndex(L,K,T);}if(Q>=3D0){P=3DI[Q];}if(!L||!P){return=
 false;}if(this.useLegacyEvent(L,K)){var =
N=3Dthis.getLegacyIndex(L,K);var =
M=3DE[N];if(M){for(O=3D0,R=3DM.length;O<R;++O){V=3DM[O];if(V&&V[this.EL]=3D=
=3DL&&V[this.TYPE]=3D=3DK&&V[this.FN]=3D=3DT){M.splice(O,1);break;}}}}els=
e{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=3D=
S;return false;}}delete I[Q][this.WFN];delete =
I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L){var =
K=3DM.target||M.srcElement;return =
this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3=3D=3DL.=
nodeType){return L.parentNode;}}catch(K){}return =
L;},getPageX:function(L){var =
K=3DL.pageX;if(!K&&0!=3D=3DK){K=3DL.clientX||0;if(this.isIE){K+=3Dthis._g=
etScrollLeft();}}return K;},getPageY:function(K){var =
L=3DK.pageY;if(!L&&0!=3D=3DL){L=3DK.clientY||0;if(this.isIE){L+=3Dthis._g=
etScrollTop();}}return L;=0A=
},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelate=
dTarget:function(L){var =
K=3DL.relatedTarget;if(!K){if(L.type=3D=3D"mouseout"){K=3DL.toElement;}el=
se{if(L.type=3D=3D"mouseover"){K=3DL.fromElement;}}}return =
this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=3Dnew =
Date().getTime();try{M.time=3DL;}catch(K){this.lastError=3DK;return =
L;}}return =
M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefaul=
t(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagatio=
n();}else{K.cancelBubble=3Dtrue;}},preventDefault:function(K){if(K.preven=
tDefault){K.preventDefault();}else{K.returnValue=3Dfalse;}},getEvent:func=
tion(M,K){var L=3DM||window.event;if(!L){var =
N=3Dthis.getEvent.caller;while(N){L=3DN.arguments[0];if(L&&Event=3D=3DL.c=
onstructor){break;}N=3DN.caller;}}return L;},getCharCode:function(L){var =
K=3DL.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in =
D)){K=3DD[K];}return K;},_getCacheIndex:function(O,P,N){for(var =
M=3D0,L=3DI.length;M<L;M=3DM+1){var =
K=3DI[M];if(K&&K[this.FN]=3D=3DN&&K[this.EL]=3D=3DO&&K[this.TYPE]=3D=3DP)=
{return M;}}return -1;},generateId:function(K){var =
L=3DK.id;if(!L){L=3D"yuievtautoid-"+A;++A;K.id=3DL;}return =
L;},_isValidCollection:function(L){try{return(L&&typeof =
L!=3D=3D"string"&&L.length&&!L.tagName&&!L.alert&&typeof =
L[0]!=3D=3D"undefined");}catch(K){return =
false;}},elCache:{},getEl:function(K){return(typeof =
K=3D=3D=3D"string")?document.getElementById(K):K;},clearCache:function(){=
},DOMReadyEvent:new =
YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=3Dtrue=
;var =
K=3DYAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(=
L){var =
K=3DYAHOO.util.Event;if(!K.DOMReady){K.DOMReady=3Dtrue;K.DOMReadyEvent.fi=
re();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreload=
Attach:function(){if(F.length=3D=3D=3D0){C=3D0;clearInterval(this._interv=
al);this._interval=3Dnull;return ;}if(this.locked){return =
;}if(this.isIE){if(!this.DOMReady){this.startInterval();return =
;}}this.locked=3Dtrue;var Q=3D!H;if(!Q){Q=3D(C>0&&F.length>0);}var =
P=3D[];var R=3Dfunction(T,U){var =
S=3DT;if(U.override){if(U.override=3D=3D=3Dtrue){S=3DU.obj;}else{S=3DU.ov=
erride;}}U.fn.call(S,U.obj);};var =
L,K,O,N,M=3D[];for(L=3D0,K=3DF.length;L<K;L=3DL+1){O=3DF[L];if(O){N=3Dthi=
s.getEl(O.id);if(N){if(O.checkReady){if(H||N.nextSibling||!Q){M.push(O);F=
[L]=3Dnull;}}else{R(N,O);F[L]=3Dnull;}}else{P.push(O);}}}for(L=3D0,K=3DM.=
length;L<K;L=3DL+1){O=3DM[L];R(this.getEl(O.id),O);}C--;if(Q){for(L=3DF.l=
ength-1;L>-1;L--){O=3DF[L];if(!O||!O.id){F.splice(L,1);}}this.startInterv=
al();}else{clearInterval(this._interval);this._interval=3Dnull;}this.lock=
ed=3Dfalse;},purgeElement:function(O,P,R){var =
M=3D(YAHOO.lang.isString(O))?this.getEl(O):O;var =
Q=3Dthis.getListeners(M,R),N,K;if(Q){for(N=3DQ.length-1;N>-1;N--){var =
L=3DQ[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(=
N=3D0,K=3DM.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],=
P,R);}}},getListeners:function(M,K){var =
P=3D[],L;if(!K){L=3D[I,J];}else{if(K=3D=3D=3D"unload"){L=3D[J];}else{L=3D=
[I];}}var R=3D(YAHOO.lang.isString(M))?this.getEl(M):M;for(var =
O=3D0;O<L.length;O=3DO+1){var T=3DL[O];if(T){for(var =
Q=3D0,S=3DT.length;Q<S;++Q){var =
N=3DT[Q];if(N&&N[this.EL]=3D=3D=3DR&&(!K||K=3D=3D=3DN[this.TYPE])){P.push=
({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE]=
,scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:=
function(Q){var =
K=3DYAHOO.util.Event,N,M,L,P,O,R=3DJ.slice();for(N=3D0,P=3DJ.length;N<P;+=
+N){L=3DR[N];if(L){var =
S=3Dwindow;if(L[K.ADJ_SCOPE]){if(L[K.ADJ_SCOPE]=3D=3D=3Dtrue){S=3DL[K.UNL=
OAD_OBJ];}else{S=3DL[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),=
L[K.UNLOAD_OBJ]);R[N]=3Dnull;L=3Dnull;S=3Dnull;}}J=3Dnull;if(I){for(M=3DI=
.length-1;M>-1;M--){L=3DI[M];if(L){K.removeListener(L[K.EL],L[K.TYPE],L[K=
.FN],M);}}L=3Dnull;}G=3Dnull;K._simpleRemove(window,"unload",K._unload);}=
,_getScrollLeft:function(){return =
this._getScroll()[1];},_getScrollTop:function(){return =
this._getScroll()[0];},_getScroll:function(){var =
K=3Ddocument.documentElement,L=3Ddocument.body;if(K&&(K.scrollTop||K.scro=
llLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,=
L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:functio=
n(){if(window.addEventListener){return =
function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEve=
nt){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return =
function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener=
){return =
function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detach=
Event){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return =
function(){};}}}()};}();(function(){var =
EU=3DYAHOO.util.Event;EU.on=3DEU.addListener;=0A=
/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */=0A=
if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttac=
h,YAHOO.util.Event,true);var =
n=3Ddocument.createElement("p");EU._dri=3DsetInterval(function(){try{n.do=
Scroll("left");clearInterval(EU._dri);EU._dri=3Dnull;EU._ready();n=3Dnull=
;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._d=
ri=3DsetInterval(function(){var =
rs=3Ddocument.readyState;if("loaded"=3D=3Drs||"complete"=3D=3Drs){clearIn=
terval(EU._dri);EU._dri=3Dnull;EU._ready();}},EU.POLL_INTERVAL);}else{EU.=
_simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,=
"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreload=
Attach();})();}YAHOO.util.EventProvider=3Dfunction(){};YAHOO.util.EventPr=
ovider.prototype=3D{__yui_events:null,__yui_subscribers:null,subscribe:fu=
nction(A,C,F,E){this.__yui_events=3Dthis.__yui_events||{};var =
D=3Dthis.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscr=
ibers=3Dthis.__yui_subscribers||{};var =
B=3Dthis.__yui_subscribers;if(!B[A]){B[A]=3D[];}B[A].push({fn:C,obj:F,ove=
rride:E});}},unsubscribe:function(C,E,G){this.__yui_events=3Dthis.__yui_e=
vents||{};var A=3Dthis.__yui_events;if(C){var F=3DA[C];if(F){return =
F.unsubscribe(E,G);}}else{var B=3Dtrue;for(var D in =
A){if(YAHOO.lang.hasOwnProperty(A,D)){B=3DB&&A[D].unsubscribe(E,G);}}retu=
rn B;}return false;},unsubscribeAll:function(A){return =
this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=3Dthis.=
__yui_events||{};var A=3DD||{};var I=3Dthis.__yui_events;=0A=
if(I[G]){}else{var H=3DA.scope||this;var E=3D(A.silent);var B=3Dnew =
YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=3DB;if(A.o=
nSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}th=
is.__yui_subscribers=3Dthis.__yui_subscribers||{};var =
F=3Dthis.__yui_subscribers[G];if(F){for(var =
C=3D0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}retu=
rn =
I[G];},fireEvent:function(E,D,A,C){this.__yui_events=3Dthis.__yui_events|=
|{};var G=3Dthis.__yui_events[E];if(!G){return null;}var B=3D[];for(var =
F=3D1;F<arguments.length;++F){B.push(arguments[F]);}return =
G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__=
yui_events[A]){return true;}}return =
false;}};YAHOO.util.KeyListener=3Dfunction(A,F,B,C){if(!A){}else{if(!F){}=
else{if(!B){}}}if(!C){C=3DYAHOO.util.KeyListener.KEYDOWN;}var D=3Dnew =
YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=3Dnew =
YAHOO.util.CustomEvent("enabled");this.disabledEvent=3Dnew =
YAHOO.util.CustomEvent("disabled");if(typeof =
A=3D=3D"string"){A=3Ddocument.getElementById(A);}if(typeof =
B=3D=3D"function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correc=
tScope);}function =
E(J,I){if(!F.shift){F.shift=3Dfalse;}if(!F.alt){F.alt=3Dfalse;}if(!F.ctrl=
){F.ctrl=3Dfalse;}if(J.shiftKey=3D=3DF.shift&&J.altKey=3D=3DF.alt&&J.ctrl=
Key=3D=3DF.ctrl){var G;if(F.keys instanceof Array){for(var =
H=3D0;H<F.keys.length;H++){G=3DF.keys[H];if(G=3D=3DJ.charCode){D.fire(J.c=
harCode,J);break;}else{if(G=3D=3DJ.keyCode){D.fire(J.keyCode,J);break;}}}=
}else{G=3DF.keys;if(G=3D=3DJ.charCode){D.fire(J.charCode,J);}else{if(G=3D=
=3DJ.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=3Dfunction(){if(!this.=
enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}t=
his.enabled=3Dtrue;};this.disable=3Dfunction(){if(this.enabled){YAHOO.uti=
l.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=3D=
false;};this.toString=3Dfunction(){return"KeyListener ["+F.keys+"] =
"+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN=3D"=
keydown";YAHOO.util.KeyListener.KEYUP=3D"keyup";YAHOO.util.KeyListener.KE=
Y=3D{ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35=
,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PA=
GE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:=
32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.5.2",=
build:"1076"});YAHOO.register("yahoo-dom-event", YAHOO, {version: =
"2.5.2", build: "1076"});=0A=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/container_core.js

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.1
*/
(function () {

    /**
    * Config is a utility used within an Object to allow the implementer =
to
    * maintain a list of local configuration properties and listen for =
changes=20
    * to those properties dynamically using CustomEvent. The initial =
values are=20
    * also maintained so that the configuration can be reset at any =
given point=20
    * to its initial state.
    * @namespace YAHOO.util
    * @class Config
    * @constructor
    * @param {Object} owner The owner Object to which this Config Object =
belongs
    */
    YAHOO.util.Config =3D function (owner) {

        if (owner) {
            this.init(owner);
        }


    };


    var Lang =3D YAHOO.lang,
        CustomEvent =3D YAHOO.util.CustomEvent,
        Config =3D YAHOO.util.Config;


    /**
     * Constant representing the CustomEvent type for the config changed =
event.
     * @property YAHOO.util.Config.CONFIG_CHANGED_EVENT
     * @private
     * @static
     * @final
     */
    Config.CONFIG_CHANGED_EVENT =3D "configChanged";
   =20
    /**
     * Constant representing the boolean type string
     * @property YAHOO.util.Config.BOOLEAN_TYPE
     * @private
     * @static
     * @final
     */
    Config.BOOLEAN_TYPE =3D "boolean";
   =20
    Config.prototype =3D {
    =20
        /**
        * Object reference to the owner of this Config Object
        * @property owner
        * @type Object
        */
        owner: null,
       =20
        /**
        * Boolean flag that specifies whether a queue is currently=20
        * being executed
        * @property queueInProgress
        * @type Boolean
        */
        queueInProgress: false,
       =20
        /**
        * Maintains the local collection of configuration property =
objects and=20
        * their specified values
        * @property config
        * @private
        * @type Object
        */=20
        config: null,
       =20
        /**
        * Maintains the local collection of configuration property =
objects as=20
        * they were initially applied.
        * This object is used when resetting a property.
        * @property initialConfig
        * @private
        * @type Object
        */=20
        initialConfig: null,
       =20
        /**
        * Maintains the local, normalized CustomEvent queue
        * @property eventQueue
        * @private
        * @type Object
        */=20
        eventQueue: null,
       =20
        /**
        * Custom Event, notifying subscribers when Config properties are =
set=20
        * (setProperty is called without the silent flag
        * @event configChangedEvent
        */
        configChangedEvent: null,
   =20
        /**
        * Initializes the configuration Object and all of its local =
members.
        * @method init
        * @param {Object} owner The owner Object to which this Config=20
        * Object belongs
        */
        init: function (owner) {
   =20
            this.owner =3D owner;
   =20
            this.configChangedEvent =3D=20
                this.createEvent(Config.CONFIG_CHANGED_EVENT);
   =20
            this.configChangedEvent.signature =3D CustomEvent.LIST;
            this.queueInProgress =3D false;
            this.config =3D {};
            this.initialConfig =3D {};
            this.eventQueue =3D [];
       =20
        },
       =20
        /**
        * Validates that the value passed in is a Boolean.
        * @method checkBoolean
        * @param {Object} val The value to validate
        * @return {Boolean} true, if the value is valid
        */=20
        checkBoolean: function (val) {
            return (typeof val =3D=3D Config.BOOLEAN_TYPE);
        },
       =20
        /**
        * Validates that the value passed in is a number.
        * @method checkNumber
        * @param {Object} val The value to validate
        * @return {Boolean} true, if the value is valid
        */
        checkNumber: function (val) {
            return (!isNaN(val));
        },
       =20
        /**
        * Fires a configuration property event using the specified =
value.=20
        * @method fireEvent
        * @private
        * @param {String} key The configuration property's name
        * @param {value} Object The value of the correct type for the =
property
        */=20
        fireEvent: function ( key, value ) {
            var property =3D this.config[key];
       =20
            if (property && property.event) {
                property.event.fire(value);
            }=20
        },
       =20
        /**
        * Adds a property to the Config Object's private config hash.
        * @method addProperty
        * @param {String} key The configuration property's name
        * @param {Object} propertyObject The Object containing all of =
this=20
        * property's arguments
        */
        addProperty: function ( key, propertyObject ) {
            key =3D key.toLowerCase();
       =20
            this.config[key] =3D propertyObject;
       =20
            propertyObject.event =3D this.createEvent(key, { scope: =
this.owner });
            propertyObject.event.signature =3D CustomEvent.LIST;
           =20
           =20
            propertyObject.key =3D key;
       =20
            if (propertyObject.handler) {
                propertyObject.event.subscribe(propertyObject.handler,=20
                    this.owner);
            }
       =20
            this.setProperty(key, propertyObject.value, true);
           =20
            if (! propertyObject.suppressEvent) {
                this.queueProperty(key, propertyObject.value);
            }
           =20
        },
       =20
        /**
        * Returns a key-value configuration map of the values currently =
set in =20
        * the Config Object.
        * @method getConfig
        * @return {Object} The current config, represented in a =
key-value map
        */
        getConfig: function () {
       =20
            var cfg =3D {},
                prop,
                property;
               =20
            for (prop in this.config) {
                property =3D this.config[prop];
                if (property && property.event) {
                    cfg[prop] =3D property.value;
                }
            }
           =20
            return cfg;
        },
       =20
        /**
        * Returns the value of specified property.
        * @method getProperty
        * @param {String} key The name of the property
        * @return {Object}  The value of the specified property
        */
        getProperty: function (key) {
            var property =3D this.config[key.toLowerCase()];
            if (property && property.event) {
                return property.value;
            } else {
                return undefined;
            }
        },
       =20
        /**
        * Resets the specified property's value to its initial value.
        * @method resetProperty
        * @param {String} key The name of the property
        * @return {Boolean} True is the property was reset, false if not
        */
        resetProperty: function (key) {
   =20
            key =3D key.toLowerCase();
       =20
            var property =3D this.config[key];
   =20
            if (property && property.event) {
   =20
                if (this.initialConfig[key] &&=20
                    !Lang.isUndefined(this.initialConfig[key])) {
   =20
                    this.setProperty(key, this.initialConfig[key]);

                    return true;
   =20
                }
   =20
            } else {
   =20
                return false;
            }
   =20
        },
       =20
        /**
        * Sets the value of a property. If the silent property is passed =
as=20
        * true, the property's event will not be fired.
        * @method setProperty
        * @param {String} key The name of the property
        * @param {String} value The value to set the property to
        * @param {Boolean} silent Whether the value should be set =
silently,=20
        * without firing the property event.
        * @return {Boolean} True, if the set was successful, false if it =
failed.
        */
        setProperty: function (key, value, silent) {
       =20
            var property;
       =20
            key =3D key.toLowerCase();
       =20
            if (this.queueInProgress && ! silent) {
                // Currently running through a queue...=20
                this.queueProperty(key,value);
                return true;
   =20
            } else {
                property =3D this.config[key];
                if (property && property.event) {
                    if (property.validator && =
!property.validator(value)) {
                        return false;
                    } else {
                        property.value =3D value;
                        if (! silent) {
                            this.fireEvent(key, value);
                            this.configChangedEvent.fire([key, value]);
                        }
                        return true;
                    }
                } else {
                    return false;
                }
            }
        },
       =20
        /**
        * Sets the value of a property and queues its event to execute. =
If the=20
        * event is already scheduled to execute, it is
        * moved from its current position to the end of the queue.
        * @method queueProperty
        * @param {String} key The name of the property
        * @param {String} value The value to set the property to
        * @return {Boolean}  true, if the set was successful, false if=20
        * it failed.
        */=20
        queueProperty: function (key, value) {
       =20
            key =3D key.toLowerCase();
       =20
            var property =3D this.config[key],
                foundDuplicate =3D false,
                iLen,
                queueItem,
                queueItemKey,
                queueItemValue,
                sLen,
                supercedesCheck,
                qLen,
                queueItemCheck,
                queueItemCheckKey,
                queueItemCheckValue,
                i,
                s,
                q;
                               =20
            if (property && property.event) {
   =20
                if (!Lang.isUndefined(value) && property.validator &&=20
                    !property.validator(value)) { // validator
                    return false;
                } else {
       =20
                    if (!Lang.isUndefined(value)) {
                        property.value =3D value;
                    } else {
                        value =3D property.value;
                    }
       =20
                    foundDuplicate =3D false;
                    iLen =3D this.eventQueue.length;
       =20
                    for (i =3D 0; i < iLen; i++) {
                        queueItem =3D this.eventQueue[i];
       =20
                        if (queueItem) {
                            queueItemKey =3D queueItem[0];
                            queueItemValue =3D queueItem[1];

                            if (queueItemKey =3D=3D key) {
   =20
                                /*
                                    found a dupe... push to end of =
queue, null=20
                                    current item, and break
                                */
   =20
                                this.eventQueue[i] =3D null;
   =20
                                this.eventQueue.push(
                                    [key, (!Lang.isUndefined(value) ?=20
                                    value : queueItemValue)]);
   =20
                                foundDuplicate =3D true;
                                break;
                            }
                        }
                    }
                   =20
                    // this is a refire, or a new property in the queue
   =20
                    if (! foundDuplicate && !Lang.isUndefined(value)) {=20
                        this.eventQueue.push([key, value]);
                    }
                }
       =20
                if (property.supercedes) {

                    sLen =3D property.supercedes.length;

                    for (s =3D 0; s < sLen; s++) {

                        supercedesCheck =3D property.supercedes[s];
                        qLen =3D this.eventQueue.length;

                        for (q =3D 0; q < qLen; q++) {
                            queueItemCheck =3D this.eventQueue[q];

                            if (queueItemCheck) {
                                queueItemCheckKey =3D queueItemCheck[0];
                                queueItemCheckValue =3D =
queueItemCheck[1];

                                if (queueItemCheckKey =3D=3D=20
                                    supercedesCheck.toLowerCase() ) {

                                    =
this.eventQueue.push([queueItemCheckKey,=20
                                        queueItemCheckValue]);

                                    this.eventQueue[q] =3D null;
                                    break;

                                }
                            }
                        }
                    }
                }


                return true;
            } else {
                return false;
            }
        },
       =20
        /**
        * Fires the event for a property using the property's current =
value.
        * @method refireEvent
        * @param {String} key The name of the property
        */
        refireEvent: function (key) {
   =20
            key =3D key.toLowerCase();
       =20
            var property =3D this.config[key];
   =20
            if (property && property.event &&=20
   =20
                !Lang.isUndefined(property.value)) {
   =20
                if (this.queueInProgress) {
   =20
                    this.queueProperty(key);
   =20
                } else {
   =20
                    this.fireEvent(key, property.value);
   =20
                }
   =20
            }
        },
       =20
        /**
        * Applies a key-value Object literal to the configuration, =
replacing =20
        * any existing values, and queueing the property events.
        * Although the values will be set, fireQueue() must be called =
for their=20
        * associated events to execute.
        * @method applyConfig
        * @param {Object} userConfig The configuration Object literal
        * @param {Boolean} init  When set to true, the initialConfig =
will=20
        * be set to the userConfig passed in, so that calling a reset =
will=20
        * reset the properties to the passed values.
        */
        applyConfig: function (userConfig, init) {
       =20
            var sKey,
                oConfig;

            if (init) {
                oConfig =3D {};
                for (sKey in userConfig) {
                    if (Lang.hasOwnProperty(userConfig, sKey)) {
                        oConfig[sKey.toLowerCase()] =3D =
userConfig[sKey];
                    }
                }
                this.initialConfig =3D oConfig;
            }

            for (sKey in userConfig) {
                if (Lang.hasOwnProperty(userConfig, sKey)) {
                    this.queueProperty(sKey, userConfig[sKey]);
                }
            }
        },
       =20
        /**
        * Refires the events for all configuration properties using =
their=20
        * current values.
        * @method refresh
        */
        refresh: function () {
       =20
            var prop;
       =20
            for (prop in this.config) {
                this.refireEvent(prop);
            }
        },
       =20
        /**
        * Fires the normalized list of queued property change events
        * @method fireQueue
        */
        fireQueue: function () {
       =20
            var i,=20
                queueItem,
                key,
                value,
                property;
       =20
            this.queueInProgress =3D true;
            for (i =3D 0;i < this.eventQueue.length; i++) {
                queueItem =3D this.eventQueue[i];
                if (queueItem) {
       =20
                    key =3D queueItem[0];
                    value =3D queueItem[1];
                    property =3D this.config[key];
       =20
                    property.value =3D value;
       =20
                    this.fireEvent(key,value);
                }
            }
           =20
            this.queueInProgress =3D false;
            this.eventQueue =3D [];
        },
       =20
        /**
        * Subscribes an external handler to the change event for any=20
        * given property.=20
        * @method subscribeToConfigEvent
        * @param {String} key The property name
        * @param {Function} handler The handler function to use =
subscribe to=20
        * the property's event
        * @param {Object} obj The Object to use for scoping the event =
handler=20
        * (see CustomEvent documentation)
        * @param {Boolean} override Optional. If true, will override =
"this" =20
        * within the handler to map to the scope Object passed into the =
method.
        * @return {Boolean} True, if the subscription was successful,=20
        * otherwise false.
        */=20
        subscribeToConfigEvent: function (key, handler, obj, override) {
   =20
            var property =3D this.config[key.toLowerCase()];
   =20
            if (property && property.event) {
                if (!Config.alreadySubscribed(property.event, handler, =
obj)) {
                    property.event.subscribe(handler, obj, override);
                }
                return true;
            } else {
                return false;
            }
   =20
        },
       =20
        /**
        * Unsubscribes an external handler from the change event for any =

        * given property.=20
        * @method unsubscribeFromConfigEvent
        * @param {String} key The property name
        * @param {Function} handler The handler function to use =
subscribe to=20
        * the property's event
        * @param {Object} obj The Object to use for scoping the event=20
        * handler (see CustomEvent documentation)
        * @return {Boolean} True, if the unsubscription was successful,=20
        * otherwise false.
        */
        unsubscribeFromConfigEvent: function (key, handler, obj) {
            var property =3D this.config[key.toLowerCase()];
            if (property && property.event) {
                return property.event.unsubscribe(handler, obj);
            } else {
                return false;
            }
        },
       =20
        /**
        * Returns a string representation of the Config object
        * @method toString
        * @return {String} The Config object in string format.
        */
        toString: function () {
            var output =3D "Config";
            if (this.owner) {
                output +=3D " [" + this.owner.toString() + "]";
            }
            return output;
        },
       =20
        /**
        * Returns a string representation of the Config object's current =

        * CustomEvent queue
        * @method outputEventQueue
        * @return {String} The string list of CustomEvents currently =
queued=20
        * for execution
        */
        outputEventQueue: function () {

            var output =3D "",
                queueItem,
                q,
                nQueue =3D this.eventQueue.length;
             =20
            for (q =3D 0; q < nQueue; q++) {
                queueItem =3D this.eventQueue[q];
                if (queueItem) {
                    output +=3D queueItem[0] + "=3D" + queueItem[1] + ", =
";
                }
            }
            return output;
        },

        /**
        * Sets all properties to null, unsubscribes all listeners from =
each=20
        * property's change event and all listeners from the =
configChangedEvent.
        * @method destroy
        */
        destroy: function () {

            var oConfig =3D this.config,
                sProperty,
                oProperty;


            for (sProperty in oConfig) {
           =20
                if (Lang.hasOwnProperty(oConfig, sProperty)) {

                    oProperty =3D oConfig[sProperty];

                    oProperty.event.unsubscribeAll();
                    oProperty.event =3D null;

                }
           =20
            }
           =20
            this.configChangedEvent.unsubscribeAll();
           =20
            this.configChangedEvent =3D null;
            this.owner =3D null;
            this.config =3D null;
            this.initialConfig =3D null;
            this.eventQueue =3D null;
       =20
        }

    };
   =20
   =20
   =20
    /**
    * Checks to determine if a particular function/Object pair are =
already=20
    * subscribed to the specified CustomEvent
    * @method YAHOO.util.Config.alreadySubscribed
    * @static
    * @param {YAHOO.util.CustomEvent} evt The CustomEvent for which to =
check=20
    * the subscriptions
    * @param {Function} fn The function to look for in the subscribers =
list
    * @param {Object} obj The execution scope Object for the =
subscription
    * @return {Boolean} true, if the function/Object pair is already =
subscribed=20
    * to the CustomEvent passed in
    */
    Config.alreadySubscribed =3D function (evt, fn, obj) {
   =20
        var nSubscribers =3D evt.subscribers.length,
            subsc,
            i;

        if (nSubscribers > 0) {
            i =3D nSubscribers - 1;
            do {
                subsc =3D evt.subscribers[i];
                if (subsc && subsc.obj =3D=3D obj && subsc.fn =3D=3D fn) =
{
                    return true;
                }
            }
            while (i--);
        }

        return false;

    };

    YAHOO.lang.augmentProto(Config, YAHOO.util.EventProvider);

}());

(function () {

    /**
    * The Container family of components is designed to enable =
developers to=20
    * create different kinds of content-containing modules on the web. =
Module=20
    * and Overlay are the most basic containers, and they can be used =
directly=20
    * or extended to build custom containers. Also part of the Container =
family=20
    * are four UI controls that extend Module and Overlay: Tooltip, =
Panel,=20
    * Dialog, and SimpleDialog.
    * @module container
    * @title Container
    * @requires yahoo, dom, event=20
    * @optional dragdrop, animation, button
    */
   =20
    /**
    * Module is a JavaScript representation of the Standard Module =
Format.=20
    * Standard Module Format is a simple standard for markup containers =
where=20
    * child nodes representing the header, body, and footer of the =
content are=20
    * denoted using the CSS classes "hd", "bd", and "ft" respectively.=20
    * Module is the base class for all other classes in the YUI=20
    * Container package.
    * @namespace YAHOO.widget
    * @class Module
    * @constructor
    * @param {String} el The element ID representing the Module =
<em>OR</em>
    * @param {HTMLElement} el The element representing the Module
    * @param {Object} userConfig The configuration Object literal =
containing=20
    * the configuration that should be set for this module. See =
configuration=20
    * documentation for more details.
    */
    YAHOO.widget.Module =3D function (el, userConfig) {
        if (el) {
            this.init(el, userConfig);
        } else {
        }
    };

    var Dom =3D YAHOO.util.Dom,
        Config =3D YAHOO.util.Config,
        Event =3D YAHOO.util.Event,
        CustomEvent =3D YAHOO.util.CustomEvent,
        Module =3D YAHOO.widget.Module,

        m_oModuleTemplate,
        m_oHeaderTemplate,
        m_oBodyTemplate,
        m_oFooterTemplate,

        /**
        * Constant representing the name of the Module's events
        * @property EVENT_TYPES
        * @private
        * @final
        * @type Object
        */
        EVENT_TYPES =3D {
            "BEFORE_INIT": "beforeInit",
            "INIT": "init",
            "APPEND": "append",
            "BEFORE_RENDER": "beforeRender",
            "RENDER": "render",
            "CHANGE_HEADER": "changeHeader",
            "CHANGE_BODY": "changeBody",
            "CHANGE_FOOTER": "changeFooter",
            "CHANGE_CONTENT": "changeContent",
            "DESTORY": "destroy",
            "BEFORE_SHOW": "beforeShow",
            "SHOW": "show",
            "BEFORE_HIDE": "beforeHide",
            "HIDE": "hide"
        },
           =20
        /**
        * Constant representing the Module's configuration properties
        * @property DEFAULT_CONFIG
        * @private
        * @final
        * @type Object
        */
        DEFAULT_CONFIG =3D {
       =20
            "VISIBLE": {=20
                key: "visible",=20
                value: true,=20
                validator: YAHOO.lang.isBoolean=20
            },
       =20
            "EFFECT": {=20
                key: "effect",=20
                suppressEvent: true,=20
                supercedes: ["visible"]=20
            },

            "MONITOR_RESIZE": {=20
                key: "monitorresize",=20
                value: true =20
            },

            "APPEND_TO_DOCUMENT_BODY": {=20
                key: "appendtodocumentbody",=20
                value: false
            }
        };
   =20
    /**
    * Constant representing the prefix path to use for non-secure images
    * @property YAHOO.widget.Module.IMG_ROOT
    * @static
    * @final
    * @type String
    */
    Module.IMG_ROOT =3D null;
   =20
    /**
    * Constant representing the prefix path to use for securely served =
images
    * @property YAHOO.widget.Module.IMG_ROOT_SSL
    * @static
    * @final
    * @type String
    */
    Module.IMG_ROOT_SSL =3D null;
   =20
    /**
    * Constant for the default CSS class name that represents a Module
    * @property YAHOO.widget.Module.CSS_MODULE
    * @static
    * @final
    * @type String
    */
    Module.CSS_MODULE =3D "yui-module";
   =20
    /**
    * Constant representing the module header
    * @property YAHOO.widget.Module.CSS_HEADER
    * @static
    * @final
    * @type String
    */
    Module.CSS_HEADER =3D "hd";

    /**
    * Constant representing the module body
    * @property YAHOO.widget.Module.CSS_BODY
    * @static
    * @final
    * @type String
    */
    Module.CSS_BODY =3D "bd";
   =20
    /**
    * Constant representing the module footer
    * @property YAHOO.widget.Module.CSS_FOOTER
    * @static
    * @final
    * @type String
    */
    Module.CSS_FOOTER =3D "ft";
   =20
    /**
    * Constant representing the url for the "src" attribute of the =
iframe=20
    * used to monitor changes to the browser's base font size
    * @property YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL
    * @static
    * @final
    * @type String
    */
    Module.RESIZE_MONITOR_SECURE_URL =3D "javascript:false;";
   =20
    /**
    * Singleton CustomEvent fired when the font size is changed in the =
browser.
    * Opera's "zoom" functionality currently does not support text=20
    * size detection.
    * @event YAHOO.widget.Module.textResizeEvent
    */
    Module.textResizeEvent =3D new CustomEvent("textResize");

    function createModuleTemplate() {

        if (!m_oModuleTemplate) {
            m_oModuleTemplate =3D document.createElement("div");
           =20
            m_oModuleTemplate.innerHTML =3D ("<div class=3D\"" +=20
                Module.CSS_HEADER + "\"></div>" + "<div class=3D\"" +=20
                Module.CSS_BODY + "\"></div><div class=3D\"" +=20
                Module.CSS_FOOTER + "\"></div>");

            m_oHeaderTemplate =3D m_oModuleTemplate.firstChild;
            m_oBodyTemplate =3D m_oHeaderTemplate.nextSibling;
            m_oFooterTemplate =3D m_oBodyTemplate.nextSibling;
        }

        return m_oModuleTemplate;
    }

    function createHeader() {
        if (!m_oHeaderTemplate) {
            createModuleTemplate();
        }
        return (m_oHeaderTemplate.cloneNode(false));
    }

    function createBody() {
        if (!m_oBodyTemplate) {
            createModuleTemplate();
        }
        return (m_oBodyTemplate.cloneNode(false));
    }

    function createFooter() {
        if (!m_oFooterTemplate) {
            createModuleTemplate();
        }
        return (m_oFooterTemplate.cloneNode(false));
    }

    Module.prototype =3D {

        /**
        * The class's constructor function
        * @property contructor
        * @type Function
        */
        constructor: Module,
       =20
        /**
        * The main module element that contains the header, body, and =
footer
        * @property element
        * @type HTMLElement
        */
        element: null,

        /**
        * The header element, denoted with CSS class "hd"
        * @property header
        * @type HTMLElement
        */
        header: null,

        /**
        * The body element, denoted with CSS class "bd"
        * @property body
        * @type HTMLElement
        */
        body: null,

        /**
        * The footer element, denoted with CSS class "ft"
        * @property footer
        * @type HTMLElement
        */
        footer: null,

        /**
        * The id of the element
        * @property id
        * @type String
        */
        id: null,

        /**
        * A string representing the root path for all images created by
        * a Module instance.
        * @deprecated It is recommend that any images for a Module be =
applied
        * via CSS using the "background-image" property.
        * @property imageRoot
        * @type String
        */
        imageRoot: Module.IMG_ROOT,

        /**
        * Initializes the custom events for Module which are fired=20
        * automatically at appropriate times by the Module class.
        * @method initEvents
        */
        initEvents: function () {

            var SIGNATURE =3D CustomEvent.LIST;

            /**
            * CustomEvent fired prior to class initalization.
            * @event beforeInitEvent
            * @param {class} classRef class reference of the =
initializing=20
            * class, such as this.beforeInitEvent.fire(Module)
            */
            this.beforeInitEvent =3D =
this.createEvent(EVENT_TYPES.BEFORE_INIT);
            this.beforeInitEvent.signature =3D SIGNATURE;

            /**
            * CustomEvent fired after class initalization.
            * @event initEvent
            * @param {class} classRef class reference of the =
initializing=20
            * class, such as this.beforeInitEvent.fire(Module)
            */ =20
            this.initEvent =3D this.createEvent(EVENT_TYPES.INIT);
            this.initEvent.signature =3D SIGNATURE;

            /**
            * CustomEvent fired when the Module is appended to the DOM
            * @event appendEvent
            */
            this.appendEvent =3D this.createEvent(EVENT_TYPES.APPEND);
            this.appendEvent.signature =3D SIGNATURE;

            /**
            * CustomEvent fired before the Module is rendered
            * @event beforeRenderEvent
            */
            this.beforeRenderEvent =3D =
this.createEvent(EVENT_TYPES.BEFORE_RENDER);
            this.beforeRenderEvent.signature =3D SIGNATURE;
       =20
            /**
            * CustomEvent fired after the Module is rendered
            * @event renderEvent
            */
            this.renderEvent =3D this.createEvent(EVENT_TYPES.RENDER);
            this.renderEvent.signature =3D SIGNATURE;
       =20
            /**
            * CustomEvent fired when the header content of the Module=20
            * is modified
            * @event changeHeaderEvent
            * @param {String/HTMLElement} content String/element =
representing=20
            * the new header content
            */
            this.changeHeaderEvent =3D =
this.createEvent(EVENT_TYPES.CHANGE_HEADER);
            this.changeHeaderEvent.signature =3D SIGNATURE;
           =20
            /**
            * CustomEvent fired when the body content of the Module is =
modified
            * @event changeBodyEvent
            * @param {String/HTMLElement} content String/element =
representing=20
            * the new body content
            */ =20
            this.changeBodyEvent =3D =
this.createEvent(EVENT_TYPES.CHANGE_BODY);
            this.changeBodyEvent.signature =3D SIGNATURE;
           =20
            /**
            * CustomEvent fired when the footer content of the Module=20
            * is modified
            * @event changeFooterEvent
            * @param {String/HTMLElement} content String/element =
representing=20
            * the new footer content
            */
            this.changeFooterEvent =3D =
this.createEvent(EVENT_TYPES.CHANGE_FOOTER);
            this.changeFooterEvent.signature =3D SIGNATURE;
       =20
            /**
            * CustomEvent fired when the content of the Module is =
modified
            * @event changeContentEvent
            */
            this.changeContentEvent =3D =
this.createEvent(EVENT_TYPES.CHANGE_CONTENT);
            this.changeContentEvent.signature =3D SIGNATURE;

            /**
            * CustomEvent fired when the Module is destroyed
            * @event destroyEvent
            */
            this.destroyEvent =3D this.createEvent(EVENT_TYPES.DESTORY);
            this.destroyEvent.signature =3D SIGNATURE;

            /**
            * CustomEvent fired before the Module is shown
            * @event beforeShowEvent
            */
            this.beforeShowEvent =3D =
this.createEvent(EVENT_TYPES.BEFORE_SHOW);
            this.beforeShowEvent.signature =3D SIGNATURE;

            /**
            * CustomEvent fired after the Module is shown
            * @event showEvent
            */
            this.showEvent =3D this.createEvent(EVENT_TYPES.SHOW);
            this.showEvent.signature =3D SIGNATURE;

            /**
            * CustomEvent fired before the Module is hidden
            * @event beforeHideEvent
            */
            this.beforeHideEvent =3D =
this.createEvent(EVENT_TYPES.BEFORE_HIDE);
            this.beforeHideEvent.signature =3D SIGNATURE;

            /**
            * CustomEvent fired after the Module is hidden
            * @event hideEvent
            */
            this.hideEvent =3D this.createEvent(EVENT_TYPES.HIDE);
            this.hideEvent.signature =3D SIGNATURE;
        },=20

        /**
        * String representing the current user-agent platform
        * @property platform
        * @type String
        */
        platform: function () {
            var ua =3D navigator.userAgent.toLowerCase();

            if (ua.indexOf("windows") !=3D -1 || ua.indexOf("win32") =
!=3D -1) {
                return "windows";
            } else if (ua.indexOf("macintosh") !=3D -1) {
                return "mac";
            } else {
                return false;
            }
        }(),
       =20
        /**
        * String representing the user-agent of the browser
        * @deprecated Use YAHOO.env.ua
        * @property browser
        * @type String
        */
        browser: function () {
            var ua =3D navigator.userAgent.toLowerCase();
            /*
                 Check Opera first in case of spoof and check Safari =
before
                 Gecko since Safari's user agent string includes "like =
Gecko"
            */
            if (ua.indexOf('opera') !=3D -1) {=20
                return 'opera';
            } else if (ua.indexOf('msie 7') !=3D -1) {
                return 'ie7';
            } else if (ua.indexOf('msie') !=3D -1) {
                return 'ie';
            } else if (ua.indexOf('safari') !=3D -1) {=20
                return 'safari';
            } else if (ua.indexOf('gecko') !=3D -1) {
                return 'gecko';
            } else {
                return false;
            }
        }(),
       =20
        /**
        * Boolean representing whether or not the current browsing =
context is=20
        * secure (https)
        * @property isSecure
        * @type Boolean
        */
        isSecure: function () {
            if (window.location.href.toLowerCase().indexOf("https") =
=3D=3D=3D 0) {
                return true;
            } else {
                return false;
            }
        }(),
       =20
        /**
        * Initializes the custom events for Module which are fired=20
        * automatically at appropriate times by the Module class.
        */
        initDefaultConfig: function () {
            // Add properties //
            /**
            * Specifies whether the Module is visible on the page.
            * @config visible
            * @type Boolean
            * @default true
            */
            this.cfg.addProperty(DEFAULT_CONFIG.VISIBLE.key, {
                handler: this.configVisible,=20
                value: DEFAULT_CONFIG.VISIBLE.value,=20
                validator: DEFAULT_CONFIG.VISIBLE.validator
            });

            /**
            * Object or array of objects representing the =
ContainerEffect=20
            * classes that are active for animating the container.
            * @config effect
            * @type Object
            * @default null
            */
            this.cfg.addProperty(DEFAULT_CONFIG.EFFECT.key, {
                suppressEvent: DEFAULT_CONFIG.EFFECT.suppressEvent,=20
                supercedes: DEFAULT_CONFIG.EFFECT.supercedes
            });

            /**
            * Specifies whether to create a special proxy iframe to =
monitor=20
            * for user font resizing in the document
            * @config monitorresize
            * @type Boolean
            * @default true
            */
            this.cfg.addProperty(DEFAULT_CONFIG.MONITOR_RESIZE.key, {
                handler: this.configMonitorResize,
                value: DEFAULT_CONFIG.MONITOR_RESIZE.value
            });

            /**
            * Specifies if the module should be rendered as the first =
child=20
            * of document.body or appended as the last child when render =
is called
            * with document.body as the "appendToNode".
            * <p>
            * Appending to the body while the DOM is still being =
constructed can=20
            * lead to Operation Aborted errors in IE hence this flag is =
set to=20
            * false by default.
            * </p>
            *=20
            * @config appendtodocumentbody
            * @type Boolean
            * @default false
            */
            =
this.cfg.addProperty(DEFAULT_CONFIG.APPEND_TO_DOCUMENT_BODY.key, {
                value: DEFAULT_CONFIG.APPEND_TO_DOCUMENT_BODY.value
            });
        },

        /**
        * The Module class's initialization method, which is executed =
for
        * Module and all of its subclasses. This method is automatically =

        * called by the constructor, and  sets up all DOM references for =

        * pre-existing markup, and creates required markup if it is not=20
        * already present.
        * @method init
        * @param {String} el The element ID representing the Module =
<em>OR</em>
        * @param {HTMLElement} el The element representing the Module
        * @param {Object} userConfig The configuration Object literal=20
        * containing the configuration that should be set for this =
module.=20
        * See configuration documentation for more details.
        */
        init: function (el, userConfig) {

            var elId, child;

            this.initEvents();
            this.beforeInitEvent.fire(Module);

            /**
            * The Module's Config object used for monitoring=20
            * configuration properties.
            * @property cfg
            * @type YAHOO.util.Config
            */
            this.cfg =3D new Config(this);

            if (this.isSecure) {
                this.imageRoot =3D Module.IMG_ROOT_SSL;
            }

            if (typeof el =3D=3D "string") {
                elId =3D el;
                el =3D document.getElementById(el);
                if (! el) {
                    el =3D (createModuleTemplate()).cloneNode(false);
                    el.id =3D elId;
                }
            }

            this.element =3D el;

            if (el.id) {
                this.id =3D el.id;
            }

            child =3D this.element.firstChild;

            if (child) {
                var fndHd =3D false, fndBd =3D false, fndFt =3D false;
                do {
                    // We're looking for elements
                    if (1 =3D=3D child.nodeType) {
                        if (!fndHd && Dom.hasClass(child, =
Module.CSS_HEADER)) {
                            this.header =3D child;
                            fndHd =3D true;
                        } else if (!fndBd && Dom.hasClass(child, =
Module.CSS_BODY)) {
                            this.body =3D child;
                            fndBd =3D true;
                        } else if (!fndFt && Dom.hasClass(child, =
Module.CSS_FOOTER)){
                            this.footer =3D child;
                            fndFt =3D true;
                        }
                    }
                } while ((child =3D child.nextSibling));
            }

            this.initDefaultConfig();

            Dom.addClass(this.element, Module.CSS_MODULE);

            if (userConfig) {
                this.cfg.applyConfig(userConfig, true);
            }

            /*
                Subscribe to the fireQueue() method of Config so that =
any=20
                queued configuration changes are excecuted upon render =
of=20
                the Module
            */=20

            if (!Config.alreadySubscribed(this.renderEvent, =
this.cfg.fireQueue, this.cfg)) {
                this.renderEvent.subscribe(this.cfg.fireQueue, this.cfg, =
true);
            }

            this.initEvent.fire(Module);
        },

        /**
        * Initialize an empty IFRAME that is placed out of the visible =
area=20
        * that can be used to detect text resize.
        * @method initResizeMonitor
        */
        initResizeMonitor: function () {

            var isGeckoWin =3D (YAHOO.env.ua.gecko && this.platform =
=3D=3D "windows");
            if (isGeckoWin) {
                // Help prevent spinning loading icon which=20
                // started with FireFox 2.0.0.8/Win
                var self =3D this;
                setTimeout(function(){self._initResizeMonitor();}, 0);
            } else {
                this._initResizeMonitor();
            }
        },

        /**
         * Create and initialize the text resize monitoring iframe.
         *=20
         * @protected
         * @method _initResizeMonitor
         */
        _initResizeMonitor : function() {

            var oDoc,=20
                oIFrame,=20
                sHTML;

            function fireTextResize() {
                Module.textResizeEvent.fire();
            }

            if (!YAHOO.env.ua.opera) {
                oIFrame =3D Dom.get("_yuiResizeMonitor");

                var supportsCWResize =3D this._supportsCWResize();

                if (!oIFrame) {
                    oIFrame =3D document.createElement("iframe");

                    if (this.isSecure && =
Module.RESIZE_MONITOR_SECURE_URL && YAHOO.env.ua.ie) {
                        oIFrame.src =3D =
Module.RESIZE_MONITOR_SECURE_URL;
                    }

                    if (!supportsCWResize) {
                        // Can't monitor on contentWindow, so fire from =
inside iframe
                        sHTML =3D ["<html><head><script ",
                                 "type=3D\"text/javascript\">",
                                 =
"window.onresize=3Dfunction(){window.parent.",
                                 "YAHOO.widget.Module.textResizeEvent.",
                                 "fire();};<",
                                 "\/script></head>",
                                 "<body></body></html>"].join('');

                        oIFrame.src =3D =
"data:text/html;charset=3Dutf-8," + encodeURIComponent(sHTML);
                    }

                    oIFrame.id =3D "_yuiResizeMonitor";
                    /*
                        Need to set "position" property before inserting =
the=20
                        iframe into the document or Safari's status bar =
will=20
                        forever indicate the iframe is loading=20
                        (See SourceForge bug #1723064)
                    */
                    oIFrame.style.position =3D "absolute";
                    oIFrame.style.visibility =3D "hidden";

                    var db =3D document.body,
                        fc =3D db.firstChild;
                    if (fc) {
                        db.insertBefore(oIFrame, fc);
                    } else {
                        db.appendChild(oIFrame);
                    }

                    oIFrame.style.width =3D "10em";
                    oIFrame.style.height =3D "10em";
                    oIFrame.style.top =3D (-1 * oIFrame.offsetHeight) + =
"px";
                    oIFrame.style.left =3D (-1 * oIFrame.offsetWidth) + =
"px";
                    oIFrame.style.borderWidth =3D "0";
                    oIFrame.style.visibility =3D "visible";

                    /*
                       Don't open/close the document for Gecko like we =
used to, since it
                       leads to duplicate cookies. (See SourceForge bug =
#1721755)
                    */
                    if (YAHOO.env.ua.webkit) {
                        oDoc =3D oIFrame.contentWindow.document;
                        oDoc.open();
                        oDoc.close();
                    }
                }

                if (oIFrame && oIFrame.contentWindow) {
                    Module.textResizeEvent.subscribe(this.onDomResize, =
this, true);

                    if (!Module.textResizeInitialized) {
                        if (supportsCWResize) {
                            if (!Event.on(oIFrame.contentWindow, =
"resize", fireTextResize)) {
                                /*
                                     This will fail in IE if =
document.domain has=20
                                     changed, so we must change the =
listener to=20
                                     use the oIFrame element instead
                                */
                                Event.on(oIFrame, "resize", =
fireTextResize);
                            }
                        }
                        Module.textResizeInitialized =3D true;
                    }
                    this.resizeMonitor =3D oIFrame;
                }
            }
        },

        /**
         * Text resize monitor helper method.
         * Determines if the browser supports resize events on iframe =
content windows.
         *=20
         * @private
         * @method _supportsCWResize
         */
        _supportsCWResize : function() {
            /*
                Gecko 1.8.0 (FF1.5), 1.8.1.0-5 (FF2) won't fire resize =
on contentWindow.
                Gecko 1.8.1.6+ (FF2.0.0.6+) and all other browsers will =
fire resize on contentWindow.

                We don't want to start sniffing for patch versions, so =
fire textResize the same
                way on all FF, until 1.9 (3.x) is out
             */
            var bSupported =3D true;
            if (YAHOO.env.ua.gecko && YAHOO.env.ua.gecko <=3D 1.8) {
                bSupported =3D false;
                /*
                var v =3D navigator.userAgent.match(/rv:([^\s\)]*)/); // =
From YAHOO.env.ua
                if (v && v[0]) {
                    var sv =3D v[0].match(/\d\.\d\.(\d)/);
                    if (sv && sv[1]) {
                        if (parseInt(sv[1], 10) > 0) {
                            bSupported =3D true;
                        }
                    }
                }
                */
            }
            return bSupported;
        },

        /**
        * Event handler fired when the resize monitor element is =
resized.
        * @method onDomResize
        * @param {DOMEvent} e The DOM resize event
        * @param {Object} obj The scope object passed to the handler
        */
        onDomResize: function (e, obj) {

            var nLeft =3D -1 * this.resizeMonitor.offsetWidth,
                nTop =3D -1 * this.resizeMonitor.offsetHeight;
       =20
            this.resizeMonitor.style.top =3D nTop + "px";
            this.resizeMonitor.style.left =3D  nLeft + "px";

        },

        /**
        * Sets the Module's header content to the string specified, or =
appends=20
        * the passed element to the header. If no header is present, one =
will=20
        * be automatically created. An empty string can be passed to the =
method
        * to clear the contents of the header.
        *=20
        * @method setHeader
        * @param {String} headerContent The string used to set the =
header.
        * As a convenience, non HTMLElement objects can also be passed =
into=20
        * the method, and will be treated as strings, with the header =
innerHTML
        * set to their default toString implementations.
        * <em>OR</em>
        * @param {HTMLElement} headerContent The HTMLElement to append =
to=20
        * <em>OR</em>
        * @param {DocumentFragment} headerContent The document fragment=20
        * containing elements which are to be added to the header
        */
        setHeader: function (headerContent) {
            var oHeader =3D this.header || (this.header =3D =
createHeader());

            if (headerContent.nodeName) {
                oHeader.innerHTML =3D "";
                oHeader.appendChild(headerContent);
            } else {
                oHeader.innerHTML =3D headerContent;
            }

            this.changeHeaderEvent.fire(headerContent);
            this.changeContentEvent.fire();

        },

        /**
        * Appends the passed element to the header. If no header is =
present,=20
        * one will be automatically created.
        * @method appendToHeader
        * @param {HTMLElement | DocumentFragment} element The element to =

        * append to the header. In the case of a document fragment, the
        * children of the fragment will be appended to the header.
        */
        appendToHeader: function (element) {
            var oHeader =3D this.header || (this.header =3D =
createHeader());

            oHeader.appendChild(element);

            this.changeHeaderEvent.fire(element);
            this.changeContentEvent.fire();

        },

        /**
        * Sets the Module's body content to the HTML specified, or =
appends the
        * passed element to the body. If no body is present, one will be =

        * automatically created. An empty string can be passed to the =
method
        * to clear the contents of the body.
        * @method setBody
        * @param {String} bodyContent The HTML used to set the body.=20
        * As a convenience, non HTMLElement objects can also be passed =
into=20
        * the method, and will be treated as strings, with the body =
innerHTML
        * set to their default toString implementations.
        * <em>OR</em>
        * @param {HTMLElement} bodyContent The HTMLElement to append to =
the body
        * <em>OR</em>
        * @param {DocumentFragment} bodyContent The document fragment=20
        * containing elements which are to be added to the body
        */
        setBody: function (bodyContent) {
            var oBody =3D this.body || (this.body =3D createBody());

            if (bodyContent.nodeName) {
                oBody.innerHTML =3D "";
                oBody.appendChild(bodyContent);
            } else {
                oBody.innerHTML =3D bodyContent;
            }

            this.changeBodyEvent.fire(bodyContent);
            this.changeContentEvent.fire();
        },

        /**
        * Appends the passed element to the body. If no body is present, =
one=20
        * will be automatically created.
        * @method appendToBody
        * @param {HTMLElement | DocumentFragment} element The element to =

        * append to the body. In the case of a document fragment, the
        * children of the fragment will be appended to the body.
        *=20
        */
        appendToBody: function (element) {
            var oBody =3D this.body || (this.body =3D createBody());
       =20
            oBody.appendChild(element);

            this.changeBodyEvent.fire(element);
            this.changeContentEvent.fire();

        },
       =20
        /**
        * Sets the Module's footer content to the HTML specified, or =
appends=20
        * the passed element to the footer. If no footer is present, one =
will=20
        * be automatically created. An empty string can be passed to the =
method
        * to clear the contents of the footer.
        * @method setFooter
        * @param {String} footerContent The HTML used to set the footer=20
        * As a convenience, non HTMLElement objects can also be passed =
into=20
        * the method, and will be treated as strings, with the footer =
innerHTML
        * set to their default toString implementations.
        * <em>OR</em>
        * @param {HTMLElement} footerContent The HTMLElement to append =
to=20
        * the footer
        * <em>OR</em>
        * @param {DocumentFragment} footerContent The document fragment =
containing=20
        * elements which are to be added to the footer
        */
        setFooter: function (footerContent) {

            var oFooter =3D this.footer || (this.footer =3D =
createFooter());

            if (footerContent.nodeName) {
                oFooter.innerHTML =3D "";
                oFooter.appendChild(footerContent);
            } else {
                oFooter.innerHTML =3D footerContent;
            }

            this.changeFooterEvent.fire(footerContent);
            this.changeContentEvent.fire();
        },

        /**
        * Appends the passed element to the footer. If no footer is =
present,=20
        * one will be automatically created.
        * @method appendToFooter
        * @param {HTMLElement | DocumentFragment} element The element to =

        * append to the footer. In the case of a document fragment, the
        * children of the fragment will be appended to the footer
        */
        appendToFooter: function (element) {

            var oFooter =3D this.footer || (this.footer =3D =
createFooter());

            oFooter.appendChild(element);

            this.changeFooterEvent.fire(element);
            this.changeContentEvent.fire();

        },

        /**
        * Renders the Module by inserting the elements that are not =
already=20
        * in the main Module into their correct places. Optionally =
appends=20
        * the Module to the specified node prior to the render's =
execution.=20
        * <p>
        * For Modules without existing markup, the appendToNode argument =

        * is REQUIRED. If this argument is ommitted and the current =
element is=20
        * not present in the document, the function will return false,=20
        * indicating that the render was a failure.
        * </p>
        * <p>
        * NOTE: As of 2.3.1, if the appendToNode is the document's body =
element
        * then the module is rendered as the first child of the body =
element,=20
        * and not appended to it, to avoid Operation Aborted errors in =
IE when=20
        * rendering the module before window's load event is fired. You =
can=20
        * use the appendtodocumentbody configuration property to change =
this=20
        * to append to document.body if required.
        * </p>
        * @method render
        * @param {String} appendToNode The element id to which the =
Module=20
        * should be appended to prior to rendering <em>OR</em>
        * @param {HTMLElement} appendToNode The element to which the =
Module=20
        * should be appended to prior to rendering
        * @param {HTMLElement} moduleElement OPTIONAL. The element that=20
        * represents the actual Standard Module container.
        * @return {Boolean} Success or failure of the render
        */
        render: function (appendToNode, moduleElement) {

            var me =3D this,
                firstChild;

            function appendTo(parentNode) {
                if (typeof parentNode =3D=3D "string") {
                    parentNode =3D document.getElementById(parentNode);
                }

                if (parentNode) {
                    me._addToParent(parentNode, me.element);
                    me.appendEvent.fire();
                }
            }

            this.beforeRenderEvent.fire();

            if (! moduleElement) {
                moduleElement =3D this.element;
            }

            if (appendToNode) {
                appendTo(appendToNode);
            } else {=20
                // No node was passed in. If the element is not already =
in the Dom, this fails
                if (! Dom.inDocument(this.element)) {
                    return false;
                }
            }

            // Need to get everything into the DOM if it isn't already
            if (this.header && ! Dom.inDocument(this.header)) {
                // There is a header, but it's not in the DOM yet. Need =
to add it.
                firstChild =3D moduleElement.firstChild;
                if (firstChild) {
                    moduleElement.insertBefore(this.header, firstChild);
                } else {
                    moduleElement.appendChild(this.header);
                }
            }

            if (this.body && ! Dom.inDocument(this.body)) {
                // There is a body, but it's not in the DOM yet. Need to =
add it.	=09
                if (this.footer && Dom.isAncestor(this.moduleElement, =
this.footer)) {
                    moduleElement.insertBefore(this.body, this.footer);
                } else {
                    moduleElement.appendChild(this.body);
                }
            }

            if (this.footer && ! Dom.inDocument(this.footer)) {
                // There is a footer, but it's not in the DOM yet. Need =
to add it.
                moduleElement.appendChild(this.footer);
            }

            this.renderEvent.fire();
            return true;
        },

        /**
        * Removes the Module element from the DOM and sets all child =
elements=20
        * to null.
        * @method destroy
        */
        destroy: function () {

            var parent,
                e;

            if (this.element) {
                Event.purgeElement(this.element, true);
                parent =3D this.element.parentNode;
            }

            if (parent) {
                parent.removeChild(this.element);
            }
       =20
            this.element =3D null;
            this.header =3D null;
            this.body =3D null;
            this.footer =3D null;

            Module.textResizeEvent.unsubscribe(this.onDomResize, this);

            this.cfg.destroy();
            this.cfg =3D null;

            this.destroyEvent.fire();
       =20
            for (e in this) {
                if (e instanceof CustomEvent) {
                    e.unsubscribeAll();
                }
            }

        },

        /**
        * Shows the Module element by setting the visible configuration=20
        * property to true. Also fires two events: beforeShowEvent prior =
to=20
        * the visibility change, and showEvent after.
        * @method show
        */
        show: function () {
            this.cfg.setProperty("visible", true);
        },

        /**
        * Hides the Module element by setting the visible configuration=20
        * property to false. Also fires two events: beforeHideEvent =
prior to=20
        * the visibility change, and hideEvent after.
        * @method hide
        */
        hide: function () {
            this.cfg.setProperty("visible", false);
        },
       =20
        // BUILT-IN EVENT HANDLERS FOR MODULE //
        /**
        * Default event handler for changing the visibility property of =
a=20
        * Module. By default, this is achieved by switching the =
"display" style=20
        * between "block" and "none".
        * This method is responsible for firing showEvent and hideEvent.
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        * @method configVisible
        */
        configVisible: function (type, args, obj) {
            var visible =3D args[0];
            if (visible) {
                this.beforeShowEvent.fire();
                Dom.setStyle(this.element, "display", "block");
                this.showEvent.fire();
            } else {
                this.beforeHideEvent.fire();
                Dom.setStyle(this.element, "display", "none");
                this.hideEvent.fire();
            }
        },
       =20
        /**
        * Default event handler for the "monitorresize" configuration =
property
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        * @method configMonitorResize
        */
        configMonitorResize: function (type, args, obj) {
            var monitor =3D args[0];
            if (monitor) {
                this.initResizeMonitor();
            } else {
                Module.textResizeEvent.unsubscribe(this.onDomResize, =
this, true);
                this.resizeMonitor =3D null;
            }
        },

        /**
         * This method is a protected helper, used when constructing the =
DOM structure for the module=20
         * to account for situations which may cause Operation Aborted =
errors in IE. It should not=20
         * be used for general DOM construction.
         * <p>
         * If the parentNode is not document.body, the element is =
appended as the last element.
         * </p>
         * <p>
         * If the parentNode is document.body the element is added as =
the first child to help
         * prevent Operation Aborted errors in IE.
         * </p>
         *
         * @param {parentNode} The HTML element to which the element =
will be added
         * @param {element} The HTML element to be added to parentNode's =
children
         * @method _addToParent
         * @protected
         */
        _addToParent: function(parentNode, element) {
            if (!this.cfg.getProperty("appendtodocumentbody") && =
parentNode =3D=3D=3D document.body && parentNode.firstChild) {
                parentNode.insertBefore(element, parentNode.firstChild);
            } else {
                parentNode.appendChild(element);
            }
        },

        /**
        * Returns a String representation of the Object.
        * @method toString
        * @return {String} The string representation of the Module
        */
        toString: function () {
            return "Module " + this.id;
        }
    };

    YAHOO.lang.augmentProto(Module, YAHOO.util.EventProvider);

}());

(function () {

    /**
    * Overlay is a Module that is absolutely positioned above the page =
flow. It=20
    * has convenience methods for positioning and sizing, as well as =
options for=20
    * controlling zIndex and constraining the Overlay's position to the =
current=20
    * visible viewport. Overlay also contains a dynamicly generated =
IFRAME which=20
    * is placed beneath it for Internet Explorer 6 and 5.x so that it =
will be=20
    * properly rendered above SELECT elements.
    * @namespace YAHOO.widget
    * @class Overlay
    * @extends YAHOO.widget.Module
    * @param {String} el The element ID representing the Overlay =
<em>OR</em>
    * @param {HTMLElement} el The element representing the Overlay
    * @param {Object} userConfig The configuration object literal =
containing=20
    * the configuration that should be set for this Overlay. See =
configuration=20
    * documentation for more details.
    * @constructor
    */
    YAHOO.widget.Overlay =3D function (el, userConfig) {
        YAHOO.widget.Overlay.superclass.constructor.call(this, el, =
userConfig);
    };

    var Lang =3D YAHOO.lang,
        CustomEvent =3D YAHOO.util.CustomEvent,
        Module =3D YAHOO.widget.Module,
        Event =3D YAHOO.util.Event,
        Dom =3D YAHOO.util.Dom,
        Config =3D YAHOO.util.Config,
        Overlay =3D YAHOO.widget.Overlay,

        m_oIFrameTemplate,

        /**
        * Constant representing the name of the Overlay's events
        * @property EVENT_TYPES
        * @private
        * @final
        * @type Object
        */
        EVENT_TYPES =3D {
            "BEFORE_MOVE": "beforeMove",
            "MOVE": "move"
        },

        /**
        * Constant representing the Overlay's configuration properties
        * @property DEFAULT_CONFIG
        * @private
        * @final
        * @type Object
        */
        DEFAULT_CONFIG =3D {

            "X": {=20
                key: "x",=20
                validator: Lang.isNumber,=20
                suppressEvent: true,=20
                supercedes: ["iframe"]
            },

            "Y": {=20
                key: "y",=20
                validator: Lang.isNumber,=20
                suppressEvent: true,=20
                supercedes: ["iframe"]
            },

            "XY": {=20
                key: "xy",=20
                suppressEvent: true,=20
                supercedes: ["iframe"]=20
            },

            "CONTEXT": {=20
                key: "context",=20
                suppressEvent: true,=20
                supercedes: ["iframe"]=20
            },

            "FIXED_CENTER": {=20
                key: "fixedcenter",=20
                value: false,=20
                validator: Lang.isBoolean,=20
                supercedes: ["iframe", "visible"]=20
            },

            "WIDTH": {=20
                key: "width",=20
                suppressEvent: true,=20
                supercedes: ["context", "fixedcenter", "iframe"]=20
            },=20

            "HEIGHT": {=20
                key: "height",=20
                suppressEvent: true,=20
                supercedes: ["context", "fixedcenter", "iframe"]=20
            },

            "ZINDEX": {=20
                key: "zindex",=20
                value: null=20
            },

            "CONSTRAIN_TO_VIEWPORT": {=20
                key: "constraintoviewport",=20
                value: false,=20
                validator: Lang.isBoolean,=20
                supercedes: ["iframe", "x", "y", "xy"]
            },=20

            "IFRAME": {=20
                key: "iframe",=20
                value: (YAHOO.env.ua.ie =3D=3D 6 ? true : false),=20
                validator: Lang.isBoolean,=20
                supercedes: ["zindex"]=20
            }
        };

    /**
    * The URL that will be placed in the iframe
    * @property YAHOO.widget.Overlay.IFRAME_SRC
    * @static
    * @final
    * @type String
    */
    Overlay.IFRAME_SRC =3D "javascript:false;";

    /**
    * Number representing how much the iframe shim should be offset from =
each=20
    * side of an Overlay instance, in pixels.
    * @property YAHOO.widget.Overlay.IFRAME_SRC
    * @default 3
    * @static
    * @final
    * @type Number
    */
    Overlay.IFRAME_OFFSET =3D 3;

    /**
    * Number representing the minimum distance an Overlay instance =
should be=20
    * positioned relative to the boundaries of the browser's viewport, =
in pixels.
    * @property YAHOO.widget.Overlay.VIEWPORT_OFFSET
    * @default 10
    * @static
    * @final
    * @type Number
    */
    Overlay.VIEWPORT_OFFSET =3D 10;

    /**
    * Constant representing the top left corner of an element, used for=20
    * configuring the context element alignment
    * @property YAHOO.widget.Overlay.TOP_LEFT
    * @static
    * @final
    * @type String
    */
    Overlay.TOP_LEFT =3D "tl";

    /**
    * Constant representing the top right corner of an element, used for =

    * configuring the context element alignment
    * @property YAHOO.widget.Overlay.TOP_RIGHT
    * @static
    * @final
    * @type String
    */
    Overlay.TOP_RIGHT =3D "tr";

    /**
    * Constant representing the top bottom left corner of an element, =
used for=20
    * configuring the context element alignment
    * @property YAHOO.widget.Overlay.BOTTOM_LEFT
    * @static
    * @final
    * @type String
    */
    Overlay.BOTTOM_LEFT =3D "bl";

    /**
    * Constant representing the bottom right corner of an element, used =
for=20
    * configuring the context element alignment
    * @property YAHOO.widget.Overlay.BOTTOM_RIGHT
    * @static
    * @final
    * @type String
    */
    Overlay.BOTTOM_RIGHT =3D "br";

    /**
    * Constant representing the default CSS class used for an Overlay
    * @property YAHOO.widget.Overlay.CSS_OVERLAY
    * @static
    * @final
    * @type String
    */
    Overlay.CSS_OVERLAY =3D "yui-overlay";

    /**
    * A singleton CustomEvent used for reacting to the DOM event for=20
    * window scroll
    * @event YAHOO.widget.Overlay.windowScrollEvent
    */
    Overlay.windowScrollEvent =3D new CustomEvent("windowScroll");

    /**
    * A singleton CustomEvent used for reacting to the DOM event for
    * window resize
    * @event YAHOO.widget.Overlay.windowResizeEvent
    */
    Overlay.windowResizeEvent =3D new CustomEvent("windowResize");

    /**
    * The DOM event handler used to fire the CustomEvent for window =
scroll
    * @method YAHOO.widget.Overlay.windowScrollHandler
    * @static
    * @param {DOMEvent} e The DOM scroll event
    */
    Overlay.windowScrollHandler =3D function (e) {

        if (YAHOO.env.ua.ie) {

            if (! window.scrollEnd) {
                window.scrollEnd =3D -1;
            }

            clearTimeout(window.scrollEnd);
   =20
            window.scrollEnd =3D setTimeout(function () {=20
                Overlay.windowScrollEvent.fire();=20
            }, 1);
   =20
        } else {
            Overlay.windowScrollEvent.fire();
        }
    };

    /**
    * The DOM event handler used to fire the CustomEvent for window =
resize
    * @method YAHOO.widget.Overlay.windowResizeHandler
    * @static
    * @param {DOMEvent} e The DOM resize event
    */
    Overlay.windowResizeHandler =3D function (e) {

        if (YAHOO.env.ua.ie) {
            if (! window.resizeEnd) {
                window.resizeEnd =3D -1;
            }

            clearTimeout(window.resizeEnd);

            window.resizeEnd =3D setTimeout(function () {
                Overlay.windowResizeEvent.fire();=20
            }, 100);
        } else {
            Overlay.windowResizeEvent.fire();
        }
    };

    /**
    * A boolean that indicated whether the window resize and scroll =
events have=20
    * already been subscribed to.
    * @property YAHOO.widget.Overlay._initialized
    * @private
    * @type Boolean
    */
    Overlay._initialized =3D null;

    if (Overlay._initialized =3D=3D=3D null) {
        Event.on(window, "scroll", Overlay.windowScrollHandler);
        Event.on(window, "resize", Overlay.windowResizeHandler);
   =20
        Overlay._initialized =3D true;
    }

    YAHOO.extend(Overlay, Module, {

        /**
        * The Overlay initialization method, which is executed for =
Overlay and =20
        * all of its subclasses. This method is automatically called by =
the=20
        * constructor, and  sets up all DOM references for pre-existing =
markup,=20
        * and creates required markup if it is not already present.
        * @method init
        * @param {String} el The element ID representing the Overlay =
<em>OR</em>
        * @param {HTMLElement} el The element representing the Overlay
        * @param {Object} userConfig The configuration object literal=20
        * containing the configuration that should be set for this =
Overlay.=20
        * See configuration documentation for more details.
        */
        init: function (el, userConfig) {
   =20
            /*
                 Note that we don't pass the user config in here yet =
because we
                 only want it executed once, at the lowest subclass =
level
            */
   =20
            Overlay.superclass.init.call(this, el/*, userConfig*/); =20

            this.beforeInitEvent.fire(Overlay);
           =20
            Dom.addClass(this.element, Overlay.CSS_OVERLAY);
           =20
            if (userConfig) {
                this.cfg.applyConfig(userConfig, true);
            }

            if (this.platform =3D=3D "mac" && YAHOO.env.ua.gecko) {

                if (! Config.alreadySubscribed(this.showEvent,
                    this.showMacGeckoScrollbars, this)) {

                    =
this.showEvent.subscribe(this.showMacGeckoScrollbars,=20
                        this, true);

                }

                if (! Config.alreadySubscribed(this.hideEvent,=20
                    this.hideMacGeckoScrollbars, this)) {

                    =
this.hideEvent.subscribe(this.hideMacGeckoScrollbars,=20
                        this, true);

                }
            }

            this.initEvent.fire(Overlay);
        },
       =20
        /**
        * Initializes the custom events for Overlay which are fired =20
        * automatically at appropriate times by the Overlay class.
        * @method initEvents
        */
        initEvents: function () {
   =20
            Overlay.superclass.initEvents.call(this);
           =20
            var SIGNATURE =3D CustomEvent.LIST;
           =20
            /**
            * CustomEvent fired before the Overlay is moved.
            * @event beforeMoveEvent
            * @param {Number} x x coordinate
            * @param {Number} y y coordinate
            */
            this.beforeMoveEvent =3D =
this.createEvent(EVENT_TYPES.BEFORE_MOVE);
            this.beforeMoveEvent.signature =3D SIGNATURE;
           =20
            /**
            * CustomEvent fired after the Overlay is moved.
            * @event moveEvent
            * @param {Number} x x coordinate
            * @param {Number} y y coordinate
            */
            this.moveEvent =3D this.createEvent(EVENT_TYPES.MOVE);
            this.moveEvent.signature =3D SIGNATURE;
       =20
        },
       =20
        /**
        * Initializes the class's configurable properties which can be =
changed=20
        * using the Overlay's Config object (cfg).
        * @method initDefaultConfig
        */
        initDefaultConfig: function () {
   =20
            Overlay.superclass.initDefaultConfig.call(this);
           =20
           =20
            // Add overlay config properties //
           =20
            /**
            * The absolute x-coordinate position of the Overlay
            * @config x
            * @type Number
            * @default null
            */
            this.cfg.addProperty(DEFAULT_CONFIG.X.key, {=20
   =20
                handler: this.configX,=20
                validator: DEFAULT_CONFIG.X.validator,=20
                suppressEvent: DEFAULT_CONFIG.X.suppressEvent,=20
                supercedes: DEFAULT_CONFIG.X.supercedes
   =20
            });

            /**
            * The absolute y-coordinate position of the Overlay
            * @config y
            * @type Number
            * @default null
            */
            this.cfg.addProperty(DEFAULT_CONFIG.Y.key, {

                handler: this.configY,=20
                validator: DEFAULT_CONFIG.Y.validator,=20
                suppressEvent: DEFAULT_CONFIG.Y.suppressEvent,=20
                supercedes: DEFAULT_CONFIG.Y.supercedes

            });
   =20
            /**
            * An array with the absolute x and y positions of the =
Overlay
            * @config xy
            * @type Number[]
            * @default null
            */
            this.cfg.addProperty(DEFAULT_CONFIG.XY.key, {
           =20
                handler: this.configXY,=20
                suppressEvent: DEFAULT_CONFIG.XY.suppressEvent,=20
                supercedes: DEFAULT_CONFIG.XY.supercedes
           =20
            });
   =20
            /**
            * The array of context arguments for context-sensitive =
positioning. =20
            * The format is: [id or element, element corner, context =
corner].=20
            * For example, setting this property to ["img1", "tl", "bl"] =
would=20
            * align the Overlay's top left corner to the context =
element's=20
            * bottom left corner.
            * @config context
            * @type Array
            * @default null
            */
            this.cfg.addProperty(DEFAULT_CONFIG.CONTEXT.key, {
           =20
                handler: this.configContext,=20
                suppressEvent: DEFAULT_CONFIG.CONTEXT.suppressEvent,=20
                supercedes: DEFAULT_CONFIG.CONTEXT.supercedes
           =20
            });

            /**
            * True if the Overlay should be anchored to the center of=20
            * the viewport.
            * @config fixedcenter
            * @type Boolean
            * @default false
            */
            this.cfg.addProperty(DEFAULT_CONFIG.FIXED_CENTER.key, {
           =20
                handler: this.configFixedCenter,
                value: DEFAULT_CONFIG.FIXED_CENTER.value,=20
                validator: DEFAULT_CONFIG.FIXED_CENTER.validator,=20
                supercedes: DEFAULT_CONFIG.FIXED_CENTER.supercedes
           =20
            });
   =20
            /**
            * CSS width of the Overlay.
            * @config width
            * @type String
            * @default null
            */
            this.cfg.addProperty(DEFAULT_CONFIG.WIDTH.key, {

                handler: this.configWidth,=20
                suppressEvent: DEFAULT_CONFIG.WIDTH.suppressEvent,=20
                supercedes: DEFAULT_CONFIG.WIDTH.supercedes

            });

            /**
            * CSS height of the Overlay.
            * @config height
            * @type String
            * @default null
            */
            this.cfg.addProperty(DEFAULT_CONFIG.HEIGHT.key, {

                handler: this.configHeight,=20
                suppressEvent: DEFAULT_CONFIG.HEIGHT.suppressEvent,=20
                supercedes: DEFAULT_CONFIG.HEIGHT.supercedes
           =20
            });
           =20
            /**
            * CSS z-index of the Overlay.
            * @config zIndex
            * @type Number
            * @default null
            */
            this.cfg.addProperty(DEFAULT_CONFIG.ZINDEX.key, {

                handler: this.configzIndex,
                value: DEFAULT_CONFIG.ZINDEX.value

            });

            /**
            * True if the Overlay should be prevented from being =
positioned=20
            * out of the viewport.
            * @config constraintoviewport
            * @type Boolean
            * @default false
            */
            =
this.cfg.addProperty(DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.key, {

                handler: this.configConstrainToViewport,=20
                value: DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.value,=20
                validator: =
DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.validator,=20
                supercedes: =
DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.supercedes

            });

            /**
            * @config iframe
            * @description Boolean indicating whether or not the Overlay =
should=20
            * have an IFRAME shim; used to prevent SELECT elements from=20
            * poking through an Overlay instance in IE6.  When set to =
"true",=20
            * the iframe shim is created when the Overlay instance is =
intially
            * made visible.
            * @type Boolean
            * @default true for IE6 and below, false for all other =
browsers.
            */
            this.cfg.addProperty(DEFAULT_CONFIG.IFRAME.key, {

                handler: this.configIframe,=20
                value: DEFAULT_CONFIG.IFRAME.value,=20
                validator: DEFAULT_CONFIG.IFRAME.validator,=20
                supercedes: DEFAULT_CONFIG.IFRAME.supercedes

            });
        },

        /**
        * Moves the Overlay to the specified position. This function is  =

        * identical to calling this.cfg.setProperty("xy", [x,y]);
        * @method moveTo
        * @param {Number} x The Overlay's new x position
        * @param {Number} y The Overlay's new y position
        */
        moveTo: function (x, y) {
            this.cfg.setProperty("xy", [x, y]);
        },

        /**
        * Adds a CSS class ("hide-scrollbars") and removes a CSS class=20
        * ("show-scrollbars") to the Overlay to fix a bug in Gecko on =
Mac OS X=20
        * (https://bugzilla.mozilla.org/show_bug.cgi?id=3D187435)
        * @method hideMacGeckoScrollbars
        */
        hideMacGeckoScrollbars: function () {
   =20
            Dom.removeClass(this.element, "show-scrollbars");
            Dom.addClass(this.element, "hide-scrollbars");
   =20
        },

        /**
        * Adds a CSS class ("show-scrollbars") and removes a CSS class=20
        * ("hide-scrollbars") to the Overlay to fix a bug in Gecko on =
Mac OS X=20
        * (https://bugzilla.mozilla.org/show_bug.cgi?id=3D187435)
        * @method showMacGeckoScrollbars
        */
        showMacGeckoScrollbars: function () {
   =20
            Dom.removeClass(this.element, "hide-scrollbars");
            Dom.addClass(this.element, "show-scrollbars");
   =20
        },

        // BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
        /**
        * The default event handler fired when the "visible" property is =

        * changed.  This method is responsible for firing showEvent
        * and hideEvent.
        * @method configVisible
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configVisible: function (type, args, obj) {

            var visible =3D args[0],
                currentVis =3D Dom.getStyle(this.element, "visibility"),
                effect =3D this.cfg.getProperty("effect"),
                effectInstances =3D [],
                isMacGecko =3D (this.platform =3D=3D "mac" && =
YAHOO.env.ua.gecko),
                alreadySubscribed =3D Config.alreadySubscribed,
                eff, ei, e, i, j, k, h,
                nEffects,
                nEffectInstances;

            if (currentVis =3D=3D "inherit") {
                e =3D this.element.parentNode;

                while (e.nodeType !=3D 9 && e.nodeType !=3D 11) {
                    currentVis =3D Dom.getStyle(e, "visibility");

                    if (currentVis !=3D "inherit") {=20
                        break;=20
                    }

                    e =3D e.parentNode;
                }

                if (currentVis =3D=3D "inherit") {
                    currentVis =3D "visible";
                }
            }

            if (effect) {
                if (effect instanceof Array) {
                    nEffects =3D effect.length;

                    for (i =3D 0; i < nEffects; i++) {
                        eff =3D effect[i];
                        effectInstances[effectInstances.length] =3D=20
                            eff.effect(this, eff.duration);

                    }
                } else {
                    effectInstances[effectInstances.length] =3D=20
                        effect.effect(this, effect.duration);
                }
            }


            if (visible) { // Show
                if (isMacGecko) {
                    this.showMacGeckoScrollbars();
                }

                if (effect) { // Animate in
                    if (visible) { // Animate in if not showing
                        if (currentVis !=3D "visible" || currentVis =
=3D=3D=3D "") {
                            this.beforeShowEvent.fire();
                            nEffectInstances =3D effectInstances.length;

                            for (j =3D 0; j < nEffectInstances; j++) {
                                ei =3D effectInstances[j];
                                if (j =3D=3D=3D 0 && !alreadySubscribed(
                                        ei.animateInCompleteEvent,=20
                                        this.showEvent.fire, =
this.showEvent)) {

                                    /*
                                         Delegate showEvent until end=20
                                         of animateInComplete
                                    */

                                    ei.animateInCompleteEvent.subscribe(
                                     this.showEvent.fire, =
this.showEvent, true);
                                }
                                ei.animateIn();
                            }
                        }
                    }
                } else { // Show
                    if (currentVis !=3D "visible" || currentVis =
=3D=3D=3D "") {
                        this.beforeShowEvent.fire();

                        Dom.setStyle(this.element, "visibility", =
"visible");

                        this.cfg.refireEvent("iframe");
                        this.showEvent.fire();
                    }
                }
            } else { // Hide

                if (isMacGecko) {
                    this.hideMacGeckoScrollbars();
                }
                   =20
                if (effect) { // Animate out if showing
                    if (currentVis =3D=3D "visible") {
                        this.beforeHideEvent.fire();

                        nEffectInstances =3D effectInstances.length;
                        for (k =3D 0; k < nEffectInstances; k++) {
                            h =3D effectInstances[k];
   =20
                            if (k =3D=3D=3D 0 && !alreadySubscribed(
                                h.animateOutCompleteEvent, =
this.hideEvent.fire,=20
                                this.hideEvent)) {
   =20
                                /*
                                     Delegate hideEvent until end=20
                                     of animateOutComplete
                                */
   =20
                                h.animateOutCompleteEvent.subscribe(
                                    this.hideEvent.fire, this.hideEvent, =
true);
   =20
                            }
                            h.animateOut();
                        }

                    } else if (currentVis =3D=3D=3D "") {
                        Dom.setStyle(this.element, "visibility", =
"hidden");
                    }

                } else { // Simple hide

                    if (currentVis =3D=3D "visible" || currentVis =
=3D=3D=3D "") {
                        this.beforeHideEvent.fire();
                        Dom.setStyle(this.element, "visibility", =
"hidden");
                        this.hideEvent.fire();
                    }
                }
            }
        },

        /**
        * Center event handler used for centering on scroll/resize, but =
only if=20
        * the Overlay is visible
        * @method doCenterOnDOMEvent
        */
        doCenterOnDOMEvent: function () {
            if (this.cfg.getProperty("visible")) {
                this.center();
            }
        },

        /**
        * The default event handler fired when the "fixedcenter" =
property=20
        * is changed.
        * @method configFixedCenter
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configFixedCenter: function (type, args, obj) {

            var val =3D args[0],
                alreadySubscribed =3D Config.alreadySubscribed,
                windowResizeEvent =3D Overlay.windowResizeEvent,
                windowScrollEvent =3D Overlay.windowScrollEvent;

            if (val) {
                this.center();

                if (!alreadySubscribed(this.beforeShowEvent, =
this.center, this)) {
                    this.beforeShowEvent.subscribe(this.center);
                }

                if (!alreadySubscribed(windowResizeEvent, =
this.doCenterOnDOMEvent, this)) {
                    windowResizeEvent.subscribe(this.doCenterOnDOMEvent, =
this, true);
                }

                if (!alreadySubscribed(windowScrollEvent, =
this.doCenterOnDOMEvent, this)) {
                    windowScrollEvent.subscribe(this.doCenterOnDOMEvent, =
this, true);
                }

            } else {
                this.beforeShowEvent.unsubscribe(this.center);

                windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent, =
this);
                windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent, =
this);
            }
        },
       =20
        /**
        * The default event handler fired when the "height" property is =
changed.
        * @method configHeight
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configHeight: function (type, args, obj) {

            var height =3D args[0],
                el =3D this.element;

            Dom.setStyle(el, "height", height);
            this.cfg.refireEvent("iframe");
        },

        /**
        * The default event handler fired when the "width" property is =
changed.
        * @method configWidth
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configWidth: function (type, args, obj) {

            var width =3D args[0],
                el =3D this.element;
   =20
            Dom.setStyle(el, "width", width);
            this.cfg.refireEvent("iframe");
        },
       =20
        /**
        * The default event handler fired when the "zIndex" property is =
changed.
        * @method configzIndex
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configzIndex: function (type, args, obj) {

            var zIndex =3D args[0],
                el =3D this.element;

            if (! zIndex) {
                zIndex =3D Dom.getStyle(el, "zIndex");
                if (! zIndex || isNaN(zIndex)) {
                    zIndex =3D 0;
                }
            }

            if (this.iframe || this.cfg.getProperty("iframe") =3D=3D=3D =
true) {
                if (zIndex <=3D 0) {
                    zIndex =3D 1;
                }
            }

            Dom.setStyle(el, "zIndex", zIndex);
            this.cfg.setProperty("zIndex", zIndex, true);

            if (this.iframe) {
                this.stackIframe();
            }
        },

        /**
        * The default event handler fired when the "xy" property is =
changed.
        * @method configXY
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configXY: function (type, args, obj) {

            var pos =3D args[0],
                x =3D pos[0],
                y =3D pos[1];

            this.cfg.setProperty("x", x);
            this.cfg.setProperty("y", y);

            this.beforeMoveEvent.fire([x, y]);

            x =3D this.cfg.getProperty("x");
            y =3D this.cfg.getProperty("y");


            this.cfg.refireEvent("iframe");
            this.moveEvent.fire([x, y]);
        },

        /**
        * The default event handler fired when the "x" property is =
changed.
        * @method configX
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configX: function (type, args, obj) {

            var x =3D args[0],
                y =3D this.cfg.getProperty("y");

            this.cfg.setProperty("x", x, true);
            this.cfg.setProperty("y", y, true);

            this.beforeMoveEvent.fire([x, y]);

            x =3D this.cfg.getProperty("x");
            y =3D this.cfg.getProperty("y");
           =20
            Dom.setX(this.element, x, true);

            this.cfg.setProperty("xy", [x, y], true);

            this.cfg.refireEvent("iframe");
            this.moveEvent.fire([x, y]);
        },

        /**
        * The default event handler fired when the "y" property is =
changed.
        * @method configY
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configY: function (type, args, obj) {

            var x =3D this.cfg.getProperty("x"),
                y =3D args[0];

            this.cfg.setProperty("x", x, true);
            this.cfg.setProperty("y", y, true);

            this.beforeMoveEvent.fire([x, y]);

            x =3D this.cfg.getProperty("x");
            y =3D this.cfg.getProperty("y");

            Dom.setY(this.element, y, true);

            this.cfg.setProperty("xy", [x, y], true);

            this.cfg.refireEvent("iframe");
            this.moveEvent.fire([x, y]);
        },
       =20
        /**
        * Shows the iframe shim, if it has been enabled.
        * @method showIframe
        */
        showIframe: function () {

            var oIFrame =3D this.iframe,
                oParentNode;

            if (oIFrame) {
                oParentNode =3D this.element.parentNode;

                if (oParentNode !=3D oIFrame.parentNode) {
                    this._addToParent(oParentNode, oIFrame);
                }
                oIFrame.style.display =3D "block";
            }
        },

        /**
        * Hides the iframe shim, if it has been enabled.
        * @method hideIframe
        */
        hideIframe: function () {
            if (this.iframe) {
                this.iframe.style.display =3D "none";
            }
        },

        /**
        * Syncronizes the size and position of iframe shim to that of =
its=20
        * corresponding Overlay instance.
        * @method syncIframe
        */
        syncIframe: function () {

            var oIFrame =3D this.iframe,
                oElement =3D this.element,
                nOffset =3D Overlay.IFRAME_OFFSET,
                nDimensionOffset =3D (nOffset * 2),
                aXY;

            if (oIFrame) {
                // Size <iframe>
                oIFrame.style.width =3D (oElement.offsetWidth + =
nDimensionOffset + "px");
                oIFrame.style.height =3D (oElement.offsetHeight + =
nDimensionOffset + "px");

                // Position <iframe>
                aXY =3D this.cfg.getProperty("xy");

                if (!Lang.isArray(aXY) || (isNaN(aXY[0]) || =
isNaN(aXY[1]))) {
                    this.syncPosition();
                    aXY =3D this.cfg.getProperty("xy");
                }
                Dom.setXY(oIFrame, [(aXY[0] - nOffset), (aXY[1] - =
nOffset)]);
            }
        },

        /**
         * Sets the zindex of the iframe shim, if it exists, based on =
the zindex of
         * the Overlay element. The zindex of the iframe is set to be =
one less=20
         * than the Overlay element's zindex.
         *=20
         * <p>NOTE: This method will not bump up the zindex of the =
Overlay element
         * to ensure that the iframe shim has a non-negative zindex.
         * If you require the iframe zindex to be 0 or higher, the =
zindex of=20
         * the Overlay element should be set to a value greater than 0, =
before=20
         * this method is called.
         * </p>
         * @method stackIframe
         */
        stackIframe: function () {
            if (this.iframe) {
                var overlayZ =3D Dom.getStyle(this.element, "zIndex");
                if (!YAHOO.lang.isUndefined(overlayZ) && =
!isNaN(overlayZ)) {
                    Dom.setStyle(this.iframe, "zIndex", (overlayZ - 1));
                }
            }
        },

        /**
        * The default event handler fired when the "iframe" property is =
changed.
        * @method configIframe
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configIframe: function (type, args, obj) {

            var bIFrame =3D args[0];

            function createIFrame() {

                var oIFrame =3D this.iframe,
                    oElement =3D this.element,
                    oParent;

                if (!oIFrame) {
                    if (!m_oIFrameTemplate) {
                        m_oIFrameTemplate =3D =
document.createElement("iframe");

                        if (this.isSecure) {
                            m_oIFrameTemplate.src =3D =
Overlay.IFRAME_SRC;
                        }

                        /*
                            Set the opacity of the <iframe> to 0 so that =
it=20
                            doesn't modify the opacity of any =
transparent=20
                            elements that may be on top of it (like a =
shadow).
                        */

                        if (YAHOO.env.ua.ie) {
                            m_oIFrameTemplate.style.filter =3D =
"alpha(opacity=3D0)";
                            /*
                                 Need to set the "frameBorder" property =
to 0=20
                                 supress the default <iframe> border in =
IE. =20
                                 Setting the CSS "border" property alone =

                                 doesn't supress it.
                            */
                            m_oIFrameTemplate.frameBorder =3D 0;
                        }
                        else {
                            m_oIFrameTemplate.style.opacity =3D "0";
                        }

                        m_oIFrameTemplate.style.position =3D "absolute";
                        m_oIFrameTemplate.style.border =3D "none";
                        m_oIFrameTemplate.style.margin =3D "0";
                        m_oIFrameTemplate.style.padding =3D "0";
                        m_oIFrameTemplate.style.display =3D "none";
                    }

                    oIFrame =3D m_oIFrameTemplate.cloneNode(false);
                    oParent =3D oElement.parentNode;

                    var parentNode =3D oParent || document.body;

                    this._addToParent(parentNode, oIFrame);
                    this.iframe =3D oIFrame;
                }

                /*
                     Show the <iframe> before positioning it since the =
"setXY"=20
                     method of DOM requires the element be in the =
document=20
                     and visible.
                */
                this.showIframe();

                /*
                     Syncronize the size and position of the <iframe> to =
that=20
                     of the Overlay.
                */
                this.syncIframe();
                this.stackIframe();

                // Add event listeners to update the <iframe> when =
necessary
                if (!this._hasIframeEventListeners) {
                    this.showEvent.subscribe(this.showIframe);
                    this.hideEvent.subscribe(this.hideIframe);
                    this.changeContentEvent.subscribe(this.syncIframe);

                    this._hasIframeEventListeners =3D true;
                }
            }

            function onBeforeShow() {
                createIFrame.call(this);
                this.beforeShowEvent.unsubscribe(onBeforeShow);
                this._iframeDeferred =3D false;
            }

            if (bIFrame) { // <iframe> shim is enabled

                if (this.cfg.getProperty("visible")) {
                    createIFrame.call(this);
                } else {
                    if (!this._iframeDeferred) {
                        this.beforeShowEvent.subscribe(onBeforeShow);
                        this._iframeDeferred =3D true;
                    }
                }

            } else {    // <iframe> shim is disabled
                this.hideIframe();

                if (this._hasIframeEventListeners) {
                    this.showEvent.unsubscribe(this.showIframe);
                    this.hideEvent.unsubscribe(this.hideIframe);
                    =
this.changeContentEvent.unsubscribe(this.syncIframe);

                    this._hasIframeEventListeners =3D false;
                }
            }
        },

        /**
         * Set's the container's XY value from DOM if not already set.
         *=20
         * Differs from syncPosition, in that the XY value is only =
sync'd with DOM if=20
         * not already set. The method also refire's the XY config =
property event, so any
         * beforeMove, Move event listeners are invoked.
         *=20
         * @method _primeXYFromDOM
         * @protected
         */
        _primeXYFromDOM : function() {
            if (YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))) {
                // Set CFG XY based on DOM XY
                this.syncPosition();
                // Account for XY being set silently in syncPosition (no =
moveTo fired/called)
                this.cfg.refireEvent("xy");
                this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);
            }
        },

        /**
        * The default event handler fired when the "constraintoviewport" =

        * property is changed.
        * @method configConstrainToViewport
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for=20
        * the property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configConstrainToViewport: function (type, args, obj) {
            var val =3D args[0];

            if (val) {
                if (! Config.alreadySubscribed(this.beforeMoveEvent, =
this.enforceConstraints, this)) {
                    =
this.beforeMoveEvent.subscribe(this.enforceConstraints, this, true);
                }
                if (! Config.alreadySubscribed(this.beforeShowEvent, =
this._primeXYFromDOM)) {
                    =
this.beforeShowEvent.subscribe(this._primeXYFromDOM);
                }
            } else {
                this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);
                =
this.beforeMoveEvent.unsubscribe(this.enforceConstraints, this);
            }
        },

         /**
        * The default event handler fired when the "context" property=20
        * is changed.
        * @method configContext
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        configContext: function (type, args, obj) {
   =20
            var contextArgs =3D args[0],
                contextEl,
                elementMagnetCorner,
                contextMagnetCorner;

            if (contextArgs) {
                contextEl =3D contextArgs[0];
                elementMagnetCorner =3D contextArgs[1];
                contextMagnetCorner =3D contextArgs[2];
               =20
                if (contextEl) {
                    if (typeof contextEl =3D=3D "string") {
                        this.cfg.setProperty("context",=20
                            [document.getElementById(contextEl),=20
                                elementMagnetCorner, =
contextMagnetCorner],=20
                                true);
                    }
                   =20
                    if (elementMagnetCorner && contextMagnetCorner) {
                        this.align(elementMagnetCorner, =
contextMagnetCorner);
                    }
                }
            }
        },

        // END BUILT-IN PROPERTY EVENT HANDLERS //
        /**
        * Aligns the Overlay to its context element using the specified =
corner=20
        * points (represented by the constants TOP_LEFT, TOP_RIGHT, =
BOTTOM_LEFT,=20
        * and BOTTOM_RIGHT.
        * @method align
        * @param {String} elementAlign  The String representing the =
corner of=20
        * the Overlay that should be aligned to the context element
        * @param {String} contextAlign  The corner of the context =
element=20
        * that the elementAlign corner should stick to.
        */
        align: function (elementAlign, contextAlign) {

            var contextArgs =3D this.cfg.getProperty("context"),
                me =3D this,
                context,
                element,
                contextRegion;

            function doAlign(v, h) {
   =20
                switch (elementAlign) {
   =20
                case Overlay.TOP_LEFT:
                    me.moveTo(h, v);
                    break;
   =20
                case Overlay.TOP_RIGHT:
                    me.moveTo((h - element.offsetWidth), v);
                    break;
   =20
                case Overlay.BOTTOM_LEFT:
                    me.moveTo(h, (v - element.offsetHeight));
                    break;
   =20
                case Overlay.BOTTOM_RIGHT:
                    me.moveTo((h - element.offsetWidth),=20
                        (v - element.offsetHeight));
                    break;
                }
            }
   =20
   =20
            if (contextArgs) {
           =20
                context =3D contextArgs[0];
                element =3D this.element;
                me =3D this;
               =20
                if (! elementAlign) {
                    elementAlign =3D contextArgs[1];
                }
               =20
                if (! contextAlign) {
                    contextAlign =3D contextArgs[2];
                }
               =20
                if (element && context) {
                    contextRegion =3D Dom.getRegion(context);

                    switch (contextAlign) {
   =20
                    case Overlay.TOP_LEFT:
                        doAlign(contextRegion.top, contextRegion.left);
                        break;
   =20
                    case Overlay.TOP_RIGHT:
                        doAlign(contextRegion.top, contextRegion.right);
                        break;
   =20
                    case Overlay.BOTTOM_LEFT:
                        doAlign(contextRegion.bottom, =
contextRegion.left);
                        break;
   =20
                    case Overlay.BOTTOM_RIGHT:
                        doAlign(contextRegion.bottom, =
contextRegion.right);
                        break;
                    }
   =20
                }
   =20
            }
           =20
        },

        /**
        * The default event handler executed when the moveEvent is =
fired, if the=20
        * "constraintoviewport" is set to true.
        * @method enforceConstraints
        * @param {String} type The CustomEvent type (usually the =
property name)
        * @param {Object[]} args The CustomEvent arguments. For =
configuration=20
        * handlers, args[0] will equal the newly applied value for the =
property.
        * @param {Object} obj The scope object. For configuration =
handlers,=20
        * this will usually equal the owner.
        */
        enforceConstraints: function (type, args, obj) {
            var pos =3D args[0];
            var cXY =3D this.getConstrainedXY(pos[0], pos[1]);
            this.cfg.setProperty("x", cXY[0], true);
            this.cfg.setProperty("y", cXY[1], true);
            this.cfg.setProperty("xy", cXY, true);
        },

        /**
         * Given x, y coordinate values, returns the calculated =
coordinates required to=20
         * position the Overlay if it is to be constrained to the =
viewport, based on the=20
         * current element size, viewport dimensions and scroll values.
         *
         * @param {Number} x The X coordinate value to be constrained
         * @param {Number} y The Y coordinate value to be constrained
         * @return {Array} The constrained x and y coordinates at index =
0 and 1 respectively;
         */
        getConstrainedXY: function(x, y) {

            var nViewportOffset =3D Overlay.VIEWPORT_OFFSET,
                viewPortWidth =3D Dom.getViewportWidth(),
                viewPortHeight =3D Dom.getViewportHeight(),
                offsetHeight =3D this.element.offsetHeight,
                offsetWidth =3D this.element.offsetWidth,
                scrollX =3D Dom.getDocumentScrollLeft(),
                scrollY =3D Dom.getDocumentScrollTop();

            var xNew =3D x;
            var yNew =3D y;

            if (offsetWidth + nViewportOffset < viewPortWidth) {

                var leftConstraint =3D scrollX + nViewportOffset;
                var rightConstraint =3D scrollX + viewPortWidth - =
offsetWidth - nViewportOffset;

                if (x < leftConstraint) {
                    xNew =3D leftConstraint;
                } else if (x > rightConstraint) {
                    xNew =3D rightConstraint;
                }
            } else {
                xNew =3D nViewportOffset + scrollX;
            }

            if (offsetHeight + nViewportOffset < viewPortHeight) {

                var topConstraint =3D scrollY + nViewportOffset;
                var bottomConstraint =3D scrollY + viewPortHeight - =
offsetHeight - nViewportOffset;

                if (y < topConstraint) {
                    yNew  =3D topConstraint;
                } else if (y  > bottomConstraint) {
                    yNew  =3D bottomConstraint;
                }
            } else {
                yNew =3D nViewportOffset + scrollY;
            }

            return [xNew, yNew];
        },

        /**
        * Centers the container in the viewport.
        * @method center
        */
        center: function () {

            var nViewportOffset =3D Overlay.VIEWPORT_OFFSET,
                elementWidth =3D this.element.offsetWidth,
                elementHeight =3D this.element.offsetHeight,
                viewPortWidth =3D Dom.getViewportWidth(),
                viewPortHeight =3D Dom.getViewportHeight(),
                x,
                y;

            if (elementWidth < viewPortWidth) {
                x =3D (viewPortWidth / 2) - (elementWidth / 2) + =
Dom.getDocumentScrollLeft();
            } else {
                x =3D nViewportOffset + Dom.getDocumentScrollLeft();
            }

            if (elementHeight < viewPortHeight) {
                y =3D (viewPortHeight / 2) - (elementHeight / 2) + =
Dom.getDocumentScrollTop();
            } else {
                y =3D nViewportOffset + Dom.getDocumentScrollTop();
            }

            this.cfg.setProperty("xy", [parseInt(x, 10), parseInt(y, =
10)]);
            this.cfg.refireEvent("iframe");
        },

        /**
        * Synchronizes the Panel's "xy", "x", and "y" properties with =
the=20
        * Panel's position in the DOM. This is primarily used to update  =

        * position information during drag & drop.
        * @method syncPosition
        */
        syncPosition: function () {

            var pos =3D Dom.getXY(this.element);

            this.cfg.setProperty("x", pos[0], true);
            this.cfg.setProperty("y", pos[1], true);
            this.cfg.setProperty("xy", pos, true);

        },

        /**
        * Event handler fired when the resize monitor element is =
resized.
        * @method onDomResize
        * @param {DOMEvent} e The resize DOM event
        * @param {Object} obj The scope object
        */
        onDomResize: function (e, obj) {

            var me =3D this;

            Overlay.superclass.onDomResize.call(this, e, obj);

            setTimeout(function () {
                me.syncPosition();
                me.cfg.refireEvent("iframe");
                me.cfg.refireEvent("context");
            }, 0);
   =20
        },

        /**
        * Places the Overlay on top of all other instances of=20
        * YAHOO.widget.Overlay.
        * @method bringToTop
        */
        bringToTop: function () {

            var aOverlays =3D [],
                oElement =3D this.element;

            function compareZIndexDesc(p_oOverlay1, p_oOverlay2) {

                var sZIndex1 =3D Dom.getStyle(p_oOverlay1, "zIndex"),
                    sZIndex2 =3D Dom.getStyle(p_oOverlay2, "zIndex"),

                    nZIndex1 =3D (!sZIndex1 || isNaN(sZIndex1)) ? 0 : =
parseInt(sZIndex1, 10),
                    nZIndex2 =3D (!sZIndex2 || isNaN(sZIndex2)) ? 0 : =
parseInt(sZIndex2, 10);

                if (nZIndex1 > nZIndex2) {
                    return -1;
                } else if (nZIndex1 < nZIndex2) {
                    return 1;
                } else {
                    return 0;
                }
            }

            function isOverlayElement(p_oElement) {

                var oOverlay =3D Dom.hasClass(p_oElement, =
Overlay.CSS_OVERLAY),
                    Panel =3D YAHOO.widget.Panel;

                if (oOverlay && !Dom.isAncestor(oElement, oOverlay)) {
                    if (Panel && Dom.hasClass(p_oElement, =
Panel.CSS_PANEL)) {
                        aOverlays[aOverlays.length] =3D =
p_oElement.parentNode;
                    } else {
                        aOverlays[aOverlays.length] =3D p_oElement;
                    }
                }
            }

            Dom.getElementsBy(isOverlayElement, "DIV", document.body);

            aOverlays.sort(compareZIndexDesc);

            var oTopOverlay =3D aOverlays[0],
                nTopZIndex;

            if (oTopOverlay) {
                nTopZIndex =3D Dom.getStyle(oTopOverlay, "zIndex");

                if (!isNaN(nTopZIndex)) {
                    var bRequiresBump =3D false;

                    if (oTopOverlay !=3D oElement) {
                        bRequiresBump =3D true;
                    } else if (aOverlays.length > 1) {
                        var nNextZIndex =3D Dom.getStyle(aOverlays[1], =
"zIndex");
                        // Don't rely on DOM order to stack if 2 =
overlays are at the same zindex.
                        if (!isNaN(nNextZIndex) && (nTopZIndex =3D=3D =
nNextZIndex)) {
                            bRequiresBump =3D true;
                        }
                    }
                    if (bRequiresBump) {
                        this.cfg.setProperty("zindex", =
(parseInt(nTopZIndex, 10) + 2));
                    }
                }
            }
        },

        /**
        * Removes the Overlay element from the DOM and sets all child=20
        * elements to null.
        * @method destroy
        */
        destroy: function () {

            if (this.iframe) {
                this.iframe.parentNode.removeChild(this.iframe);
            }

            this.iframe =3D null;
       =20
            Overlay.windowResizeEvent.unsubscribe(
                this.doCenterOnDOMEvent, this);
   =20
            Overlay.windowScrollEvent.unsubscribe(
                this.doCenterOnDOMEvent, this);
       =20
            Overlay.superclass.destroy.call(this);
        },
       =20
        /**
        * Returns a String representation of the object.
        * @method toString
        * @return {String} The string representation of the Overlay.
        */
        toString: function () {
            return "Overlay " + this.id;
        }

    });
}());

(function () {
   =20
    /**
    * OverlayManager is used for maintaining the focus status of=20
    * multiple Overlays.
    * @namespace YAHOO.widget
    * @namespace YAHOO.widget
    * @class OverlayManager
    * @constructor
    * @param {Array} overlays Optional. A collection of Overlays to =
register=20
    * with the manager.
    * @param {Object} userConfig  The object literal representing the =
user=20
    * configuration of the OverlayManager
    */
    YAHOO.widget.OverlayManager =3D function (userConfig) {
        this.init(userConfig);
    };

    var Overlay =3D YAHOO.widget.Overlay,
        Event =3D YAHOO.util.Event,
        Dom =3D YAHOO.util.Dom,
        Config =3D YAHOO.util.Config,
        CustomEvent =3D YAHOO.util.CustomEvent,
        OverlayManager =3D YAHOO.widget.OverlayManager;
   =20
    /**
    * The CSS class representing a focused Overlay
    * @property OverlayManager.CSS_FOCUSED
    * @static
    * @final
    * @type String
    */
    OverlayManager.CSS_FOCUSED =3D "focused";
   =20
    OverlayManager.prototype =3D {
   =20
        /**
        * The class's constructor function
        * @property contructor
        * @type Function
        */
        constructor: OverlayManager,
       =20
        /**
        * The array of Overlays that are currently registered
        * @property overlays
        * @type YAHOO.widget.Overlay[]
        */
        overlays: null,
       =20
        /**
        * Initializes the default configuration of the OverlayManager
        * @method initDefaultConfig
        */
        initDefaultConfig: function () {
       =20
            /**
            * The collection of registered Overlays in use by=20
            * the OverlayManager
            * @config overlays
            * @type YAHOO.widget.Overlay[]
            * @default null
            */
            this.cfg.addProperty("overlays", { suppressEvent: true } );
       =20
            /**
            * The default DOM event that should be used to focus an =
Overlay
            * @config focusevent
            * @type String
            * @default "mousedown"
            */
            this.cfg.addProperty("focusevent", { value: "mousedown" } );

        },

        /**
        * Initializes the OverlayManager
        * @method init
        * @param {Overlay[]} overlays Optional. A collection of Overlays =
to=20
        * register with the manager.
        * @param {Object} userConfig  The object literal representing =
the user=20
        * configuration of the OverlayManager
        */
        init: function (userConfig) {

            /**
            * The OverlayManager's Config object used for monitoring=20
            * configuration properties.
            * @property cfg
            * @type Config
            */
            this.cfg =3D new Config(this);

            this.initDefaultConfig();

            if (userConfig) {
                this.cfg.applyConfig(userConfig, true);
            }
            this.cfg.fireQueue();

            /**
            * The currently activated Overlay
            * @property activeOverlay
            * @private
            * @type YAHOO.widget.Overlay
            */
            var activeOverlay =3D null;

            /**
            * Returns the currently focused Overlay
            * @method getActive
            * @return {Overlay} The currently focused Overlay
            */
            this.getActive =3D function () {
                return activeOverlay;
            };

            /**
            * Focuses the specified Overlay
            * @method focus
            * @param {Overlay} overlay The Overlay to focus
            * @param {String} overlay The id of the Overlay to focus
            */
            this.focus =3D function (overlay) {
                var o =3D this.find(overlay);
                if (o) {
                    if (activeOverlay !=3D o) {
                        if (activeOverlay) {
                            activeOverlay.blur();
                        }
                        this.bringToTop(o);

                        activeOverlay =3D o;

                        Dom.addClass(activeOverlay.element,=20
                            OverlayManager.CSS_FOCUSED);

                        o.focusEvent.fire();
                    }
                }
            };
       =20
            /**
            * Removes the specified Overlay from the manager
            * @method remove
            * @param {Overlay} overlay The Overlay to remove
            * @param {String} overlay The id of the Overlay to remove
            */
            this.remove =3D function (overlay) {
                var o =3D this.find(overlay),=20
                        originalZ;
                if (o) {
                    if (activeOverlay =3D=3D o) {
                        activeOverlay =3D null;
                    }

                    var bDestroyed =3D (o.element =3D=3D=3D null && =
o.cfg =3D=3D=3D null) ? true : false;

                    if (!bDestroyed) {
                        // Set it's zindex so that it's sorted to the =
end.
                        originalZ =3D Dom.getStyle(o.element, "zIndex");
                        o.cfg.setProperty("zIndex", -1000, true);
                    }

                    this.overlays.sort(this.compareZIndexDesc);
                    this.overlays =3D this.overlays.slice(0, =
(this.overlays.length - 1));

                    o.hideEvent.unsubscribe(o.blur);
                    o.destroyEvent.unsubscribe(this._onOverlayDestroy, =
o);

                    if (!bDestroyed) {
                        Event.removeListener(o.element,=20
                                    this.cfg.getProperty("focusevent"),=20
                                    this._onOverlayElementFocus);

                        o.cfg.setProperty("zIndex", originalZ, true);
                        o.cfg.setProperty("manager", null);
                    }

                    o.focusEvent.unsubscribeAll();
                    o.blurEvent.unsubscribeAll();

                    o.focusEvent =3D null;
                    o.blurEvent =3D null;

                    o.focus =3D null;
                    o.blur =3D null;
                }
            };

            /**
            * Removes focus from all registered Overlays in the manager
            * @method blurAll
            */
            this.blurAll =3D function () {
   =20
                var nOverlays =3D this.overlays.length,
                    i;

                if (nOverlays > 0) {
                    i =3D nOverlays - 1;

                    do {
                        this.overlays[i].blur();
                    }
                    while(i--);
                }
            };
       =20
            this._onOverlayBlur =3D function (p_sType, p_aArgs) {
                activeOverlay =3D null;
            };
       =20
            var overlays =3D this.cfg.getProperty("overlays");
       =20
            if (! this.overlays) {
                this.overlays =3D [];
            }
       =20
            if (overlays) {
                this.register(overlays);
                this.overlays.sort(this.compareZIndexDesc);
            }
        },
       =20
       =20
        /**
        * @method _onOverlayElementFocus
        * @description Event handler for the DOM event that is used to =
focus=20
        * the Overlay instance as specified by the "focusevent"=20
        * configuration property.
        * @private
        * @param {Event} p_oEvent Object representing the DOM event=20
        * object passed back by the event utility (Event).
        */
        _onOverlayElementFocus: function (p_oEvent) {
       =20
            var oTarget =3D Event.getTarget(p_oEvent),
                oClose =3D this.close;
           =20
            if (oClose && (oTarget =3D=3D oClose || =
Dom.isAncestor(oClose, oTarget))) {
                this.blur();
            } else {
                this.focus();
            }
        },
       =20
       =20
        /**
        * @method _onOverlayDestroy
        * @description "destroy" event handler for the Overlay.
        * @private
        * @param {String} p_sType String representing the name of the =
event =20
        * that was fired.
        * @param {Array} p_aArgs Array of arguments sent when the event=20
        * was fired.
        * @param {Overlay} p_oOverlay Object representing the menu that=20
        * fired the event.
        */
        _onOverlayDestroy: function (p_sType, p_aArgs, p_oOverlay) {
            this.remove(p_oOverlay);
        },
       =20
        /**
        * Registers an Overlay or an array of Overlays with the manager. =
Upon=20
        * registration, the Overlay receives functions for focus and =
blur,=20
        * along with CustomEvents for each.
        * @method register
        * @param {Overlay} overlay  An Overlay to register with the =
manager.
        * @param {Overlay[]} overlay  An array of Overlays to register =
with=20
        * the manager.
        * @return {Boolean} True if any Overlays are registered.
        */
        register: function (overlay) {
       =20
            var mgr =3D this,
                zIndex,
                regcount,
                i,
                nOverlays;
       =20
            if (overlay instanceof Overlay) {

                overlay.cfg.addProperty("manager", { value: this } );

                overlay.focusEvent =3D overlay.createEvent("focus");
                overlay.focusEvent.signature =3D CustomEvent.LIST;

                overlay.blurEvent =3D overlay.createEvent("blur");
                overlay.blurEvent.signature =3D CustomEvent.LIST;
       =20
                overlay.focus =3D function () {
                    mgr.focus(this);
                };
       =20
                overlay.blur =3D function () {
                    if (mgr.getActive() =3D=3D this) {
                        Dom.removeClass(this.element, =
OverlayManager.CSS_FOCUSED);
                        this.blurEvent.fire();
                    }
                };
       =20
                overlay.blurEvent.subscribe(mgr._onOverlayBlur);
                overlay.hideEvent.subscribe(overlay.blur);
               =20
                overlay.destroyEvent.subscribe(this._onOverlayDestroy, =
overlay, this);
       =20
                Event.on(overlay.element, =
this.cfg.getProperty("focusevent"),=20
                            this._onOverlayElementFocus, null, overlay);
       =20
                zIndex =3D Dom.getStyle(overlay.element, "zIndex");

                if (!isNaN(zIndex)) {
                    overlay.cfg.setProperty("zIndex", parseInt(zIndex, =
10));
                } else {
                    overlay.cfg.setProperty("zIndex", 0);
                }

                this.overlays.push(overlay);
                this.bringToTop(overlay);

                return true;

            } else if (overlay instanceof Array) {

                regcount =3D 0;
                nOverlays =3D overlay.length;

                for (i =3D 0; i < nOverlays; i++) {
                    if (this.register(overlay[i])) {
                        regcount++;
                    }
                }

                if (regcount > 0) {
                    return true;
                }
            } else {
                return false;
            }
        },

        /**
        * Places the specified Overlay instance on top of all other=20
        * Overlay instances.
        * @method bringToTop
        * @param {YAHOO.widget.Overlay} p_oOverlay Object representing =
an=20
        * Overlay instance.
        * @param {String} p_oOverlay String representing the id of an=20
        * Overlay instance.
        */       =20
        bringToTop: function (p_oOverlay) {

            var oOverlay =3D this.find(p_oOverlay),
                nTopZIndex,
                oTopOverlay,
                aOverlays;

            if (oOverlay) {

                aOverlays =3D this.overlays;
                aOverlays.sort(this.compareZIndexDesc);

                oTopOverlay =3D aOverlays[0];

                if (oTopOverlay) {
                    nTopZIndex =3D Dom.getStyle(oTopOverlay.element, =
"zIndex");

                    if (!isNaN(nTopZIndex)) {

                        var bRequiresBump =3D false;

                        if (oTopOverlay !=3D=3D oOverlay) {
                            bRequiresBump =3D true;
                        } else if (aOverlays.length > 1) {
                            var nNextZIndex =3D =
Dom.getStyle(aOverlays[1].element, "zIndex");
                            // Don't rely on DOM order to stack if 2 =
overlays are at the same zindex.
                            if (!isNaN(nNextZIndex) && (nTopZIndex =
=3D=3D nNextZIndex)) {
                                bRequiresBump =3D true;
                            }
                        }

                        if (bRequiresBump) {
                            oOverlay.cfg.setProperty("zindex", =
(parseInt(nTopZIndex, 10) + 2));
                        }
                    }
                    aOverlays.sort(this.compareZIndexDesc);
                }
            }
        },

        /**
        * Attempts to locate an Overlay by instance or ID.
        * @method find
        * @param {Overlay} overlay  An Overlay to locate within the =
manager
        * @param {String} overlay  An Overlay id to locate within the =
manager
        * @return {Overlay} The requested Overlay, if found, or null if =
it=20
        * cannot be located.
        */
        find: function (overlay) {

            var aOverlays =3D this.overlays,
                nOverlays =3D aOverlays.length,
                i;

            if (nOverlays > 0) {
                i =3D nOverlays - 1;

                if (overlay instanceof Overlay) {
                    do {
                        if (aOverlays[i] =3D=3D overlay) {
                            return aOverlays[i];
                        }
                    }
                    while(i--);

                } else if (typeof overlay =3D=3D "string") {
                    do {
                        if (aOverlays[i].id =3D=3D overlay) {
                            return aOverlays[i];
                        }
                    }
                    while(i--);
                }
                return null;
            }
        },
       =20
        /**
        * Used for sorting the manager's Overlays by z-index.
        * @method compareZIndexDesc
        * @private
        * @return {Number} 0, 1, or -1, depending on where the Overlay =
should=20
        * fall in the stacking order.
        */
        compareZIndexDesc: function (o1, o2) {

            var zIndex1 =3D (o1.cfg) ? o1.cfg.getProperty("zIndex") : =
null, // Sort invalid (destroyed)
                zIndex2 =3D (o2.cfg) ? o2.cfg.getProperty("zIndex") : =
null; // objects at bottom.

            if (zIndex1 =3D=3D=3D null && zIndex2 =3D=3D=3D null) {
                return 0;
            } else if (zIndex1 =3D=3D=3D null){
                return 1;
            } else if (zIndex2 =3D=3D=3D null) {
                return -1;
            } else if (zIndex1 > zIndex2) {
                return -1;
            } else if (zIndex1 < zIndex2) {
                return 1;
            } else {
                return 0;
            }
        },
       =20
        /**
        * Shows all Overlays in the manager.
        * @method showAll
        */
        showAll: function () {
       =20
            var aOverlays =3D this.overlays,
                nOverlays =3D aOverlays.length,
                i;

            if (nOverlays > 0) {
                i =3D nOverlays - 1;
                do {
                    aOverlays[i].show();
                }
                while(i--);
            }
        },

        /**
        * Hides all Overlays in the manager.
        * @method hideAll
        */
        hideAll: function () {
       =20
            var aOverlays =3D this.overlays,
                nOverlays =3D aOverlays.length,
                i;

            if (nOverlays > 0) {
                i =3D nOverlays - 1;
                do {
                    aOverlays[i].hide();
                }
                while(i--);
            }
        },

        /**
        * Returns a string representation of the object.
        * @method toString
        * @return {String} The string representation of the =
OverlayManager
        */
        toString: function () {
            return "OverlayManager";
        }
    };

}());

(function () {

    /**
    * ContainerEffect encapsulates animation transitions that are =
executed when=20
    * an Overlay is shown or hidden.
    * @namespace YAHOO.widget
    * @class ContainerEffect
    * @constructor
    * @param {YAHOO.widget.Overlay} overlay The Overlay that the =
animation=20
    * should be associated with
    * @param {Object} attrIn The object literal representing the =
animation=20
    * arguments to be used for the animate-in transition. The arguments =
for=20
    * this literal are: attributes(object, see YAHOO.util.Anim for =
description),=20
    * duration(Number), and method(i.e. Easing.easeIn).
    * @param {Object} attrOut The object literal representing the =
animation=20
    * arguments to be used for the animate-out transition. The arguments =
for =20
    * this literal are: attributes(object, see YAHOO.util.Anim for =
description),=20
    * duration(Number), and method(i.e. Easing.easeIn).
    * @param {HTMLElement} targetElement Optional. The target element =
that =20
    * should be animated during the transition. Defaults to =
overlay.element.
    * @param {class} Optional. The animation class to instantiate. =
Defaults to=20
    * YAHOO.util.Anim. Other options include YAHOO.util.Motion.
    */
    YAHOO.widget.ContainerEffect =3D=20
   =20
        function (overlay, attrIn, attrOut, targetElement, animClass) {
   =20
        if (!animClass) {
            animClass =3D YAHOO.util.Anim;
        }
       =20
        /**
        * The overlay to animate
        * @property overlay
        * @type YAHOO.widget.Overlay
        */
        this.overlay =3D overlay;
   =20
        /**
        * The animation attributes to use when transitioning into view
        * @property attrIn
        * @type Object
        */
        this.attrIn =3D attrIn;
   =20
        /**
        * The animation attributes to use when transitioning out of view
        * @property attrOut
        * @type Object
        */
        this.attrOut =3D attrOut;
   =20
        /**
        * The target element to be animated
        * @property targetElement
        * @type HTMLElement
        */
        this.targetElement =3D targetElement || overlay.element;
   =20
        /**
        * The animation class to use for animating the overlay
        * @property animClass
        * @type class
        */
        this.animClass =3D animClass;
   =20
    };


    var Dom =3D YAHOO.util.Dom,
        CustomEvent =3D YAHOO.util.CustomEvent,
        Easing =3D YAHOO.util.Easing,
        ContainerEffect =3D YAHOO.widget.ContainerEffect;


    /**
    * A pre-configured ContainerEffect instance that can be used for =
fading=20
    * an overlay in and out.
    * @method FADE
    * @static
    * @param {YAHOO.widget.Overlay} overlay The Overlay object to =
animate
    * @param {Number} dur The duration of the animation
    * @return {YAHOO.widget.ContainerEffect} The configured =
ContainerEffect object
    */
    ContainerEffect.FADE =3D function (overlay, dur) {

        var fin =3D {
            attributes: {opacity:{from:0, to:1}},
            duration: dur,
            method: Easing.easeIn
        };

        var fout =3D {
            attributes: {opacity:{to:0}},
            duration: dur,
            method: Easing.easeOut
        };

        var fade =3D new ContainerEffect(overlay, fin, fout, =
overlay.element);

        fade.handleUnderlayStart =3D function() {
            var underlay =3D this.overlay.underlay;
            if (underlay && YAHOO.env.ua.ie) {
                var hasFilters =3D (underlay.filters && =
underlay.filters.length > 0);
                if(hasFilters) {
                    Dom.addClass(overlay.element, "yui-effect-fade");
                }
            }
        };

        fade.handleUnderlayComplete =3D function() {
            var underlay =3D this.overlay.underlay;
            if (underlay && YAHOO.env.ua.ie) {
                Dom.removeClass(overlay.element, "yui-effect-fade");
            }
        };

        fade.handleStartAnimateIn =3D function (type,args,obj) {
            Dom.addClass(obj.overlay.element, "hide-select");

            if (!obj.overlay.underlay) {
                obj.overlay.cfg.refireEvent("underlay");
            }

            obj.handleUnderlayStart();

            Dom.setStyle(obj.overlay.element, "visibility", "visible");
            Dom.setStyle(obj.overlay.element, "opacity", 0);
        };

        fade.handleCompleteAnimateIn =3D function (type,args,obj) {
            Dom.removeClass(obj.overlay.element, "hide-select");

            if (obj.overlay.element.style.filter) {
                obj.overlay.element.style.filter =3D null;
            }

            obj.handleUnderlayComplete();

            obj.overlay.cfg.refireEvent("iframe");
            obj.animateInCompleteEvent.fire();
        };

        fade.handleStartAnimateOut =3D function (type, args, obj) {
            Dom.addClass(obj.overlay.element, "hide-select");
            obj.handleUnderlayStart();
        };

        fade.handleCompleteAnimateOut =3D  function (type, args, obj) {
            Dom.removeClass(obj.overlay.element, "hide-select");
            if (obj.overlay.element.style.filter) {
                obj.overlay.element.style.filter =3D null;
            }
            Dom.setStyle(obj.overlay.element, "visibility", "hidden");
            Dom.setStyle(obj.overlay.element, "opacity", 1);

            obj.handleUnderlayComplete();

            obj.overlay.cfg.refireEvent("iframe");
            obj.animateOutCompleteEvent.fire();
        };

        fade.init();
        return fade;
    };
   =20
   =20
    /**
    * A pre-configured ContainerEffect instance that can be used for =
sliding an=20
    * overlay in and out.
    * @method SLIDE
    * @static
    * @param {YAHOO.widget.Overlay} overlay The Overlay object to =
animate
    * @param {Number} dur The duration of the animation
    * @return {YAHOO.widget.ContainerEffect} The configured =
ContainerEffect object
    */
    ContainerEffect.SLIDE =3D function (overlay, dur) {
   =20
        var x =3D overlay.cfg.getProperty("x") || =
Dom.getX(overlay.element),
   =20
            y =3D overlay.cfg.getProperty("y") || =
Dom.getY(overlay.element),
   =20
            clientWidth =3D Dom.getClientWidth(),
   =20
            offsetWidth =3D overlay.element.offsetWidth,
   =20
            slide =3D new ContainerEffect(overlay,=20
           =20
            { attributes: { points: { to: [x, y] } },
                duration: dur,
                method: Easing.easeIn },
   =20
            { attributes: { points: { to: [(clientWidth + 25), y] } },
                duration: dur,
                method: Easing.easeOut },
   =20
            overlay.element, YAHOO.util.Motion);
       =20
       =20
        slide.handleStartAnimateIn =3D function (type,args,obj) {
            obj.overlay.element.style.left =3D ((-25) - offsetWidth) + =
"px";
            obj.overlay.element.style.top  =3D y + "px";
        };
       =20
        slide.handleTweenAnimateIn =3D function (type, args, obj) {
       =20
            var pos =3D Dom.getXY(obj.overlay.element),
                currentX =3D pos[0],
                currentY =3D pos[1];
       =20
            if (Dom.getStyle(obj.overlay.element, "visibility") =3D=3D=20
                "hidden" && currentX < x) {

                Dom.setStyle(obj.overlay.element, "visibility", =
"visible");

            }
       =20
            obj.overlay.cfg.setProperty("xy", [currentX, currentY], =
true);
            obj.overlay.cfg.refireEvent("iframe");
        };
       =20
        slide.handleCompleteAnimateIn =3D function (type, args, obj) {
            obj.overlay.cfg.setProperty("xy", [x, y], true);
            obj.startX =3D x;
            obj.startY =3D y;
            obj.overlay.cfg.refireEvent("iframe");
            obj.animateInCompleteEvent.fire();
        };
       =20
        slide.handleStartAnimateOut =3D function (type, args, obj) {
   =20
            var vw =3D Dom.getViewportWidth(),
                pos =3D Dom.getXY(obj.overlay.element),
                yso =3D pos[1];
   =20
            obj.animOut.attributes.points.to =3D [(vw + 25), yso];
        };
       =20
        slide.handleTweenAnimateOut =3D function (type, args, obj) {
   =20
            var pos =3D Dom.getXY(obj.overlay.element),
                xto =3D pos[0],
                yto =3D pos[1];
       =20
            obj.overlay.cfg.setProperty("xy", [xto, yto], true);
            obj.overlay.cfg.refireEvent("iframe");
        };
       =20
        slide.handleCompleteAnimateOut =3D function (type, args, obj) {
            Dom.setStyle(obj.overlay.element, "visibility", "hidden");
       =20
            obj.overlay.cfg.setProperty("xy", [x, y]);
            obj.animateOutCompleteEvent.fire();
        };
       =20
        slide.init();
        return slide;
    };
   =20
    ContainerEffect.prototype =3D {
   =20
        /**
        * Initializes the animation classes and events.
        * @method init
        */
        init: function () {

            this.beforeAnimateInEvent =3D =
this.createEvent("beforeAnimateIn");
            this.beforeAnimateInEvent.signature =3D CustomEvent.LIST;
           =20
            this.beforeAnimateOutEvent =3D =
this.createEvent("beforeAnimateOut");
            this.beforeAnimateOutEvent.signature =3D CustomEvent.LIST;
       =20
            this.animateInCompleteEvent =3D =
this.createEvent("animateInComplete");
            this.animateInCompleteEvent.signature =3D CustomEvent.LIST;
       =20
            this.animateOutCompleteEvent =3D=20
                this.createEvent("animateOutComplete");
            this.animateOutCompleteEvent.signature =3D CustomEvent.LIST;
       =20
            this.animIn =3D new this.animClass(this.targetElement,=20
                this.attrIn.attributes, this.attrIn.duration,=20
                this.attrIn.method);

            this.animIn.onStart.subscribe(this.handleStartAnimateIn, =
this);
            this.animIn.onTween.subscribe(this.handleTweenAnimateIn, =
this);

            =
this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,=20
                this);
       =20
            this.animOut =3D new this.animClass(this.targetElement,=20
                this.attrOut.attributes, this.attrOut.duration,=20
                this.attrOut.method);

            this.animOut.onStart.subscribe(this.handleStartAnimateOut, =
this);
            this.animOut.onTween.subscribe(this.handleTweenAnimateOut, =
this);
            =
this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,=20
                this);

        },
       =20
        /**
        * Triggers the in-animation.
        * @method animateIn
        */
        animateIn: function () {
            this.beforeAnimateInEvent.fire();
            this.animIn.animate();
        },
       =20
        /**
        * Triggers the out-animation.
        * @method animateOut
        */
        animateOut: function () {
            this.beforeAnimateOutEvent.fire();
            this.animOut.animate();
        },
       =20
        /**
        * The default onStart handler for the in-animation.
        * @method handleStartAnimateIn
        * @param {String} type The CustomEvent type
        * @param {Object[]} args The CustomEvent arguments
        * @param {Object} obj The scope object
        */
        handleStartAnimateIn: function (type, args, obj) { },
   =20
        /**
        * The default onTween handler for the in-animation.
        * @method handleTweenAnimateIn
        * @param {String} type The CustomEvent type
        * @param {Object[]} args The CustomEvent arguments
        * @param {Object} obj The scope object
        */
        handleTweenAnimateIn: function (type, args, obj) { },
   =20
        /**
        * The default onComplete handler for the in-animation.
        * @method handleCompleteAnimateIn
        * @param {String} type The CustomEvent type
        * @param {Object[]} args The CustomEvent arguments
        * @param {Object} obj The scope object
        */
        handleCompleteAnimateIn: function (type, args, obj) { },
       =20
        /**
        * The default onStart handler for the out-animation.
        * @method handleStartAnimateOut
        * @param {String} type The CustomEvent type
        * @param {Object[]} args The CustomEvent arguments
        * @param {Object} obj The scope object
        */
        handleStartAnimateOut: function (type, args, obj) { },
   =20
        /**
        * The default onTween handler for the out-animation.
        * @method handleTweenAnimateOut
        * @param {String} type The CustomEvent type
        * @param {Object[]} args The CustomEvent arguments
        * @param {Object} obj The scope object
        */
        handleTweenAnimateOut: function (type, args, obj) { },
   =20
        /**
        * The default onComplete handler for the out-animation.
        * @method handleCompleteAnimateOut
        * @param {String} type The CustomEvent type
        * @param {Object[]} args The CustomEvent arguments
        * @param {Object} obj The scope object
        */
        handleCompleteAnimateOut: function (type, args, obj) { },
       =20
        /**
        * Returns a string representation of the object.
        * @method toString
        * @return {String} The string representation of the =
ContainerEffect
        */
        toString: function () {
            var output =3D "ContainerEffect";
            if (this.overlay) {
                output +=3D " [" + this.overlay.toString() + "]";
            }
            return output;
        }
   =20
    };

    YAHOO.lang.augmentProto(ContainerEffect, YAHOO.util.EventProvider);

})();

YAHOO.register("containercore", YAHOO.widget.Module, {version: "2.5.1", =
build: "984"});

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/js/vertical_menu.js

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.1
*/


/**
* @module menu
* @description <p>The Menu family of components features a collection of =

* controls that make it easy to add menus to your website or web =
application. =20
* With the Menu Controls you can create website fly-out menus, =
customized=20
* context menus, or application-style menu bars with just a small amount =
of=20
* scripting.</p><p>The Menu family of controls features:</p>
* <ul>
*    <li>Keyboard and mouse navigation.</li>
*    <li>A rich event model that provides access to all of a menu's=20
*    interesting moments.</li>
*    <li>Support for=20
*    <a =
href=3D"http://en.wikipedia.org/wiki/Progressive_Enhancement">Progressive=

*    Enhancement</a>; Menus can be created from simple,=20
*    semantic markup on the page or purely through JavaScript.</li>
* </ul>
* @title Menu
* @namespace YAHOO.widget
* @requires Event, Dom, Container
*/
(function () {

    var Dom =3D YAHOO.util.Dom,
        Event =3D YAHOO.util.Event;


    /**
    * Singleton that manages a collection of all menus and menu items.  =
Listens=20
    * for DOM events at the document level and dispatches the events to =
the=20
    * corresponding menu or menu item.
    *
    * @namespace YAHOO.widget
    * @class MenuManager
    * @static
    */
    YAHOO.widget.MenuManager =3D function () {
   =20
        // Private member variables
   =20
   =20
        // Flag indicating if the DOM event handlers have been attached
   =20
        var m_bInitializedEventHandlers =3D false,
   =20
   =20
        // Collection of menus

        m_oMenus =3D {},


        // Collection of visible menus
   =20
        m_oVisibleMenus =3D {},
   =20
   =20
        //  Collection of menu items=20

        m_oItems =3D {},


        // Map of DOM event types to their equivalent CustomEvent types
       =20
        m_oEventTypes =3D {
            "click": "clickEvent",
            "mousedown": "mouseDownEvent",
            "mouseup": "mouseUpEvent",
            "mouseover": "mouseOverEvent",
            "mouseout": "mouseOutEvent",
            "keydown": "keyDownEvent",
            "keyup": "keyUpEvent",
            "keypress": "keyPressEvent"
        },
   =20
   =20
        m_oFocusedMenuItem =3D null;
   =20
   =20
   =20
   =20
   =20
        // Private methods
   =20
   =20
        /**
        * @method getMenuRootElement
        * @description Finds the root DIV node of a menu or the root LI =
node of=20
        * a menu item.
        * @private
        * @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
        * level-one-html.html#ID-58190037">HTMLElement</a>} p_oElement =
Object=20
        * specifying an HTML element.
        */
        function getMenuRootElement(p_oElement) {
       =20
            var oParentNode;
   =20
            if (p_oElement && p_oElement.tagName) {
           =20
                switch (p_oElement.tagName.toUpperCase()) {
                       =20
                case "DIV":
   =20
                    oParentNode =3D p_oElement.parentNode;
   =20
                    // Check if the DIV is the inner "body" node of a =
menu

                    if (
                        (
                            Dom.hasClass(p_oElement, "hd") ||
                            Dom.hasClass(p_oElement, "bd") ||
                            Dom.hasClass(p_oElement, "ft")
                        ) &&=20
                        oParentNode &&=20
                        oParentNode.tagName &&=20
                        oParentNode.tagName.toUpperCase() =3D=3D "DIV")=20
                    {
                   =20
                        return oParentNode;
                   =20
                    }
                    else {
                   =20
                        return p_oElement;
                   =20
                    }
               =20
                    break;

                case "LI":
   =20
                    return p_oElement;

                default:
   =20
                    oParentNode =3D p_oElement.parentNode;
   =20
                    if (oParentNode) {
                   =20
                        return getMenuRootElement(oParentNode);
                   =20
                    }
               =20
                    break;
               =20
                }
   =20
            }
           =20
        }
   =20
   =20
   =20
        // Private event handlers
   =20
   =20
        /**
        * @method onDOMEvent
        * @description Generic, global event handler for all of a menu's =

        * DOM-based events.  This listens for events against the =
document=20
        * object.  If the target of a given event is a member of a menu =
or=20
        * menu item's DOM, the instance's corresponding Custom Event is =
fired.
        * @private
        * @param {Event} p_oEvent Object representing the DOM event =
object =20
        * passed back by the event utility (YAHOO.util.Event).
        */
        function onDOMEvent(p_oEvent) {
   =20
            // Get the target node of the DOM event
       =20
            var oTarget =3D Event.getTarget(p_oEvent),
               =20
            // See if the target of the event was a menu, or a menu item
   =20
            oElement =3D getMenuRootElement(oTarget),
            sCustomEventType,
            sTagName,
            sId,
            oMenuItem,
            oMenu;=20
   =20
   =20
            if (oElement) {
   =20
                sTagName =3D oElement.tagName.toUpperCase();
       =20
                if (sTagName =3D=3D "LI") {
           =20
                    sId =3D oElement.id;
           =20
                    if (sId && m_oItems[sId]) {
           =20
                        oMenuItem =3D m_oItems[sId];
                        oMenu =3D oMenuItem.parent;
           =20
                    }
               =20
                }
                else if (sTagName =3D=3D "DIV") {
               =20
                    if (oElement.id) {
                   =20
                        oMenu =3D m_oMenus[oElement.id];
                   =20
                    }
               =20
                }
   =20
            }
   =20
   =20
            if (oMenu) {
   =20
                sCustomEventType =3D m_oEventTypes[p_oEvent.type];
   =20
   =20
                // Fire the Custom Event that corresponds the current =
DOM event   =20
       =20
                if (oMenuItem && !oMenuItem.cfg.getProperty("disabled")) =
{
   =20
                    oMenuItem[sCustomEventType].fire(p_oEvent);          =
        =20
   =20
   =20
                    if (
                            p_oEvent.type =3D=3D "keyup" ||=20
                            p_oEvent.type =3D=3D "mousedown")=20
                    {
   =20
                        if (m_oFocusedMenuItem !=3D oMenuItem) {
                       =20
                            if (m_oFocusedMenuItem) {
   =20
                                m_oFocusedMenuItem.blurEvent.fire();
                           =20
                            }
   =20
                            oMenuItem.focusEvent.fire();
                       =20
                        }
                   =20
                    }
   =20
                }
       =20
                oMenu[sCustomEventType].fire(p_oEvent, oMenuItem);
           =20
            }
            else if (p_oEvent.type =3D=3D "mousedown") {
   =20
                if (m_oFocusedMenuItem) {
   =20
                    m_oFocusedMenuItem.blurEvent.fire();
   =20
                    m_oFocusedMenuItem =3D null;
   =20
                }
   =20
   =20
                /*
                    If the target of the event wasn't a menu, hide all=20
                    dynamically positioned menus
                */
               =20
                for (var i in m_oVisibleMenus) {
       =20
                    if (YAHOO.lang.hasOwnProperty(m_oVisibleMenus, i)) {
       =20
                        oMenu =3D m_oVisibleMenus[i];
       =20
                        if (oMenu.cfg.getProperty("clicktohide") &&=20
                            !(oMenu instanceof YAHOO.widget.MenuBar) &&=20
                            oMenu.cfg.getProperty("position") =3D=3D =
"dynamic") {
       =20
                            oMenu.hide();
       =20
                        }
                        else {
   =20
                            oMenu.clearActiveItem(true);
       =20
                        }
       =20
                    }
       =20
                }=20
   =20
            }
            else if (p_oEvent.type =3D=3D "keyup") {=20
   =20
                if (m_oFocusedMenuItem) {
   =20
                    m_oFocusedMenuItem.blurEvent.fire();
   =20
                    m_oFocusedMenuItem =3D null;
   =20
                }
   =20
            }
   =20
        }
   =20
   =20
        /**
        * @method onMenuDestroy
        * @description "destroy" event handler for a menu.
        * @private
        * @param {String} p_sType String representing the name of the =
event=20
        * that was fired.
        * @param {Array} p_aArgs Array of arguments sent when the event=20
        * was fired.
        * @param {YAHOO.widget.Menu} p_oMenu The menu that fired the =
event.
        */
        function onMenuDestroy(p_sType, p_aArgs, p_oMenu) {
   =20
            if (m_oMenus[p_oMenu.id]) {
   =20
                this.removeMenu(p_oMenu);
   =20
            }
   =20
        }
   =20
   =20
        /**
        * @method onMenuFocus
        * @description "focus" event handler for a MenuItem instance.
        * @private
        * @param {String} p_sType String representing the name of the =
event=20
        * that was fired.
        * @param {Array} p_aArgs Array of arguments sent when the event=20
        * was fired.
        */
        function onMenuFocus(p_sType, p_aArgs) {
   =20
            var oItem =3D p_aArgs[0];
   =20
            if (oItem) {
   =20
                m_oFocusedMenuItem =3D oItem;
           =20
            }
   =20
        }
   =20
   =20
        /**
        * @method onMenuBlur
        * @description "blur" event handler for a MenuItem instance.
        * @private
        * @param {String} p_sType String representing the name of the =
event =20
        * that was fired.
        * @param {Array} p_aArgs Array of arguments sent when the event=20
        * was fired.
        */
        function onMenuBlur(p_sType, p_aArgs) {
   =20
            m_oFocusedMenuItem =3D null;
   =20
        }
   =20
   =20
   =20
        /**
        * @method onMenuVisibleConfigChange
        * @description Event handler for when the "visible" =
configuration =20
        * property of a Menu instance changes.
        * @private
        * @param {String} p_sType String representing the name of the =
event =20
        * that was fired.
        * @param {Array} p_aArgs Array of arguments sent when the event=20
        * was fired.
        */
        function onMenuVisibleConfigChange(p_sType, p_aArgs) {
   =20
            var bVisible =3D p_aArgs[0],
                sId =3D this.id;
           =20
            if (bVisible) {
   =20
                m_oVisibleMenus[sId] =3D this;
               =20
           =20
            }
            else if (m_oVisibleMenus[sId]) {
           =20
                delete m_oVisibleMenus[sId];
               =20
           =20
            }
       =20
        }
   =20
   =20
        /**
        * @method onItemDestroy
        * @description "destroy" event handler for a MenuItem instance.
        * @private
        * @param {String} p_sType String representing the name of the =
event =20
        * that was fired.
        * @param {Array} p_aArgs Array of arguments sent when the event=20
        * was fired.
        */
        function onItemDestroy(p_sType, p_aArgs) {
   =20
            removeItem(this);
   =20
        }

   =20
        function removeItem(p_oMenuItem) {

            var sId =3D p_oMenuItem.id;
   =20
            if (sId && m_oItems[sId]) {
   =20
                if (m_oFocusedMenuItem =3D=3D p_oMenuItem) {
   =20
                    m_oFocusedMenuItem =3D null;
   =20
                }
   =20
                delete m_oItems[sId];
               =20
                p_oMenuItem.destroyEvent.unsubscribe(onItemDestroy);
   =20
   =20
            }

        }
   =20
   =20
        /**
        * @method onItemAdded
        * @description "itemadded" event handler for a Menu instance.
        * @private
        * @param {String} p_sType String representing the name of the =
event =20
        * that was fired.
        * @param {Array} p_aArgs Array of arguments sent when the event=20
        * was fired.
        */
        function onItemAdded(p_sType, p_aArgs) {
   =20
            var oItem =3D p_aArgs[0],
                sId;
   =20
            if (oItem instanceof YAHOO.widget.MenuItem) {=20
   =20
                sId =3D oItem.id;
       =20
                if (!m_oItems[sId]) {
           =20
                    m_oItems[sId] =3D oItem;
       =20
                    oItem.destroyEvent.subscribe(onItemDestroy);
       =20
       =20
                }
   =20
            }
       =20
        }
   =20
   =20
        return {
   =20
            // Privileged methods
   =20
   =20
            /**
            * @method addMenu
            * @description Adds a menu to the collection of known menus.
            * @param {YAHOO.widget.Menu} p_oMenu Object specifying the =
Menu =20
            * instance to be added.
            */
            addMenu: function (p_oMenu) {
   =20
                var oDoc;
   =20
                if (p_oMenu instanceof YAHOO.widget.Menu && p_oMenu.id =
&&=20
                    !m_oMenus[p_oMenu.id]) {
       =20
                    m_oMenus[p_oMenu.id] =3D p_oMenu;
               =20
           =20
                    if (!m_bInitializedEventHandlers) {
           =20
                        oDoc =3D document;
               =20
                        Event.on(oDoc, "mouseover", onDOMEvent, this, =
true);
                        Event.on(oDoc, "mouseout", onDOMEvent, this, =
true);
                        Event.on(oDoc, "mousedown", onDOMEvent, this, =
true);
                        Event.on(oDoc, "mouseup", onDOMEvent, this, =
true);
                        Event.on(oDoc, "click", onDOMEvent, this, true);
                        Event.on(oDoc, "keydown", onDOMEvent, this, =
true);
                        Event.on(oDoc, "keyup", onDOMEvent, this, true);
                        Event.on(oDoc, "keypress", onDOMEvent, this, =
true);
   =20
   =20
                        m_bInitializedEventHandlers =3D true;
                       =20
           =20
                    }
           =20
                    p_oMenu.cfg.subscribeToConfigEvent("visible",=20
                        onMenuVisibleConfigChange);

                    p_oMenu.destroyEvent.subscribe(onMenuDestroy, =
p_oMenu,=20
                                            this);
           =20
                    p_oMenu.itemAddedEvent.subscribe(onItemAdded);
                    p_oMenu.focusEvent.subscribe(onMenuFocus);
                    p_oMenu.blurEvent.subscribe(onMenuBlur);
       =20
       =20
                }
       =20
            },
   =20
       =20
            /**
            * @method removeMenu
            * @description Removes a menu from the collection of known =
menus.
            * @param {YAHOO.widget.Menu} p_oMenu Object specifying the =
Menu =20
            * instance to be removed.
            */
            removeMenu: function (p_oMenu) {
   =20
                var sId,
                    aItems,
                    i;
       =20
                if (p_oMenu) {
   =20
                    sId =3D p_oMenu.id;
       =20
                    if (m_oMenus[sId] =3D=3D p_oMenu) {

                        // Unregister each menu item

                        aItems =3D p_oMenu.getItems();

                        if (aItems && aItems.length > 0) {

                            i =3D aItems.length - 1;

                            do {

                                removeItem(aItems[i]);

                            }
                            while (i--);

                        }


                        // Unregister the menu

                        delete m_oMenus[sId];
           =20
       =20

                        /*
                             Unregister the menu from the collection of=20
                             visible menus
                        */

                        if (m_oVisibleMenus[sId] =3D=3D p_oMenu) {
           =20
                            delete m_oVisibleMenus[sId];
                           =20
      =20
                        }


                        // Unsubscribe event listeners

                        if (p_oMenu.cfg) {

                            =
p_oMenu.cfg.unsubscribeFromConfigEvent("visible",=20
                                onMenuVisibleConfigChange);
                           =20
                        }

                        p_oMenu.destroyEvent.unsubscribe(onMenuDestroy,=20
                            p_oMenu);
               =20
                        p_oMenu.itemAddedEvent.unsubscribe(onItemAdded);
                        p_oMenu.focusEvent.unsubscribe(onMenuFocus);
                        p_oMenu.blurEvent.unsubscribe(onMenuBlur);

                    }
               =20
                }
   =20
            },
       =20
       =20
            /**
            * @method hideVisible
            * @description Hides all visible, dynamically positioned =
menus=20
            * (excluding instances of YAHOO.widget.MenuBar).
            */
            hideVisible: function () {
       =20
                var oMenu;
       =20
                for (var i in m_oVisibleMenus) {
       =20
                    if (YAHOO.lang.hasOwnProperty(m_oVisibleMenus, i)) {
       =20
                        oMenu =3D m_oVisibleMenus[i];
       =20
                        if (!(oMenu instanceof YAHOO.widget.MenuBar) &&=20
                            oMenu.cfg.getProperty("position") =3D=3D =
"dynamic") {
       =20
                            oMenu.hide();
       =20
                        }
       =20
                    }
       =20
                }       =20
   =20
            },


            /**
            * @method getVisible
            * @description Returns a collection of all visible menus =
registered
            * with the menu manger.
            * @return {Array}
            */
            getVisible: function () {
           =20
                return m_oVisibleMenus;
           =20
            },

   =20
            /**
            * @method getMenus
            * @description Returns a collection of all menus registered =
with the=20
            * menu manger.
            * @return {Array}
            */
            getMenus: function () {
   =20
                return m_oMenus;
           =20
            },
   =20
   =20
            /**
            * @method getMenu
            * @description Returns a menu with the specified id.
            * @param {String} p_sId String specifying the id of the=20
            * <code>&#60;div&#62;</code> element representing the menu =
to
            * be retrieved.
            * @return {YAHOO.widget.Menu}
            */
            getMenu: function (p_sId) {
   =20
                var oMenu =3D m_oMenus[p_sId];
       =20
                if (oMenu) {
               =20
                    return oMenu;
               =20
                }
           =20
            },
   =20
   =20
            /**
            * @method getMenuItem
            * @description Returns a menu item with the specified id.
            * @param {String} p_sId String specifying the id of the=20
            * <code>&#60;li&#62;</code> element representing the menu =
item to
            * be retrieved.
            * @return {YAHOO.widget.MenuItem}
            */
            getMenuItem: function (p_sId) {
   =20
                var oItem =3D m_oItems[p_sId];
       =20
                if (oItem) {
               =20
                    return oItem;
               =20
                }
           =20
            },


            /**
            * @method getMenuItemGroup
            * @description Returns an array of menu item instances whose =

            * corresponding <code>&#60;li&#62;</code> elements are child =

            * nodes of the <code>&#60;ul&#62;</code> element with the=20
            * specified id.
            * @param {String} p_sId String specifying the id of the=20
            * <code>&#60;ul&#62;</code> element representing the group =
of=20
            * menu items to be retrieved.
            * @return {Array}
            */
            getMenuItemGroup: function (p_sId) {

                var oUL =3D Dom.get(p_sId),
                    aItems,
                    oNode,
                    oItem,
                    sId;
   =20

                if (oUL && oUL.tagName &&=20
                    oUL.tagName.toUpperCase() =3D=3D "UL") {

                    oNode =3D oUL.firstChild;

                    if (oNode) {

                        aItems =3D [];
                       =20
                        do {

                            sId =3D oNode.id;

                            if (sId) {
                           =20
                                oItem =3D this.getMenuItem(sId);
                               =20
                                if (oItem) {
                               =20
                                    aItems[aItems.length] =3D oItem;
                               =20
                                }
                           =20
                            }
                       =20
                        }
                        while ((oNode =3D oNode.nextSibling));


                        if (aItems.length > 0) {

                            return aItems;
                       =20
                        }

                    }
               =20
                }
           =20
            },

   =20
            /**
            * @method getFocusedMenuItem
            * @description Returns a reference to the menu item that =
currently=20
            * has focus.
            * @return {YAHOO.widget.MenuItem}
            */
            getFocusedMenuItem: function () {
   =20
                return m_oFocusedMenuItem;
   =20
            },
   =20
   =20
            /**
            * @method getFocusedMenu
            * @description Returns a reference to the menu that =
currently=20
            * has focus.
            * @return {YAHOO.widget.Menu}
            */
            getFocusedMenu: function () {
   =20
                if (m_oFocusedMenuItem) {
   =20
                    return (m_oFocusedMenuItem.parent.getRoot());
               =20
                }
   =20
            },
   =20
       =20
            /**
            * @method toString
            * @description Returns a string representing the menu =
manager.
            * @return {String}
            */
            toString: function () {
           =20
                return "MenuManager";
           =20
            }
   =20
        };
   =20
    }();

})();



(function () {


/**
* The Menu class creates a container that holds a vertical list =
representing=20
* a set of options or commands.  Menu is the base class for all=20
* menu containers.=20
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;div&#62;</code> element of the menu.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;select&#62;</code> element to be used as the data source=20
* for the menu.
* @param {<a href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
* level-one-html.html#ID-22445964">HTMLDivElement</a>} p_oElement Object =

* specifying the <code>&#60;div&#62;</code> element of the menu.
* @param {<a href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
* level-one-html.html#ID-94282980">HTMLSelectElement</a>} p_oElement=20
* Object specifying the <code>&#60;select&#62;</code> element to be used =
as=20
* the data source for the menu.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the menu. See configuration class documentation for=20
* more details.
* @namespace YAHOO.widget
* @class Menu
* @constructor
* @extends YAHOO.widget.Overlay
*/
YAHOO.widget.Menu =3D function (p_oElement, p_oConfig) {

    if (p_oConfig) {

        this.parent =3D p_oConfig.parent;
        this.lazyLoad =3D p_oConfig.lazyLoad || p_oConfig.lazyload;
        this.itemData =3D p_oConfig.itemData || p_oConfig.itemdata;

    }


    YAHOO.widget.Menu.superclass.constructor.call(this, p_oElement, =
p_oConfig);

};



/**
* @method checkPosition
* @description Checks to make sure that the value of the "position" =
property=20
* is one of the supported strings. Returns true if the position is =
supported.
* @private
* @param {Object} p_sPosition String specifying the position of the =
menu.
* @return {Boolean}
*/
function checkPosition(p_sPosition) {

    if (typeof p_sPosition =3D=3D "string") {

        return ("dynamic,static".indexOf((p_sPosition.toLowerCase())) =
!=3D -1);

    }

}


var Dom =3D YAHOO.util.Dom,
    Event =3D YAHOO.util.Event,
    Module =3D YAHOO.widget.Module,
    Overlay =3D YAHOO.widget.Overlay,
    Menu =3D YAHOO.widget.Menu,
    MenuManager =3D YAHOO.widget.MenuManager,
    CustomEvent =3D YAHOO.util.CustomEvent,
    Lang =3D YAHOO.lang,
    UA =3D YAHOO.env.ua,
   =20
    m_oShadowTemplate,

    /**
    * Constant representing the name of the Menu's events
    * @property EVENT_TYPES
    * @private
    * @final
    * @type Object
    */
    EVENT_TYPES =3D {
   =20
        "MOUSE_OVER": "mouseover",
        "MOUSE_OUT": "mouseout",
        "MOUSE_DOWN": "mousedown",
        "MOUSE_UP": "mouseup",
        "CLICK": "click",
        "KEY_PRESS": "keypress",
        "KEY_DOWN": "keydown",
        "KEY_UP": "keyup",
        "FOCUS": "focus",
        "BLUR": "blur",
        "ITEM_ADDED": "itemAdded",
        "ITEM_REMOVED": "itemRemoved"
   =20
    },


    /**
    * Constant representing the Menu's configuration properties
    * @property DEFAULT_CONFIG
    * @private
    * @final
    * @type Object
    */
    DEFAULT_CONFIG =3D {

        "VISIBLE": {=20
            key: "visible",=20
            value: false,=20
            validator: Lang.isBoolean
        },=20
   =20
        "CONSTRAIN_TO_VIEWPORT": {
            key: "constraintoviewport",=20
            value: true,=20
            validator: Lang.isBoolean,=20
            supercedes: ["iframe","x","y","xy"]
        },=20
   =20
        "POSITION": {=20
            key: "position",=20
            value: "dynamic",=20
            validator: checkPosition,=20
            supercedes: ["visible", "iframe"]
        },=20
   =20
        "SUBMENU_ALIGNMENT": {=20
            key: "submenualignment",=20
            value: ["tl","tr"],
            suppressEvent: true
        },
   =20
        "AUTO_SUBMENU_DISPLAY": {=20
            key: "autosubmenudisplay",=20
            value: true,=20
            validator: Lang.isBoolean,
            suppressEvent: true
        },=20
   =20
        "SHOW_DELAY": {=20
            key: "showdelay",=20
            value: 250,=20
            validator: Lang.isNumber,=20
            suppressEvent: true
        },=20
   =20
        "HIDE_DELAY": {=20
            key: "hidedelay",=20
            value: 0,=20
            validator: Lang.isNumber,=20
            suppressEvent: true
        },=20
   =20
        "SUBMENU_HIDE_DELAY": {=20
            key: "submenuhidedelay",=20
            value: 250,=20
            validator: Lang.isNumber,
            suppressEvent: true
        },=20
   =20
        "CLICK_TO_HIDE": {=20
            key: "clicktohide",=20
            value: true,=20
            validator: Lang.isBoolean,
            suppressEvent: true
        },
   =20
        "CONTAINER": {=20
            key: "container",
            suppressEvent: true
        },=20

        "SCROLL_INCREMENT": {=20
            key: "scrollincrement",=20
            value: 1,=20
            validator: Lang.isNumber,
            supercedes: ["maxheight"],
            suppressEvent: true
        },

        "MIN_SCROLL_HEIGHT": {=20
            key: "minscrollheight",=20
            value: 90,=20
            validator: Lang.isNumber,
            supercedes: ["maxheight"],
            suppressEvent: true
        },   =20
   =20
        "MAX_HEIGHT": {=20
            key: "maxheight",=20
            value: 0,=20
            validator: Lang.isNumber,
            supercedes: ["iframe"],
            suppressEvent: true
        },=20
   =20
        "CLASS_NAME": {=20
            key: "classname",=20
            value: null,=20
            validator: Lang.isString,
            suppressEvent: true
        },=20
   =20
        "DISABLED": {=20
            key: "disabled",=20
            value: false,=20
            validator: Lang.isBoolean,
            suppressEvent: true
        }
   =20
    };



YAHOO.lang.extend(Menu, Overlay, {


// Constants


/**
* @property CSS_CLASS_NAME
* @description String representing the CSS class(es) to be applied to =
the=20
* menu's <code>&#60;div&#62;</code> element.
* @default "yuimenu"
* @final
* @type String
*/
CSS_CLASS_NAME: "yuimenu",


/**
* @property ITEM_TYPE
* @description Object representing the type of menu item to instantiate =
and=20
* add when parsing the child nodes (either <code>&#60;li&#62;</code> =
element,=20
* <code>&#60;optgroup&#62;</code> element or =
<code>&#60;option&#62;</code>)=20
* of the menu's source HTML element.
* @default YAHOO.widget.MenuItem
* @final
* @type YAHOO.widget.MenuItem
*/
ITEM_TYPE: null,


/**
* @property GROUP_TITLE_TAG_NAME
* @description String representing the tagname of the HTML element used =
to=20
* title the menu's item groups.
* @default H6
* @final
* @type String
*/
GROUP_TITLE_TAG_NAME: "h6",


/**
* @property OFF_SCREEN_POSITION
* @description Array representing the default x and y position that a =
menu=20
* should have when it is positioned outside the viewport by the=20
* "poistionOffScreen" method.
* @default [-10000, -10000]
* @final
* @type Array
*/
OFF_SCREEN_POSITION: [-10000, -10000],


// Private properties


/**=20
* @property _nHideDelayId
* @description Number representing the time-out setting used to cancel =
the=20
* hiding of a menu.
* @default null
* @private
* @type Number
*/
_nHideDelayId: null,


/**=20
* @property _nShowDelayId
* @description Number representing the time-out setting used to cancel =
the=20
* showing of a menu.
* @default null
* @private
* @type Number
*/
_nShowDelayId: null,


/**=20
* @property _nSubmenuHideDelayId
* @description Number representing the time-out setting used to cancel =
the=20
* hiding of a submenu.
* @default null
* @private
* @type Number
*/
_nSubmenuHideDelayId: null,


/**=20
* @property _nBodyScrollId
* @description Number representing the time-out setting used to cancel =
the=20
* scrolling of the menu's body element.
* @default null
* @private
* @type Number
*/
_nBodyScrollId: null,


/**=20
* @property _bHideDelayEventHandlersAssigned
* @description Boolean indicating if the "mouseover" and "mouseout" =
event=20
* handlers used for hiding the menu via a call to "window.setTimeout" =
have=20
* already been assigned.
* @default false
* @private
* @type Boolean
*/
_bHideDelayEventHandlersAssigned: false,


/**
* @property _bHandledMouseOverEvent
* @description Boolean indicating the current state of the menu's=20
* "mouseover" event.
* @default false
* @private
* @type Boolean
*/
_bHandledMouseOverEvent: false,


/**
* @property _bHandledMouseOutEvent
* @description Boolean indicating the current state of the menu's
* "mouseout" event.
* @default false
* @private
* @type Boolean
*/
_bHandledMouseOutEvent: false,


/**
* @property _aGroupTitleElements
* @description Array of HTML element used to title groups of menu items.
* @default []
* @private
* @type Array
*/
_aGroupTitleElements: null,


/**
* @property _aItemGroups
* @description Multi-dimensional Array representing the menu items as =
they
* are grouped in the menu.
* @default []
* @private
* @type Array
*/
_aItemGroups: null,


/**
* @property _aListElements
* @description Array of <code>&#60;ul&#62;</code> elements, each of =
which is=20
* the parent node for each item's <code>&#60;li&#62;</code> element.
* @default []
* @private
* @type Array
*/
_aListElements: null,


/**
* @property _nCurrentMouseX
* @description The current x coordinate of the mouse inside the area of=20
* the menu.
* @default 0
* @private
* @type Number
*/
_nCurrentMouseX: 0,


/**
* @property _bStopMouseEventHandlers
* @description Stops "mouseover," "mouseout," and "mousemove" event =
handlers=20
* from executing.
* @default false
* @private
* @type Boolean
*/
_bStopMouseEventHandlers: false,


/**
* @property _sClassName
* @description The current value of the "classname" configuration =
attribute.
* @default null
* @private
* @type String
*/
_sClassName: null,



// Public properties


/**
* @property lazyLoad
* @description Boolean indicating if the menu's "lazy load" feature is=20
* enabled.  If set to "true," initialization and rendering of the menu's =

* items will be deferred until the first time it is made visible.  This=20
* property should be set via the constructor using the configuration=20
* object literal.
* @default false
* @type Boolean
*/
lazyLoad: false,


/**
* @property itemData
* @description Array of items to be added to the menu.  The array can =
contain=20
* strings representing the text for each item to be created, object =
literals=20
* representing the menu item configuration properties, or MenuItem =
instances. =20
* This property should be set via the constructor using the =
configuration=20
* object literal.
* @default null
* @type Array
*/
itemData: null,


/**
* @property activeItem
* @description Object reference to the item in the menu that has is =
selected.
* @default null
* @type YAHOO.widget.MenuItem
*/
activeItem: null,


/**
* @property parent
* @description Object reference to the menu's parent menu or menu item.  =

* This property can be set via the constructor using the configuration=20
* object literal.
* @default null
* @type YAHOO.widget.MenuItem
*/
parent: null,


/**
* @property srcElement
* @description Object reference to the HTML element (either=20
* <code>&#60;select&#62;</code> or <code>&#60;div&#62;</code>) used to=20
* create the menu.
* @default null
* @type <a href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
* level-one-html.html#ID-94282980">HTMLSelectElement</a>|<a=20
* =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.=

* html#ID-22445964">HTMLDivElement</a>
*/
srcElement: null,



// Events


/**
* @event mouseOverEvent
* @description Fires when the mouse has entered the menu.  Passes back=20
* the DOM Event object as an argument.
*/
mouseOverEvent: null,


/**
* @event mouseOutEvent
* @description Fires when the mouse has left the menu.  Passes back the =
DOM=20
* Event object as an argument.
* @type YAHOO.util.CustomEvent
*/
mouseOutEvent: null,


/**
* @event mouseDownEvent
* @description Fires when the user mouses down on the menu.  Passes back =
the=20
* DOM Event object as an argument.
* @type YAHOO.util.CustomEvent
*/
mouseDownEvent: null,


/**
* @event mouseUpEvent
* @description Fires when the user releases a mouse button while the =
mouse is=20
* over the menu.  Passes back the DOM Event object as an argument.
* @type YAHOO.util.CustomEvent
*/
mouseUpEvent: null,


/**
* @event clickEvent
* @description Fires when the user clicks the on the menu.  Passes back =
the=20
* DOM Event object as an argument.
* @type YAHOO.util.CustomEvent
*/
clickEvent: null,


/**
* @event keyPressEvent
* @description Fires when the user presses an alphanumeric key when one =
of the
* menu's items has focus.  Passes back the DOM Event object as an =
argument.
* @type YAHOO.util.CustomEvent
*/
keyPressEvent: null,


/**
* @event keyDownEvent
* @description Fires when the user presses a key when one of the menu's =
items=20
* has focus.  Passes back the DOM Event object as an argument.
* @type YAHOO.util.CustomEvent
*/
keyDownEvent: null,


/**
* @event keyUpEvent
* @description Fires when the user releases a key when one of the menu's =
items=20
* has focus.  Passes back the DOM Event object as an argument.
* @type YAHOO.util.CustomEvent
*/
keyUpEvent: null,


/**
* @event itemAddedEvent
* @description Fires when an item is added to the menu.
* @type YAHOO.util.CustomEvent
*/
itemAddedEvent: null,


/**
* @event itemRemovedEvent
* @description Fires when an item is removed to the menu.
* @type YAHOO.util.CustomEvent
*/
itemRemovedEvent: null,


/**
* @method init
* @description The Menu class's initialization method. This method is=20
* automatically called by the constructor, and sets up all DOM =
references=20
* for pre-existing markup, and creates required markup if it is not=20
* already present.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;div&#62;</code> element of the menu.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;select&#62;</code> element to be used as the data source=20
* for the menu.
* @param {<a href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
* level-one-html.html#ID-22445964">HTMLDivElement</a>} p_oElement Object =

* specifying the <code>&#60;div&#62;</code> element of the menu.
* @param {<a href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
* level-one-html.html#ID-94282980">HTMLSelectElement</a>} p_oElement=20
* Object specifying the <code>&#60;select&#62;</code> element to be used =
as=20
* the data source for the menu.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the menu. See configuration class documentation for=20
* more details.
*/
init: function (p_oElement, p_oConfig) {

    this._aItemGroups =3D [];
    this._aListElements =3D [];
    this._aGroupTitleElements =3D [];

    if (!this.ITEM_TYPE) {

        this.ITEM_TYPE =3D YAHOO.widget.MenuItem;

    }


    var oElement;

    if (typeof p_oElement =3D=3D "string") {

        oElement =3D document.getElementById(p_oElement);

    }
    else if (p_oElement.tagName) {

        oElement =3D p_oElement;

    }


    if (oElement && oElement.tagName) {

        switch(oElement.tagName.toUpperCase()) {
   =20
            case "DIV":

                this.srcElement =3D oElement;

                if (!oElement.id) {

                    oElement.setAttribute("id", Dom.generateId());

                }


                /*=20
                    Note: we don't pass the user config in here yet=20
                    because we only want it executed once, at the lowest =

                    subclass level.
                */=20
           =20
                Menu.superclass.init.call(this, oElement);

                this.beforeInitEvent.fire(Menu);


   =20
            break;
   =20
            case "SELECT":
   =20
                this.srcElement =3D oElement;

   =20
                /*
                    The source element is not something that we can use=20
                    outright, so we need to create a new Overlay

                    Note: we don't pass the user config in here yet=20
                    because we only want it executed once, at the lowest =

                    subclass level.
                */=20

                Menu.superclass.init.call(this, Dom.generateId());

                this.beforeInitEvent.fire(Menu);



            break;

        }

    }
    else {

        /*=20
            Note: we don't pass the user config in here yet=20
            because we only want it executed once, at the lowest=20
            subclass level.
        */=20
   =20
        Menu.superclass.init.call(this, p_oElement);

        this.beforeInitEvent.fire(Menu);



    }


    if (this.element) {

        Dom.addClass(this.element, this.CSS_CLASS_NAME);


        // Subscribe to Custom Events

        this.initEvent.subscribe(this._onInit);
        this.beforeRenderEvent.subscribe(this._onBeforeRender);
        this.renderEvent.subscribe(this._onRender);
        this.renderEvent.subscribe(this.onRender);
        this.beforeShowEvent.subscribe(this._onBeforeShow);
        this.hideEvent.subscribe(this.positionOffScreen);
        this.showEvent.subscribe(this._onShow);
        this.beforeHideEvent.subscribe(this._onBeforeHide);
        this.mouseOverEvent.subscribe(this._onMouseOver);
        this.mouseOutEvent.subscribe(this._onMouseOut);
        this.clickEvent.subscribe(this._onClick);
        this.keyDownEvent.subscribe(this._onKeyDown);
        this.keyPressEvent.subscribe(this._onKeyPress);
       =20

        if (UA.gecko || UA.webkit) {

            this.cfg.subscribeToConfigEvent("y", this._onYChange);

        }


        if (p_oConfig) {
   =20
            this.cfg.applyConfig(p_oConfig, true);
   =20
        }


        // Register the Menu instance with the MenuManager

        MenuManager.addMenu(this);
       =20

        this.initEvent.fire(Menu);

    }

},



// Private methods


/**
* @method _initSubTree
* @description Iterates the childNodes of the source element to find =
nodes=20
* used to instantiate menu and menu items.
* @private
*/
_initSubTree: function () {

    var oSrcElement =3D this.srcElement,
        sSrcElementTagName,
        nGroup,
        sGroupTitleTagName,
        oNode,
        aListElements,
        nListElements,
        i;


    if (oSrcElement) {
   =20
        sSrcElementTagName =3D=20
            (oSrcElement.tagName && oSrcElement.tagName.toUpperCase());


        if (sSrcElementTagName =3D=3D "DIV") {
   =20
            //  Populate the collection of item groups and item group =
titles
   =20
            oNode =3D this.body.firstChild;
   =20

            if (oNode) {
   =20
                nGroup =3D 0;
                sGroupTitleTagName =3D =
this.GROUP_TITLE_TAG_NAME.toUpperCase();
       =20
                do {
       =20

                    if (oNode && oNode.tagName) {
       =20
                        switch (oNode.tagName.toUpperCase()) {
       =20
                            case sGroupTitleTagName:
                           =20
                                this._aGroupTitleElements[nGroup] =3D =
oNode;
       =20
                            break;
       =20
                            case "UL":
       =20
                                this._aListElements[nGroup] =3D oNode;
                                this._aItemGroups[nGroup] =3D [];
                                nGroup++;
       =20
                            break;
       =20
                        }
                   =20
                    }
       =20
                }
                while ((oNode =3D oNode.nextSibling));
       =20
       =20
                /*
                    Apply the "first-of-type" class to the first UL to =
mimic=20
                    the "first-of-type" CSS3 psuedo class.
                */
       =20
                if (this._aListElements[0]) {
       =20
                    Dom.addClass(this._aListElements[0], =
"first-of-type");
       =20
                }
           =20
            }
   =20
        }
   =20
   =20
        oNode =3D null;
   =20
   =20

        if (sSrcElementTagName) {
   =20
            switch (sSrcElementTagName) {
       =20
                case "DIV":

                    aListElements =3D this._aListElements;
                    nListElements =3D aListElements.length;
       =20
                    if (nListElements > 0) {
       =20
       =20
                        i =3D nListElements - 1;
       =20
                        do {
       =20
                            oNode =3D aListElements[i].firstChild;
           =20
                            if (oNode) {

           =20
                                do {
               =20
                                    if (oNode && oNode.tagName &&=20
                                        oNode.tagName.toUpperCase() =
=3D=3D "LI") {
               =20
       =20
                                        this.addItem(new =
this.ITEM_TYPE(oNode,=20
                                                    { parent: this }), =
i);
           =20
                                    }
                       =20
                                }
                                while ((oNode =3D oNode.nextSibling));
                           =20
                            }
                   =20
                        }
                        while (i--);
       =20
                    }
       =20
                break;
       =20
                case "SELECT":
       =20
       =20
                    oNode =3D oSrcElement.firstChild;
       =20
                    do {
       =20
                        if (oNode && oNode.tagName) {
                       =20
                            switch (oNode.tagName.toUpperCase()) {
           =20
                                case "OPTGROUP":
                                case "OPTION":
           =20
           =20
                                    this.addItem(
                                            new this.ITEM_TYPE(
                                                    oNode,=20
                                                    { parent: this }
                                                )
                                            );
           =20
                                break;
           =20
                            }
   =20
                        }
       =20
                    }
                    while ((oNode =3D oNode.nextSibling));
       =20
                break;
       =20
            }
   =20
        }   =20
   =20
    }

},


/**
* @method _getFirstEnabledItem
* @description Returns the first enabled item in the menu.
* @return {YAHOO.widget.MenuItem}
* @private
*/
_getFirstEnabledItem: function () {

    var aItems =3D this.getItems(),
        nItems =3D aItems.length,
        oItem;
   =20
    for(var i=3D0; i<nItems; i++) {

        oItem =3D aItems[i];

        if (oItem && !oItem.cfg.getProperty("disabled") &&=20
            oItem.element.style.display !=3D "none") {

            return oItem;

        }
   =20
    }
   =20
},


/**
* @method _addItemToGroup
* @description Adds a menu item to a group.
* @private
* @param {Number} p_nGroupIndex Number indicating the group to which the =

* item belongs.
* @param {YAHOO.widget.MenuItem} p_oItem Object reference for the =
MenuItem=20
* instance to be added to the menu.
* @param {String} p_oItem String specifying the text of the item to be =
added=20
* to the menu.
* @param {Object} p_oItem Object literal containing a set of menu item=20
* configuration properties.
* @param {Number} p_nItemIndex Optional. Number indicating the index at=20
* which the menu item should be added.
* @return {YAHOO.widget.MenuItem}
*/
_addItemToGroup: function (p_nGroupIndex, p_oItem, p_nItemIndex) {

    var oItem,
        nGroupIndex,
        aGroup,
        oGroupItem,
        bAppend,
        oNextItemSibling,
        nItemIndex;

    function getNextItemSibling(p_aArray, p_nStartIndex) {

        return (p_aArray[p_nStartIndex] || getNextItemSibling(p_aArray,=20
                (p_nStartIndex+1)));

    }

    if (p_oItem instanceof this.ITEM_TYPE) {

        oItem =3D p_oItem;
        oItem.parent =3D this;

    }
    else if (typeof p_oItem =3D=3D "string") {

        oItem =3D new this.ITEM_TYPE(p_oItem, { parent: this });
   =20
    }
    else if (typeof p_oItem =3D=3D "object") {

        p_oItem.parent =3D this;

        oItem =3D new this.ITEM_TYPE(p_oItem.text, p_oItem);

    }


    if (oItem) {

        if (oItem.cfg.getProperty("selected")) {

            this.activeItem =3D oItem;
       =20
        }


        nGroupIndex =3D typeof p_nGroupIndex =3D=3D "number" ? =
p_nGroupIndex : 0;
        aGroup =3D this._getItemGroup(nGroupIndex);



        if (!aGroup) {

            aGroup =3D this._createItemGroup(nGroupIndex);

        }


        if (typeof p_nItemIndex =3D=3D "number") {

            bAppend =3D (p_nItemIndex >=3D aGroup.length);           =20


            if (aGroup[p_nItemIndex]) {
   =20
                aGroup.splice(p_nItemIndex, 0, oItem);
   =20
            }
            else {
   =20
                aGroup[p_nItemIndex] =3D oItem;
   =20
            }


            oGroupItem =3D aGroup[p_nItemIndex];

            if (oGroupItem) {

                if (bAppend && (!oGroupItem.element.parentNode ||=20
                        oGroupItem.element.parentNode.nodeType =3D=3D =
11)) {
       =20
                    this._aListElements[nGroupIndex].appendChild(
                        oGroupItem.element);
   =20
                }
                else {
   =20
                    oNextItemSibling =3D getNextItemSibling(aGroup,=20
                        (p_nItemIndex+1));
   =20
                    if (oNextItemSibling && =
(!oGroupItem.element.parentNode ||=20
                            oGroupItem.element.parentNode.nodeType =
=3D=3D 11)) {
           =20
                        this._aListElements[nGroupIndex].insertBefore(
                                oGroupItem.element,=20
                                oNextItemSibling.element);
       =20
                    }
   =20
                }
   =20

                oGroupItem.parent =3D this;
       =20
                this._subscribeToItemEvents(oGroupItem);
   =20
                this._configureSubmenu(oGroupItem);
               =20
                this._updateItemProperties(nGroupIndex);
       =20

                this.itemAddedEvent.fire(oGroupItem);
                this.changeContentEvent.fire();

                return oGroupItem;
   =20
            }

        }
        else {
   =20
            nItemIndex =3D aGroup.length;
   =20
            aGroup[nItemIndex] =3D oItem;

            oGroupItem =3D aGroup[nItemIndex];
   =20

            if (oGroupItem) {
   =20
                if (!Dom.isAncestor(this._aListElements[nGroupIndex],=20
                        oGroupItem.element)) {
   =20
                    this._aListElements[nGroupIndex].appendChild(
                        oGroupItem.element);
   =20
                }
   =20
                oGroupItem.element.setAttribute("groupindex", =
nGroupIndex);
                oGroupItem.element.setAttribute("index", nItemIndex);
       =20
                oGroupItem.parent =3D this;
   =20
                oGroupItem.index =3D nItemIndex;
                oGroupItem.groupIndex =3D nGroupIndex;
       =20
                this._subscribeToItemEvents(oGroupItem);
   =20
                this._configureSubmenu(oGroupItem);
   =20
                if (nItemIndex =3D=3D=3D 0) {
       =20
                    Dom.addClass(oGroupItem.element, "first-of-type");
       =20
                }

       =20

                this.itemAddedEvent.fire(oGroupItem);
                this.changeContentEvent.fire();

                return oGroupItem;
   =20
            }
   =20
        }

    }
   =20
},


/**
* @method _removeItemFromGroupByIndex
* @description Removes a menu item from a group by index.  Returns the =
menu=20
* item that was removed.
* @private
* @param {Number} p_nGroupIndex Number indicating the group to which the =
menu=20
* item belongs.
* @param {Number} p_nItemIndex Number indicating the index of the menu =
item=20
* to be removed.
* @return {YAHOO.widget.MenuItem}
*/
_removeItemFromGroupByIndex: function (p_nGroupIndex, p_nItemIndex) {

    var nGroupIndex =3D typeof p_nGroupIndex =3D=3D "number" ? =
p_nGroupIndex : 0,
        aGroup =3D this._getItemGroup(nGroupIndex),
        aArray,
        oItem,
        oUL;

    if (aGroup) {

        aArray =3D aGroup.splice(p_nItemIndex, 1);
        oItem =3D aArray[0];
   =20
        if (oItem) {
   =20
            // Update the index and className properties of each member  =
     =20
           =20
            this._updateItemProperties(nGroupIndex);
   =20
            if (aGroup.length =3D=3D=3D 0) {
   =20
                // Remove the UL
   =20
                oUL =3D this._aListElements[nGroupIndex];
   =20
                if (this.body && oUL) {
   =20
                    this.body.removeChild(oUL);
   =20
                }
   =20
                // Remove the group from the array of items
   =20
                this._aItemGroups.splice(nGroupIndex, 1);
   =20
   =20
                // Remove the UL from the array of ULs
   =20
                this._aListElements.splice(nGroupIndex, 1);
   =20
   =20
                /*
                     Assign the "first-of-type" class to the new first =
UL=20
                     in the collection
                */
   =20
                oUL =3D this._aListElements[0];
   =20
                if (oUL) {
   =20
                    Dom.addClass(oUL, "first-of-type");
   =20
                }           =20
   =20
            }
   =20

            this.itemRemovedEvent.fire(oItem);
            this.changeContentEvent.fire();


            // Return a reference to the item that was removed
       =20
            return oItem;
   =20
        }

    }
   =20
},


/**
* @method _removeItemFromGroupByValue
* @description Removes a menu item from a group by reference.  Returns =
the=20
* menu item that was removed.
* @private
* @param {Number} p_nGroupIndex Number indicating the group to which the
* menu item belongs.
* @param {YAHOO.widget.MenuItem} p_oItem Object reference for the =
MenuItem=20
* instance to be removed.
* @return {YAHOO.widget.MenuItem}
*/   =20
_removeItemFromGroupByValue: function (p_nGroupIndex, p_oItem) {

    var aGroup =3D this._getItemGroup(p_nGroupIndex),
        nItems,
        nItemIndex,
        i;

    if (aGroup) {

        nItems =3D aGroup.length;
        nItemIndex =3D -1;
   =20
        if (nItems > 0) {
   =20
            i =3D nItems-1;
       =20
            do {
       =20
                if (aGroup[i] =3D=3D p_oItem) {
       =20
                    nItemIndex =3D i;
                    break;   =20
       =20
                }
       =20
            }
            while(i--);
       =20
            if (nItemIndex > -1) {
       =20
                return (this._removeItemFromGroupByIndex(p_nGroupIndex,=20
                            nItemIndex));
       =20
            }
   =20
        }
   =20
    }

},


/**
* @method _updateItemProperties
* @description Updates the "index," "groupindex," and "className" =
properties=20
* of the menu items in the specified group.=20
* @private
* @param {Number} p_nGroupIndex Number indicating the group of items to =
update.
*/
_updateItemProperties: function (p_nGroupIndex) {

    var aGroup =3D this._getItemGroup(p_nGroupIndex),
        nItems =3D aGroup.length,
        oItem,
        oLI,
        i;


    if (nItems > 0) {

        i =3D nItems - 1;

        // Update the index and className properties of each member
   =20
        do {

            oItem =3D aGroup[i];

            if (oItem) {
   =20
                oLI =3D oItem.element;

                oItem.index =3D i;
                oItem.groupIndex =3D p_nGroupIndex;

                oLI.setAttribute("groupindex", p_nGroupIndex);
                oLI.setAttribute("index", i);

                Dom.removeClass(oLI, "first-of-type");

            }
   =20
        }
        while(i--);


        if (oLI) {

            Dom.addClass(oLI, "first-of-type");

        }

    }

},


/**
* @method _createItemGroup
* @description Creates a new menu item group (array) and its associated=20
* <code>&#60;ul&#62;</code> element. Returns an aray of menu item =
groups.
* @private
* @param {Number} p_nIndex Number indicating the group to create.
* @return {Array}
*/
_createItemGroup: function (p_nIndex) {

    var oUL;

    if (!this._aItemGroups[p_nIndex]) {

        this._aItemGroups[p_nIndex] =3D [];

        oUL =3D document.createElement("ul");

        this._aListElements[p_nIndex] =3D oUL;

        return this._aItemGroups[p_nIndex];

    }

},


/**
* @method _getItemGroup
* @description Returns the menu item group at the specified index.
* @private
* @param {Number} p_nIndex Number indicating the index of the menu item =
group=20
* to be retrieved.
* @return {Array}
*/
_getItemGroup: function (p_nIndex) {

    var nIndex =3D ((typeof p_nIndex =3D=3D "number") ? p_nIndex : 0);

    return this._aItemGroups[nIndex];

},


/**
* @method _configureSubmenu
* @description Subscribes the menu item's submenu to its parent menu's =
events.
* @private
* @param {YAHOO.widget.MenuItem} p_oItem Object reference for the =
MenuItem=20
* instance with the submenu to be configured.
*/
_configureSubmenu: function (p_oItem) {

    var oSubmenu =3D p_oItem.cfg.getProperty("submenu");

    if (oSubmenu) {
           =20
        /*
            Listen for configuration changes to the parent menu=20
            so they they can be applied to the submenu.
        */

        =
this.cfg.configChangedEvent.subscribe(this._onParentMenuConfigChange,=20
                oSubmenu, true);

        this.renderEvent.subscribe(this._onParentMenuRender, oSubmenu, =
true);

        oSubmenu.beforeShowEvent.subscribe(this._onSubmenuBeforeShow);

    }

},




/**
* @method _subscribeToItemEvents
* @description Subscribes a menu to a menu item's event.
* @private
* @param {YAHOO.widget.MenuItem} p_oItem Object reference for the =
MenuItem=20
* instance whose events should be subscribed to.
*/
_subscribeToItemEvents: function (p_oItem) {

    p_oItem.focusEvent.subscribe(this._onMenuItemFocus);

    p_oItem.blurEvent.subscribe(this._onMenuItemBlur);

    p_oItem.destroyEvent.subscribe(this._onMenuItemDestroy, p_oItem, =
this);

    =
p_oItem.cfg.configChangedEvent.subscribe(this._onMenuItemConfigChange,
        p_oItem, this);

},


/**
* @method _onVisibleChange
* @description Change event handler for the the menu's "visible" =
configuration
* property.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onVisibleChange: function (p_sType, p_aArgs) {

    var bVisible =3D p_aArgs[0];
   =20
    if (bVisible) {

        Dom.addClass(this.element, "visible");

    }
    else {

        Dom.removeClass(this.element, "visible");

    }

},


/**
* @method _cancelHideDelay
* @description Cancels the call to "hideMenu."
* @private
*/
_cancelHideDelay: function () {

    var oRoot =3D this.getRoot();

    if (oRoot._nHideDelayId) {

        window.clearTimeout(oRoot._nHideDelayId);

    }

},


/**
* @method _execHideDelay
* @description Hides the menu after the number of milliseconds specified =
by=20
* the "hidedelay" configuration property.
* @private
*/
_execHideDelay: function () {

    this._cancelHideDelay();

    var oRoot =3D this.getRoot(),
        me =3D this;

    function hideMenu() {
   =20
        if (oRoot.activeItem) {

            oRoot.clearActiveItem();

        }

        if (oRoot =3D=3D me && !(me instanceof YAHOO.widget.MenuBar) &&=20
            me.cfg.getProperty("position") =3D=3D "dynamic") {

            me.hide();
       =20
        }
   =20
    }


    oRoot._nHideDelayId =3D=20
        window.setTimeout(hideMenu, oRoot.cfg.getProperty("hidedelay"));

},


/**
* @method _cancelShowDelay
* @description Cancels the call to the "showMenu."
* @private
*/
_cancelShowDelay: function () {

    var oRoot =3D this.getRoot();

    if (oRoot._nShowDelayId) {

        window.clearTimeout(oRoot._nShowDelayId);

    }

},


/**
* @method _execShowDelay
* @description Shows the menu after the number of milliseconds specified =
by=20
* the "showdelay" configuration property have ellapsed.
* @private
* @param {YAHOO.widget.Menu} p_oMenu Object specifying the menu that =
should=20
* be made visible.
*/
_execShowDelay: function (p_oMenu) {

    var oRoot =3D this.getRoot();

    function showMenu() {

        if (p_oMenu.parent.cfg.getProperty("selected")) {

            p_oMenu.show();

        }

    }


    oRoot._nShowDelayId =3D=20
        window.setTimeout(showMenu, oRoot.cfg.getProperty("showdelay"));

},


/**
* @method _execSubmenuHideDelay
* @description Hides a submenu after the number of milliseconds =
specified by=20
* the "submenuhidedelay" configuration property have ellapsed.
* @private
* @param {YAHOO.widget.Menu} p_oSubmenu Object specifying the submenu =
that =20
* should be hidden.
* @param {Number} p_nMouseX The x coordinate of the mouse when it left=20
* the specified submenu's parent menu item.
* @param {Number} p_nHideDelay The number of milliseconds that should =
ellapse
* before the submenu is hidden.
*/
_execSubmenuHideDelay: function (p_oSubmenu, p_nMouseX, p_nHideDelay) {

    var me =3D this;

    p_oSubmenu._nSubmenuHideDelayId =3D window.setTimeout(function () {

        if (me._nCurrentMouseX > (p_nMouseX + 10)) {

            p_oSubmenu._nSubmenuHideDelayId =3D =
window.setTimeout(function () {
       =20
                p_oSubmenu.hide();

            }, p_nHideDelay);

        }
        else {

            p_oSubmenu.hide();
       =20
        }

    }, 50);

},



// Protected methods


/**
* @method _disableScrollHeader
* @description Disables the header used for scrolling the body of the =
menu.
* @protected
*/
_disableScrollHeader: function () {

    if (!this._bHeaderDisabled) {

        Dom.addClass(this.header, "topscrollbar_disabled");
        this._bHeaderDisabled =3D true;

    }

},


/**
* @method _disableScrollFooter
* @description Disables the footer used for scrolling the body of the =
menu.
* @protected
*/
_disableScrollFooter: function () {

    if (!this._bFooterDisabled) {

        Dom.addClass(this.footer, "bottomscrollbar_disabled");
        this._bFooterDisabled =3D true;

    }

},


/**
* @method _enableScrollHeader
* @description Enables the header used for scrolling the body of the =
menu.
* @protected
*/
_enableScrollHeader: function () {

    if (this._bHeaderDisabled) {

        Dom.removeClass(this.header, "topscrollbar_disabled");
        this._bHeaderDisabled =3D false;

    }

},


/**
* @method _enableScrollFooter
* @description Enables the footer used for scrolling the body of the =
menu.
* @protected
*/
_enableScrollFooter: function () {

    if (this._bFooterDisabled) {

        Dom.removeClass(this.footer, "bottomscrollbar_disabled");
        this._bFooterDisabled =3D false;

    }

},


/**
* @method _onMouseOver
* @description "mouseover" event handler for the menu.
* @protected
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onMouseOver: function (p_sType, p_aArgs) {

    if (this._bStopMouseEventHandlers) {
   =20
        return false;
   =20
    }


    var oEvent =3D p_aArgs[0],
        oItem =3D p_aArgs[1],
        oTarget =3D Event.getTarget(oEvent),
        oParentMenu,
        nShowDelay,
        bShowDelay,
        oActiveItem,
        oItemCfg,
        oSubmenu;


    if (!this._bHandledMouseOverEvent && (oTarget =3D=3D this.element || =

        Dom.isAncestor(this.element, oTarget))) {

        // Menu mouseover logic

        this._nCurrentMouseX =3D 0;

        Event.on(this.element, "mousemove", this._onMouseMove, this, =
true);


		if (!Dom.isAncestor(oItem.element, Event.getRelatedTarget(oEvent))) {

        	this.clearActiveItem();
       =20
        }


        if (this.parent && this._nSubmenuHideDelayId) {

            window.clearTimeout(this._nSubmenuHideDelayId);

            this.parent.cfg.setProperty("selected", true);

            oParentMenu =3D this.parent.parent;

            oParentMenu._bHandledMouseOutEvent =3D true;
            oParentMenu._bHandledMouseOverEvent =3D false;

        }


        this._bHandledMouseOverEvent =3D true;
        this._bHandledMouseOutEvent =3D false;
   =20
    }


    if (oItem && !oItem.handledMouseOverEvent &&=20
        !oItem.cfg.getProperty("disabled") &&=20
        (oTarget =3D=3D oItem.element || Dom.isAncestor(oItem.element, =
oTarget))) {

        // Menu Item mouseover logic

        nShowDelay =3D this.cfg.getProperty("showdelay");
        bShowDelay =3D (nShowDelay > 0);


        if (bShowDelay) {
       =20
            this._cancelShowDelay();
       =20
        }


        oActiveItem =3D this.activeItem;
   =20
        if (oActiveItem) {
   =20
            oActiveItem.cfg.setProperty("selected", false);
   =20
        }


        oItemCfg =3D oItem.cfg;
   =20
        // Select and focus the current menu item
   =20
        oItemCfg.setProperty("selected", true);


        if (this.hasFocus()) {
       =20
            oItem.focus();
       =20
        }


        if (this.cfg.getProperty("autosubmenudisplay")) {

            // Show the submenu this menu item

            oSubmenu =3D oItemCfg.getProperty("submenu");
       =20
            if (oSubmenu) {
       =20
                if (bShowDelay) {

                    this._execShowDelay(oSubmenu);
       =20
                }
                else {

                    oSubmenu.show();

                }

            }

        }                       =20

        oItem.handledMouseOverEvent =3D true;
        oItem.handledMouseOutEvent =3D false;

    }

},


/**
* @method _onMouseOut
* @description "mouseout" event handler for the menu.
* @protected
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onMouseOut: function (p_sType, p_aArgs) {

    if (this._bStopMouseEventHandlers) {
   =20
        return false;
   =20
    }


    var oEvent =3D p_aArgs[0],
        oItem =3D p_aArgs[1],
        oRelatedTarget =3D Event.getRelatedTarget(oEvent),
        bMovingToSubmenu =3D false,
        oItemCfg,
        oSubmenu,
        nSubmenuHideDelay,
        nShowDelay;


    if (oItem && !oItem.cfg.getProperty("disabled")) {

        oItemCfg =3D oItem.cfg;
        oSubmenu =3D oItemCfg.getProperty("submenu");


        if (oSubmenu && (oRelatedTarget =3D=3D oSubmenu.element ||
                Dom.isAncestor(oSubmenu.element, oRelatedTarget))) {

            bMovingToSubmenu =3D true;

        }


        if (!oItem.handledMouseOutEvent && ((oRelatedTarget !=3D =
oItem.element && =20
            !Dom.isAncestor(oItem.element, oRelatedTarget)) ||=20
            bMovingToSubmenu)) {

            // Menu Item mouseout logic

            if (!bMovingToSubmenu) {

                oItem.cfg.setProperty("selected", false);


                if (oSubmenu) {

                    nSubmenuHideDelay =3D=20
                        this.cfg.getProperty("submenuhidedelay");

                    nShowDelay =3D this.cfg.getProperty("showdelay");

                    if (!(this instanceof YAHOO.widget.MenuBar) &&=20
                        nSubmenuHideDelay > 0 &&=20
                        nShowDelay >=3D nSubmenuHideDelay) {

                        this._execSubmenuHideDelay(oSubmenu,=20
                                Event.getPageX(oEvent),
                                nSubmenuHideDelay);

                    }
                    else {

                        oSubmenu.hide();

                    }

                }

            }


            oItem.handledMouseOutEvent =3D true;
            oItem.handledMouseOverEvent =3D false;
   =20
        }

    }


    if (!this._bHandledMouseOutEvent && ((oRelatedTarget !=3D =
this.element && =20
        !Dom.isAncestor(this.element, oRelatedTarget)) || =
bMovingToSubmenu)) {

        // Menu mouseout logic

        Event.removeListener(this.element, "mousemove", =
this._onMouseMove);

        this._nCurrentMouseX =3D Event.getPageX(oEvent);

        this._bHandledMouseOutEvent =3D true;
        this._bHandledMouseOverEvent =3D false;

    }

},


/**
* @method _onMouseMove
* @description "click" event handler for the menu.
* @protected
* @param {Event} p_oEvent Object representing the DOM event object =
passed=20
* back by the event utility (YAHOO.util.Event).
* @param {YAHOO.widget.Menu} p_oMenu Object representing the menu that=20
* fired the event.
*/
_onMouseMove: function (p_oEvent, p_oMenu) {

    if (this._bStopMouseEventHandlers) {
   =20
        return false;
   =20
    }

    this._nCurrentMouseX =3D Event.getPageX(p_oEvent);

},


/**
* @method _onClick
* @description "click" event handler for the menu.
* @protected
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onClick: function (p_sType, p_aArgs) {

	var Event =3D YAHOO.util.Event,
		Dom =3D YAHOO.util.Dom,
		oEvent =3D p_aArgs[0],
		oItem =3D p_aArgs[1],
		oSubmenu,
		bInMenuAnchor =3D false,
		oRoot,
		sId,
		sURL,
		nHashPos,
		nLen;


	if (oItem) {
=09
		if (oItem.cfg.getProperty("disabled")) {
	=09
			Event.preventDefault(oEvent);

		}
		else {

			oSubmenu =3D oItem.cfg.getProperty("submenu");
=09
		=09
			/*
				 Check if the URL of the anchor is pointing to an element that is=20
				 a child of the menu.
			*/
		=09
			sURL =3D oItem.cfg.getProperty("url");

	=09
			if (sURL) {
=09
				nHashPos =3D sURL.indexOf("#");
=09
				nLen =3D sURL.length;
=09
=09
				if (nHashPos !=3D -1) {
=09
					sURL =3D sURL.substr(nHashPos, nLen);
	=09
					nLen =3D sURL.length;
=09
=09
					if (nLen > 1) {
=09
						sId =3D sURL.substr(1, nLen);
=09
						bInMenuAnchor =3D Dom.isAncestor(this.element, sId);
					=09
					}
					else if (nLen =3D=3D=3D 1) {
=09
						bInMenuAnchor =3D true;
				=09
					}
=09
				}
		=09
			}


=09
			if (bInMenuAnchor && !oItem.cfg.getProperty("target")) {
=09
				Event.preventDefault(oEvent);
			=09

				if (UA.webkit) {
			=09
					oItem.focus();
			=09
				}
				else {

					oItem.focusEvent.fire();
			=09
				}
		=09
			}
=09
=09
			if (!oSubmenu) {
=09
				oRoot =3D this.getRoot();
			=09
				if (oRoot instanceof YAHOO.widget.MenuBar ||=20
					oRoot.cfg.getProperty("position") =3D=3D "static") {
=09
					oRoot.clearActiveItem();
=09
				}
				else {
=09
					oRoot.hide();
			=09
				}
=09
			}
		=09
		}
=09
	}

},


/**
* @method _onKeyDown
* @description "keydown" event handler for the menu.
* @protected
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onKeyDown: function (p_sType, p_aArgs) {

    var oEvent =3D p_aArgs[0],
        oItem =3D p_aArgs[1],
        me =3D this,
        oSubmenu,
        oItemCfg,
        oParentItem,
        oRoot,
        oNextItem,
        oBody,
        nBodyScrollTop,
        nBodyOffsetHeight,
        aItems,
        nItems,
        nNextItemOffsetTop,
        nScrollTarget,
        oParentMenu;


    /*
        This function is called to prevent a bug in Firefox.  In =
Firefox,
        moving a DOM element into a stationary mouse pointer will cause =
the=20
        browser to fire mouse events.  This can result in the menu mouse
        event handlers being called uncessarily, especially when menus =
are=20
        moved into a stationary mouse pointer as a result of a=20
        key event handler.
    */
    function stopMouseEventHandlers() {

        me._bStopMouseEventHandlers =3D true;
       =20
        window.setTimeout(function () {
       =20
            me._bStopMouseEventHandlers =3D false;
       =20
        }, 10);

    }


    if (oItem && !oItem.cfg.getProperty("disabled")) {

        oItemCfg =3D oItem.cfg;
        oParentItem =3D this.parent;

        switch(oEvent.keyCode) {
   =20
            case 38:    // Up arrow
            case 40:    // Down arrow
   =20
                oNextItem =3D (oEvent.keyCode =3D=3D 38) ?=20
                    oItem.getPreviousEnabledSibling() :=20
                    oItem.getNextEnabledSibling();
       =20
                if (oNextItem) {

                    this.clearActiveItem();

                    oNextItem.cfg.setProperty("selected", true);
                    oNextItem.focus();


                    if (this.cfg.getProperty("maxheight") > 0) {

                        oBody =3D this.body;
                        nBodyScrollTop =3D oBody.scrollTop;
                        nBodyOffsetHeight =3D oBody.offsetHeight;
                        aItems =3D this.getItems();
                        nItems =3D aItems.length - 1;
                        nNextItemOffsetTop =3D =
oNextItem.element.offsetTop;


                        if (oEvent.keyCode =3D=3D 40 ) {    // Down
                      =20
                            if (nNextItemOffsetTop >=3D =
(nBodyOffsetHeight + nBodyScrollTop)) {

                                oBody.scrollTop =3D nNextItemOffsetTop - =
nBodyOffsetHeight;

                            }
                            else if (nNextItemOffsetTop <=3D =
nBodyScrollTop) {
                           =20
                                oBody.scrollTop =3D 0;
                           =20
                            }


                            if (oNextItem =3D=3D aItems[nItems]) {

                                oBody.scrollTop =3D =
oNextItem.element.offsetTop;

                            }

                        }
                        else {  // Up

                            if (nNextItemOffsetTop <=3D nBodyScrollTop) =
{

                                oBody.scrollTop =3D nNextItemOffsetTop - =
oNextItem.element.offsetHeight;
                           =20
                            }
                            else if (nNextItemOffsetTop >=3D =
(nBodyScrollTop + nBodyOffsetHeight)) {
                           =20
                                oBody.scrollTop =3D nNextItemOffsetTop;
                           =20
                            }


                            if (oNextItem =3D=3D aItems[0]) {
                           =20
                                oBody.scrollTop =3D 0;
                           =20
                            }

                        }


                        nBodyScrollTop =3D oBody.scrollTop;
                        nScrollTarget =3D oBody.scrollHeight - =
oBody.offsetHeight;

                        if (nBodyScrollTop =3D=3D=3D 0) {

                            this._disableScrollHeader();
                            this._enableScrollFooter();

                        }
                        else if (nBodyScrollTop =3D=3D nScrollTarget) {

                             this._enableScrollHeader();
                             this._disableScrollFooter();

                        }
                        else {

                            this._enableScrollHeader();
                            this._enableScrollFooter();

                        }

                    }

                }

   =20
                Event.preventDefault(oEvent);

                stopMouseEventHandlers();
   =20
            break;
           =20
   =20
            case 39:    // Right arrow
   =20
                oSubmenu =3D oItemCfg.getProperty("submenu");
   =20
                if (oSubmenu) {
   =20
                    if (!oItemCfg.getProperty("selected")) {
       =20
                        oItemCfg.setProperty("selected", true);
       =20
                    }
   =20
                    oSubmenu.show();
                    oSubmenu.setInitialFocus();
                    oSubmenu.setInitialSelection();
   =20
                }
                else {
   =20
                    oRoot =3D this.getRoot();
                   =20
                    if (oRoot instanceof YAHOO.widget.MenuBar) {
   =20
                        oNextItem =3D =
oRoot.activeItem.getNextEnabledSibling();
   =20
                        if (oNextItem) {
                       =20
                            oRoot.clearActiveItem();
   =20
                            oNextItem.cfg.setProperty("selected", true);
   =20
                            oSubmenu =3D =
oNextItem.cfg.getProperty("submenu");
   =20
                            if (oSubmenu) {
   =20
                                oSubmenu.show();
                           =20
                            }
   =20
                            oNextItem.focus();
                       =20
                        }
                   =20
                    }
               =20
                }
   =20
   =20
                Event.preventDefault(oEvent);

                stopMouseEventHandlers();

            break;
   =20
   =20
            case 37:    // Left arrow
   =20
                if (oParentItem) {
   =20
                    oParentMenu =3D oParentItem.parent;
   =20
                    if (oParentMenu instanceof YAHOO.widget.MenuBar) {
   =20
                        oNextItem =3D=20
                            =
oParentMenu.activeItem.getPreviousEnabledSibling();
   =20
                        if (oNextItem) {
                       =20
                            oParentMenu.clearActiveItem();
   =20
                            oNextItem.cfg.setProperty("selected", true);
   =20
                            oSubmenu =3D =
oNextItem.cfg.getProperty("submenu");
   =20
                            if (oSubmenu) {
                           =20
                                oSubmenu.show();
                           =20
                            }
   =20
                            oNextItem.focus();
                       =20
                        }=20
                   =20
                    }
                    else {
   =20
                        this.hide();
   =20
                        oParentItem.focus();
                   =20
                    }
   =20
                }
   =20
                Event.preventDefault(oEvent);

                stopMouseEventHandlers();

            break;       =20
   =20
        }


    }


    if (oEvent.keyCode =3D=3D 27) { // Esc key

        if (this.cfg.getProperty("position") =3D=3D "dynamic") {
       =20
            this.hide();

            if (this.parent) {

                this.parent.focus();
           =20
            }

        }
        else if (this.activeItem) {

            oSubmenu =3D this.activeItem.cfg.getProperty("submenu");

            if (oSubmenu && oSubmenu.cfg.getProperty("visible")) {
           =20
                oSubmenu.hide();
                this.activeItem.focus();
           =20
            }
            else {

                this.activeItem.blur();
                this.activeItem.cfg.setProperty("selected", false);
       =20
            }
       =20
        }


        Event.preventDefault(oEvent);
   =20
    }
   =20
},


/**
* @method _onKeyPress
* @description "keypress" event handler for a Menu instance.
* @protected
* @param {String} p_sType The name of the event that was fired.
* @param {Array} p_aArgs Collection of arguments sent when the event=20
* was fired.
*/
_onKeyPress: function (p_sType, p_aArgs) {
   =20
    var oEvent =3D p_aArgs[0];


    if (oEvent.keyCode =3D=3D 40 || oEvent.keyCode =3D=3D 38) {

        Event.preventDefault(oEvent);

    }

},


/**
* @method _onYChange
* @description "y" event handler for a Menu instance.
* @protected
* @param {String} p_sType The name of the event that was fired.
* @param {Array} p_aArgs Collection of arguments sent when the event=20
* was fired.
*/
_onYChange: function (p_sType, p_aArgs) {

    var oParent =3D this.parent,
        nScrollTop,
        oIFrame,
        nY;


    if (oParent) {

        nScrollTop =3D oParent.parent.body.scrollTop;


        if (nScrollTop > 0) {
   =20
            nY =3D (this.cfg.getProperty("y") - nScrollTop);
           =20
            Dom.setY(this.element, nY);

            oIFrame =3D this.iframe;           =20
   =20

            if (oIFrame) {
   =20
                Dom.setY(oIFrame, nY);
   =20
            }
           =20
            this.cfg.setProperty("y", nY, true);
       =20
        }
   =20
    }

},


/**
* @method _onScrollTargetMouseOver
* @description "mouseover" event handler for the menu's "header" and =
"footer"=20
* elements.  Used to scroll the body of the menu up and down when the=20
* menu's "maxheight" configuration property is set to a value greater =
than 0.
* @protected
* @param {Event} p_oEvent Object representing the DOM event object =
passed=20
* back by the event utility (YAHOO.util.Event).
* @param {YAHOO.widget.Menu} p_oMenu Object representing the menu that=20
* fired the event.
*/
_onScrollTargetMouseOver: function (p_oEvent, p_oMenu) {

    this._cancelHideDelay();

    var oTarget =3D Event.getTarget(p_oEvent),
        oBody =3D this.body,
        me =3D this,
        nScrollIncrement =3D this.cfg.getProperty("scrollincrement"),
        nScrollTarget,
        fnScrollFunction;


    function scrollBodyDown() {

        var nScrollTop =3D oBody.scrollTop;


        if (nScrollTop < nScrollTarget) {

            oBody.scrollTop =3D (nScrollTop + nScrollIncrement);

            me._enableScrollHeader();

        }
        else {

            oBody.scrollTop =3D nScrollTarget;
           =20
            window.clearInterval(me._nBodyScrollId);

            me._disableScrollFooter();

        }

    }


    function scrollBodyUp() {

        var nScrollTop =3D oBody.scrollTop;


        if (nScrollTop > 0) {

            oBody.scrollTop =3D (nScrollTop - nScrollIncrement);

            me._enableScrollFooter();

        }
        else {

            oBody.scrollTop =3D 0;
           =20
            window.clearInterval(me._nBodyScrollId);

            me._disableScrollHeader();

        }

    }

   =20
    if (Dom.hasClass(oTarget, "hd")) {

        fnScrollFunction =3D scrollBodyUp;
   =20
    }
    else {

        nScrollTarget =3D oBody.scrollHeight - oBody.offsetHeight;

        fnScrollFunction =3D scrollBodyDown;
   =20
    }


    this._nBodyScrollId =3D window.setInterval(fnScrollFunction, 10);

},


/**
* @method _onScrollTargetMouseOut
* @description "mouseout" event handler for the menu's "header" and =
"footer"=20
* elements.  Used to stop scrolling the body of the menu up and down =
when the=20
* menu's "maxheight" configuration property is set to a value greater =
than 0.
* @protected
* @param {Event} p_oEvent Object representing the DOM event object =
passed=20
* back by the event utility (YAHOO.util.Event).
* @param {YAHOO.widget.Menu} p_oMenu Object representing the menu that=20
* fired the event.
*/
_onScrollTargetMouseOut: function (p_oEvent, p_oMenu) {

    window.clearInterval(this._nBodyScrollId);

    this._cancelHideDelay();

},



// Private methods


/**
* @method _onInit
* @description "init" event handler for the menu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onInit: function (p_sType, p_aArgs) {

    this.cfg.subscribeToConfigEvent("visible", this._onVisibleChange);

    var bRootMenu =3D !this.parent,
        bLazyLoad =3D this.lazyLoad;


    /*
        Automatically initialize a menu's subtree if:

        1) This is the root menu and lazyload is off
       =20
        2) This is the root menu, lazyload is on, but the menu is=20
           already visible

        3) This menu is a submenu and lazyload is off
    */



    if (((bRootMenu && !bLazyLoad) ||=20
        (bRootMenu && (this.cfg.getProperty("visible") ||=20
        this.cfg.getProperty("position") =3D=3D "static")) ||=20
        (!bRootMenu && !bLazyLoad)) && this.getItemGroups().length =
=3D=3D=3D 0) {

        if (this.srcElement) {

            this._initSubTree();
       =20
        }


        if (this.itemData) {

            this.addItems(this.itemData);

        }
   =20
    }
    else if (bLazyLoad) {

        this.cfg.fireQueue();
   =20
    }

},


/**
* @method _onBeforeRender
* @description "beforerender" event handler for the menu.  Appends all =
of the=20
* <code>&#60;ul&#62;</code>, <code>&#60;li&#62;</code> and their =
accompanying=20
* title elements to the body element of the menu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onBeforeRender: function (p_sType, p_aArgs) {

    var oEl =3D this.element,
        nListElements =3D this._aListElements.length,
        bFirstList =3D true,
        i =3D 0,
        oUL,
        oGroupTitle;

    if (nListElements > 0) {

        do {

            oUL =3D this._aListElements[i];

            if (oUL) {

                if (bFirstList) {
       =20
                    Dom.addClass(oUL, "first-of-type");
                    bFirstList =3D false;
       =20
                }


                if (!Dom.isAncestor(oEl, oUL)) {

                    this.appendToBody(oUL);

                }


                oGroupTitle =3D this._aGroupTitleElements[i];

                if (oGroupTitle) {

                    if (!Dom.isAncestor(oEl, oGroupTitle)) {

                        oUL.parentNode.insertBefore(oGroupTitle, oUL);

                    }


                    Dom.addClass(oUL, "hastitle");

                }

            }

            i++;

        }
        while(i < nListElements);

    }

},


/**
* @method _onRender
* @description "render" event handler for the menu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onRender: function (p_sType, p_aArgs) {

    if (this.cfg.getProperty("position") =3D=3D "dynamic") {=20

        if (!this.cfg.getProperty("visible")) {

            this.positionOffScreen();

        }
   =20
    }

},





/**
* @method _onBeforeShow
* @description "beforeshow" event handler for the menu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onBeforeShow: function (p_sType, p_aArgs) {

    var nOptions,
        n,
        nViewportHeight,
        oRegion,
        oSrcElement;


    if (this.lazyLoad && this.getItemGroups().length =3D=3D=3D 0) {

        if (this.srcElement) {
       =20
            this._initSubTree();

        }


        if (this.itemData) {

            if (this.parent && this.parent.parent &&=20
                this.parent.parent.srcElement &&=20
                this.parent.parent.srcElement.tagName.toUpperCase() =
=3D=3D=20
                "SELECT") {

                nOptions =3D this.itemData.length;
   =20
                for(n=3D0; n<nOptions; n++) {

                    if (this.itemData[n].tagName) {

                        this.addItem((new =
this.ITEM_TYPE(this.itemData[n])));
   =20
                    }
   =20
                }
           =20
            }
            else {

                this.addItems(this.itemData);
           =20
            }
       =20
        }


        oSrcElement =3D this.srcElement;

        if (oSrcElement) {

            if (oSrcElement.tagName.toUpperCase() =3D=3D "SELECT") {

                if (Dom.inDocument(oSrcElement)) {

                    this.render(oSrcElement.parentNode);
               =20
                }
                else {
               =20
                    this.render(this.cfg.getProperty("container"));
               =20
                }

            }
            else {

                this.render();

            }

        }
        else {

            if (this.parent) {

                this.render(this.parent.element);           =20

            }
            else {

                this.render(this.cfg.getProperty("container"));

            }               =20

        }

    }


    var nMaxHeight =3D this.cfg.getProperty("maxheight"),
        nMinScrollHeight =3D this.cfg.getProperty("minscrollheight"),
        bDynamicPos =3D this.cfg.getProperty("position") =3D=3D =
"dynamic";


    if (!this.parent && bDynamicPos) {

        this.cfg.refireEvent("xy");
  =20
    }


    function clearMaxHeight() {
   =20
        this.cfg.setProperty("maxheight", 0);
   =20
        this.hideEvent.unsubscribe(clearMaxHeight);
   =20
    }


    if (!(this instanceof YAHOO.widget.MenuBar) && bDynamicPos) {


        if (nMaxHeight =3D=3D=3D 0) {

            nViewportHeight =3D Dom.getViewportHeight();
   =20
   =20
            if (this.parent &&=20
                this.parent.parent instanceof YAHOO.widget.MenuBar) {
              =20
                oRegion =3D =
YAHOO.util.Region.getRegion(this.parent.element);
               =20
                nViewportHeight =3D (nViewportHeight - oRegion.bottom);
   =20
            }
   =20
   =20
            if (this.element.offsetHeight >=3D nViewportHeight) {
   =20
                nMaxHeight =3D (nViewportHeight - =
(Overlay.VIEWPORT_OFFSET * 2));

                if (nMaxHeight < nMinScrollHeight) {

                    nMaxHeight =3D nMinScrollHeight;
               =20
                }

                this.cfg.setProperty("maxheight", nMaxHeight);

                this.hideEvent.subscribe(clearMaxHeight);

            }
       =20
        }

    }

},


/**
* @method _onShow
* @description "show" event handler for the menu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onShow: function (p_sType, p_aArgs) {

    var oParent =3D this.parent,
        oParentMenu,
        aParentAlignment,
        aAlignment;


    function disableAutoSubmenuDisplay(p_oEvent) {

        var oTarget;

        if (p_oEvent.type =3D=3D "mousedown" || (p_oEvent.type =3D=3D =
"keydown" &&=20
            p_oEvent.keyCode =3D=3D 27)) {

            /* =20
                Set the "autosubmenudisplay" to "false" if the user
                clicks outside the menu bar.
            */

            oTarget =3D Event.getTarget(p_oEvent);

            if (oTarget !=3D oParentMenu.element ||=20
                !Dom.isAncestor(oParentMenu.element, oTarget)) {

                oParentMenu.cfg.setProperty("autosubmenudisplay", =
false);

                Event.removeListener(document, "mousedown",=20
                        disableAutoSubmenuDisplay);

                Event.removeListener(document, "keydown",=20
                        disableAutoSubmenuDisplay);

            }
       =20
        }

    }


    if (oParent) {

        oParentMenu =3D oParent.parent;
        aParentAlignment =3D =
oParentMenu.cfg.getProperty("submenualignment");
        aAlignment =3D this.cfg.getProperty("submenualignment");


        if ((aParentAlignment[0] !=3D aAlignment[0]) &&
            (aParentAlignment[1] !=3D aAlignment[1])) {

            this.cfg.setProperty("submenualignment",=20
                [aParentAlignment[0], aParentAlignment[1]]);
       =20
        }


        if (!oParentMenu.cfg.getProperty("autosubmenudisplay") &&=20
            (oParentMenu instanceof YAHOO.widget.MenuBar ||=20
            oParentMenu.cfg.getProperty("position") =3D=3D "static")) {

            oParentMenu.cfg.setProperty("autosubmenudisplay", true);

            Event.on(document, "mousedown", disableAutoSubmenuDisplay);  =
                          =20
            Event.on(document, "keydown", disableAutoSubmenuDisplay);

        }

    }

},


/**
* @method _onBeforeHide
* @description "beforehide" event handler for the menu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onBeforeHide: function (p_sType, p_aArgs) {

    var oActiveItem =3D this.activeItem,
        oConfig,
        oSubmenu;

    if (oActiveItem) {

        oConfig =3D oActiveItem.cfg;

        oConfig.setProperty("selected", false);

        oSubmenu =3D oConfig.getProperty("submenu");

        if (oSubmenu) {

            oSubmenu.hide();

        }

    }

    if (this.getRoot() =3D=3D this) {

        this.blur();
   =20
    }

},


/**
* @method _onParentMenuConfigChange
* @description "configchange" event handler for a submenu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oSubmenu Object representing the submenu =
that=20
* subscribed to the event.
*/
_onParentMenuConfigChange: function (p_sType, p_aArgs, p_oSubmenu) {
   =20
    var sPropertyName =3D p_aArgs[0][0],
        oPropertyValue =3D p_aArgs[0][1];

    switch(sPropertyName) {

        case "iframe":
        case "constraintoviewport":
        case "hidedelay":
        case "showdelay":
        case "submenuhidedelay":
        case "clicktohide":
        case "effect":
        case "classname":
        case "scrollincrement":
        case "minscrollheight":

            p_oSubmenu.cfg.setProperty(sPropertyName, oPropertyValue);
               =20
        break;       =20
       =20
    }
   =20
},


/**
* @method _onParentMenuRender
* @description "render" event handler for a submenu.  Renders a =20
* submenu in response to the firing of its parent's "render" event.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oSubmenu Object representing the submenu =
that=20
* subscribed to the event.
*/
_onParentMenuRender: function (p_sType, p_aArgs, p_oSubmenu) {

    var oParentCfg =3D p_oSubmenu.parent.parent.cfg,

        oConfig =3D {

            constraintoviewport: =
oParentCfg.getProperty("constraintoviewport"),

            xy: [0,0],

            clicktohide: oParentCfg.getProperty("clicktohide"),
               =20
            effect: oParentCfg.getProperty("effect"),

            showdelay: oParentCfg.getProperty("showdelay"),
           =20
            hidedelay: oParentCfg.getProperty("hidedelay"),

            submenuhidedelay: =
oParentCfg.getProperty("submenuhidedelay"),

            classname: oParentCfg.getProperty("classname"),
           =20
            scrollincrement: oParentCfg.getProperty("scrollincrement"),
           =20
            minscrollheight: oParentCfg.getProperty("minscrollheight"),
           =20
            iframe: oParentCfg.getProperty("iframe")

        },
       =20
        oLI;


    p_oSubmenu.cfg.applyConfig(oConfig);


    if (!this.lazyLoad) {

        oLI =3D this.parent.element;

        if (this.element.parentNode =3D=3D oLI) {
   =20
            this.render();
   =20
        }
        else {

            this.render(oLI);
   =20
        }

    }
   =20
},


/**
* @method _onSubmenuBeforeShow
* @description "beforeshow" event handler for a submenu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onSubmenuBeforeShow: function (p_sType, p_aArgs) {

    var oParent =3D this.parent,
        aAlignment =3D =
oParent.parent.cfg.getProperty("submenualignment");


    if (!this.cfg.getProperty("context")) {
   =20
        this.cfg.setProperty("context",=20
            [oParent.element, aAlignment[0], aAlignment[1]]);

    }
    else {

        this.align();
   =20
    }

},


/**
* @method _onMenuItemFocus
* @description "focus" event handler for the menu's items.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onMenuItemFocus: function (p_sType, p_aArgs) {

    this.parent.focusEvent.fire(this);

},


/**
* @method _onMenuItemBlur
* @description "blur" event handler for the menu's items.
* @private
* @param {String} p_sType String representing the name of the event=20
* that was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
_onMenuItemBlur: function (p_sType, p_aArgs) {

    this.parent.blurEvent.fire(this);

},


/**
* @method _onMenuItemDestroy
* @description "destroy" event handler for the menu's items.
* @private
* @param {String} p_sType String representing the name of the event=20
* that was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.MenuItem} p_oItem Object representing the menu =
item=20
* that fired the event.
*/
_onMenuItemDestroy: function (p_sType, p_aArgs, p_oItem) {

    this._removeItemFromGroupByValue(p_oItem.groupIndex, p_oItem);

},


/**
* @method _onMenuItemConfigChange
* @description "configchange" event handler for the menu's items.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.MenuItem} p_oItem Object representing the menu =
item=20
* that fired the event.
*/
_onMenuItemConfigChange: function (p_sType, p_aArgs, p_oItem) {

    var sPropertyName =3D p_aArgs[0][0],
        oPropertyValue =3D p_aArgs[0][1],
        oSubmenu;


    switch(sPropertyName) {

        case "selected":

            if (oPropertyValue =3D=3D=3D true) {

                this.activeItem =3D p_oItem;
           =20
            }

        break;

        case "submenu":

            oSubmenu =3D p_aArgs[0][1];

            if (oSubmenu) {

                this._configureSubmenu(p_oItem);

            }

        break;

    }

},



// Public event handlers for configuration properties


/**
* @method enforceConstraints
* @description The default event handler executed when the moveEvent is =
fired, =20
* if the "constraintoviewport" configuration property is set to true.
* @param {String} type The name of the event that was fired.
* @param {Array} args Collection of arguments sent when the=20
* event was fired.
* @param {Array} obj Array containing the current Menu instance=20
* and the item that fired the event.
*/
enforceConstraints: function (type, args, obj) {

	YAHOO.widget.Menu.superclass.enforceConstraints.apply(this, arguments);
=09
	var oParent =3D this.parent,
		oParentMenu,
		nParentMenuX,
		nNewX,
		nX;
=09
=09
	if (oParent) {
=09
		oParentMenu =3D oParent.parent;

		if (!(oParentMenu instanceof YAHOO.widget.MenuBar)) {
=09
			nParentMenuX =3D oParentMenu.cfg.getProperty("x");
			nX =3D this.cfg.getProperty("x");
	=09
=09
			if (nX < (nParentMenuX + oParent.element.offsetWidth)) {

				nNewX =3D (nParentMenuX - this.element.offsetWidth);
		=09
				this.cfg.setProperty("x",  nNewX, true);
				this.cfg.setProperty("xy", [nNewX, (this.cfg.getProperty("y"))], =
true);
		=09
			}
	=09
		}
=09
	}

},


/**
* @method configVisible
* @description Event handler for when the "visible" configuration =
property=20
* the menu changes.
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oMenu Object representing the menu that=20
* fired the event.
*/
configVisible: function (p_sType, p_aArgs, p_oMenu) {

    var bVisible,
        sDisplay;

    if (this.cfg.getProperty("position") =3D=3D "dynamic") {

        Menu.superclass.configVisible.call(this, p_sType, p_aArgs, =
p_oMenu);

    }
    else {

        bVisible =3D p_aArgs[0];
        sDisplay =3D Dom.getStyle(this.element, "display");

        Dom.setStyle(this.element, "visibility", "visible");

        if (bVisible) {

            if (sDisplay !=3D "block") {
                this.beforeShowEvent.fire();
                Dom.setStyle(this.element, "display", "block");
                this.showEvent.fire();
            }
       =20
        }
        else {

			if (sDisplay =3D=3D "block") {
				this.beforeHideEvent.fire();
				Dom.setStyle(this.element, "display", "none");
				this.hideEvent.fire();
			}
       =20
        }

    }

},


/**
* @method configPosition
* @description Event handler for when the "position" configuration =
property=20
* of the menu changes.
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oMenu Object representing the menu that=20
* fired the event.
*/
configPosition: function (p_sType, p_aArgs, p_oMenu) {

    var oElement =3D this.element,
        sCSSPosition =3D p_aArgs[0] =3D=3D "static" ? "static" : =
"absolute",
        oCfg =3D this.cfg,
        nZIndex;


    Dom.setStyle(oElement, "position", sCSSPosition);


    if (sCSSPosition =3D=3D "static") {

        // Statically positioned menus are visible by default
       =20
        Dom.setStyle(oElement, "display", "block");

        oCfg.setProperty("visible", true);

    }
    else {

        /*
            Even though the "visible" property is queued to=20
            "false" by default, we need to set the "visibility" property =
to=20
            "hidden" since Overlay's "configVisible" implementation =
checks the=20
            element's "visibility" style property before deciding =
whether=20
            or not to show an Overlay instance.
        */

        Dom.setStyle(oElement, "visibility", "hidden");
   =20
    }


    if (sCSSPosition =3D=3D "absolute") {

        nZIndex =3D oCfg.getProperty("zindex");

        if (!nZIndex || nZIndex =3D=3D=3D 0) {

            nZIndex =3D this.parent ?=20
                (this.parent.parent.cfg.getProperty("zindex") + 1) : 1;

            oCfg.setProperty("zindex", nZIndex);

        }

    }

},


/**
* @method configIframe
* @description Event handler for when the "iframe" configuration =
property of=20
* the menu changes.
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oMenu Object representing the menu that=20
* fired the event.
*/
configIframe: function (p_sType, p_aArgs, p_oMenu) {   =20

    if (this.cfg.getProperty("position") =3D=3D "dynamic") {

        Menu.superclass.configIframe.call(this, p_sType, p_aArgs, =
p_oMenu);

    }

},


/**
* @method configHideDelay
* @description Event handler for when the "hidedelay" configuration =
property=20
* of the menu changes.
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oMenu Object representing the menu that=20
* fired the event.
*/
configHideDelay: function (p_sType, p_aArgs, p_oMenu) {

    var nHideDelay =3D p_aArgs[0],
        oMouseOutEvent =3D this.mouseOutEvent,
        oMouseOverEvent =3D this.mouseOverEvent,
        oKeyDownEvent =3D this.keyDownEvent;

    if (nHideDelay > 0) {

        /*
            Only assign event handlers once. This way the user change=20
            the value for the hidedelay as many times as they want.
        */

        if (!this._bHideDelayEventHandlersAssigned) {

            oMouseOutEvent.subscribe(this._execHideDelay);
            oMouseOverEvent.subscribe(this._cancelHideDelay);
            oKeyDownEvent.subscribe(this._cancelHideDelay);

            this._bHideDelayEventHandlersAssigned =3D true;
       =20
        }

    }
    else {

        oMouseOutEvent.unsubscribe(this._execHideDelay);
        oMouseOverEvent.unsubscribe(this._cancelHideDelay);
        oKeyDownEvent.unsubscribe(this._cancelHideDelay);

        this._bHideDelayEventHandlersAssigned =3D false;

    }

},


/**
* @method configContainer
* @description Event handler for when the "container" configuration =
property=20
* of the menu changes.
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oMenu Object representing the menu that=20
* fired the event.
*/
configContainer: function (p_sType, p_aArgs, p_oMenu) {

	var oElement =3D p_aArgs[0];

	if (typeof oElement =3D=3D 'string') {

        this.cfg.setProperty("container", =
document.getElementById(oElement),=20
                true);

	}

},


/**
* @method _setMaxHeight
* @description "renderEvent" handler used to defer the setting of the=20
* "maxheight" configuration property until the menu is rendered in lazy=20
* load scenarios.
* @param {String} p_sType The name of the event that was fired.
* @param {Array} p_aArgs Collection of arguments sent when the event=20
* was fired.
* @param {Number} p_nMaxHeight Number representing the value to set for =
the=20
* "maxheight" configuration property.
* @private
*/
_setMaxHeight: function (p_sType, p_aArgs, p_nMaxHeight) {

    this.cfg.setProperty("maxheight", p_nMaxHeight);
    this.renderEvent.unsubscribe(this._setMaxHeight);

},


/**
* @method configMaxHeight
* @description Event handler for when the "maxheight" configuration =
property of=20
* a Menu changes.
* @param {String} p_sType The name of the event that was fired.
* @param {Array} p_aArgs Collection of arguments sent when the event=20
* was fired.
* @param {YAHOO.widget.Menu} p_oMenu The Menu instance fired
* the event.
*/
configMaxHeight: function (p_sType, p_aArgs, p_oMenu) {

    var nMaxHeight =3D p_aArgs[0],
        oElement =3D this.element,
        oBody =3D this.body,
        oHeader =3D this.header,
        oFooter =3D this.footer,
        fnMouseOver =3D this._onScrollTargetMouseOver,
        fnMouseOut =3D this._onScrollTargetMouseOut,
        nMinScrollHeight =3D this.cfg.getProperty("minscrollheight"),
        nHeight,
        nOffsetWidth,
        sWidth;


    if (nMaxHeight !=3D=3D 0 && nMaxHeight < nMinScrollHeight) {
   =20
        nMaxHeight =3D nMinScrollHeight;
   =20
    }


    if (this.lazyLoad && !oBody) {

        this.renderEvent.unsubscribe(this._setMaxHeight);
   =20
        if (nMaxHeight > 0) {

            this.renderEvent.subscribe(this._setMaxHeight, nMaxHeight, =
this);

        }

        return;
   =20
    }


    Dom.setStyle(oBody, "height", "");
    Dom.removeClass(oBody, "yui-menu-body-scrolled");


    /*
        There is a bug in gecko-based browsers where an element whose=20
        "position" property is set to "absolute" and "overflow" property =
is set=20
        to "hidden" will not render at the correct width when its=20
        offsetParent's "position" property is also set to "absolute."  =
It is=20
        possible to work around this bug by specifying a value for the =
width=20
        property in addition to overflow.

		In IE it is also necessary to give the Menu a width when the =
scrollbars are=20
		rendered to prevent the Menu from rendering with a width that is 100% =
of
		the browser viewport.
    */

	var bSetWidth =3D ((UA.gecko && this.parent && this.parent.parent &&=20
        this.parent.parent.cfg.getProperty("position") =3D=3D "dynamic") =
|| UA.ie);


    if (bSetWidth) {

		if (!this.cfg.getProperty("width")) {

			nOffsetWidth =3D oElement.offsetWidth;
=09
			/*
				Measuring the difference of the offsetWidth before and after
				setting the "width" style attribute allows us to compute the=20
				about of padding and borders applied to the element, which in=20
				turn allows us to set the "width" property correctly.
			*/
		=09
			oElement.style.width =3D nOffsetWidth + "px";
=09
			sWidth =3D (nOffsetWidth - (oElement.offsetWidth - nOffsetWidth)) + =
"px";
=09
			this.cfg.setProperty("width", sWidth);
	=09
		}

    }


    if (!oHeader && !oFooter) {

        this.setHeader("&#32;");
        this.setFooter("&#32;");

        oHeader =3D this.header;
        oFooter =3D this.footer;

        Dom.addClass(oHeader, "topscrollbar");
        Dom.addClass(oFooter, "bottomscrollbar");
       =20
        oElement.insertBefore(oHeader, oBody);
        oElement.appendChild(oFooter);
   =20
    }


    nHeight =3D (nMaxHeight - (oHeader.offsetHeight + =
oHeader.offsetHeight));


    if (nHeight > 0 && (oBody.offsetHeight > nMaxHeight)) {

        Dom.addClass(oBody, "yui-menu-body-scrolled");
        Dom.setStyle(oBody, "height", (nHeight + "px"));

        Event.on(oHeader, "mouseover", fnMouseOver, this, true);
        Event.on(oHeader, "mouseout", fnMouseOut, this, true);
        Event.on(oFooter, "mouseover", fnMouseOver, this, true);
        Event.on(oFooter, "mouseout", fnMouseOut, this, true);

        this._disableScrollHeader();
        this._enableScrollFooter();

    }
    else if (oHeader && oFooter) {

		if (bSetWidth) {

			this.cfg.setProperty("width", "");
	=09
		}


        this._enableScrollHeader();
        this._enableScrollFooter();

        Event.removeListener(oHeader, "mouseover", fnMouseOver);
        Event.removeListener(oHeader, "mouseout", fnMouseOut);
        Event.removeListener(oFooter, "mouseover", fnMouseOver);
        Event.removeListener(oFooter, "mouseout", fnMouseOut);

        oElement.removeChild(oHeader);
        oElement.removeChild(oFooter);

        this.header =3D null;
        this.footer =3D null;
   =20
    }

    this.cfg.refireEvent("iframe");

},


/**
* @method configClassName
* @description Event handler for when the "classname" configuration =
property of=20
* a menu changes.
* @param {String} p_sType The name of the event that was fired.
* @param {Array} p_aArgs Collection of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oMenu The Menu instance fired the event.
*/
configClassName: function (p_sType, p_aArgs, p_oMenu) {

    var sClassName =3D p_aArgs[0];

    if (this._sClassName) {

        Dom.removeClass(this.element, this._sClassName);

    }

    Dom.addClass(this.element, sClassName);
    this._sClassName =3D sClassName;

},


/**
* @method _onItemAdded
* @description "itemadded" event handler for a Menu instance.
* @private
* @param {String} p_sType The name of the event that was fired.
* @param {Array} p_aArgs Collection of arguments sent when the event=20
* was fired.
*/
_onItemAdded: function (p_sType, p_aArgs) {

    var oItem =3D p_aArgs[0];
   =20
    if (oItem) {

        oItem.cfg.setProperty("disabled", true);
   =20
    }

},


/**
* @method configDisabled
* @description Event handler for when the "disabled" configuration =
property of=20
* a menu changes.
* @param {String} p_sType The name of the event that was fired.
* @param {Array} p_aArgs Collection of arguments sent when the event was =
fired.
* @param {YAHOO.widget.Menu} p_oMenu The Menu instance fired the event.
*/
configDisabled: function (p_sType, p_aArgs, p_oMenu) {

    var bDisabled =3D p_aArgs[0],
        aItems =3D this.getItems(),
        nItems,
        i;

    if (Lang.isArray(aItems)) {

        nItems =3D aItems.length;
   =20
        if (nItems > 0) {
       =20
            i =3D nItems - 1;
   =20
            do {
   =20
                aItems[i].cfg.setProperty("disabled", bDisabled);
           =20
            }
            while (i--);
       =20
        }


        if (bDisabled) {

            this.clearActiveItem(true);

            Dom.addClass(this.element, "disabled");

            this.itemAddedEvent.subscribe(this._onItemAdded);

        }
        else {

            Dom.removeClass(this.element, "disabled");

            this.itemAddedEvent.unsubscribe(this._onItemAdded);

        }
       =20
    }

},


/**
* @method onRender
* @description "render" event handler for the menu.
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
*/
onRender: function (p_sType, p_aArgs) {

    function sizeShadow() {

        var oElement =3D this.element,
            oShadow =3D this._shadow;
   =20
        if (oShadow && oElement) {

            oShadow.style.width =3D (oElement.offsetWidth + 6) + "px";
            oShadow.style.height =3D (oElement.offsetHeight + 1) + "px";
           =20
        }
   =20
    }


    function replaceShadow() {

        this.element.appendChild(this._shadow);

    }


    function addShadowVisibleClass() {
   =20
        Dom.addClass(this._shadow, "yui-menu-shadow-visible");
   =20
    }
   =20

    function removeShadowVisibleClass() {

        Dom.removeClass(this._shadow, "yui-menu-shadow-visible");
   =20
    }


    function createShadow() {

        var oShadow =3D this._shadow,
            oElement,
            me;

        if (!oShadow) {

            oElement =3D this.element;
            me =3D this;

            if (!m_oShadowTemplate) {

                m_oShadowTemplate =3D document.createElement("div");
                m_oShadowTemplate.className =3D=20
                    "yui-menu-shadow yui-menu-shadow-visible";
           =20
            }

            oShadow =3D m_oShadowTemplate.cloneNode(false);

            oElement.appendChild(oShadow);
           =20
            this._shadow =3D oShadow;

            this.beforeShowEvent.subscribe(addShadowVisibleClass);
            this.beforeHideEvent.subscribe(removeShadowVisibleClass);

            if (UA.ie) {
       =20
                /*
                     Need to call sizeShadow & syncIframe via setTimeout =
for=20
                     IE 7 Quirks Mode and IE 6 Standards Mode and Quirks =
Mode=20
                     or the shadow and iframe shim will not be sized and =

                     positioned properly.
                */
       =20
                window.setTimeout(function () {=20
       =20
                    sizeShadow.call(me);=20
                    me.syncIframe();
       =20
                }, 0);

                this.cfg.subscribeToConfigEvent("width", sizeShadow);
                this.cfg.subscribeToConfigEvent("height", sizeShadow);
                this.cfg.subscribeToConfigEvent("maxheight", =
sizeShadow);
                this.changeContentEvent.subscribe(sizeShadow);

                Module.textResizeEvent.subscribe(sizeShadow, me, true);
               =20
                this.destroyEvent.subscribe(function () {
               =20
                    Module.textResizeEvent.unsubscribe(sizeShadow, me);
               =20
                });
       =20
            }

            this.cfg.subscribeToConfigEvent("maxheight", replaceShadow);

        }

    }


    function onBeforeShow() {
   =20
        createShadow.call(this);

        this.beforeShowEvent.unsubscribe(onBeforeShow);
   =20
    }


    if (this.cfg.getProperty("position") =3D=3D "dynamic") {

        if (this.cfg.getProperty("visible")) {

            createShadow.call(this);
       =20
        }
        else {

            this.beforeShowEvent.subscribe(onBeforeShow);
       =20
        }
   =20
    }

},


// Public methods


/**
* @method initEvents
* @description Initializes the custom events for the menu.
*/
initEvents: function () {

	Menu.superclass.initEvents.call(this);

    // Create custom events

    var SIGNATURE =3D CustomEvent.LIST;

    this.mouseOverEvent =3D this.createEvent(EVENT_TYPES.MOUSE_OVER);
    this.mouseOverEvent.signature =3D SIGNATURE;

    this.mouseOutEvent =3D this.createEvent(EVENT_TYPES.MOUSE_OUT);
    this.mouseOutEvent.signature =3D SIGNATURE;
   =20
    this.mouseDownEvent =3D this.createEvent(EVENT_TYPES.MOUSE_DOWN);
    this.mouseDownEvent.signature =3D SIGNATURE;

    this.mouseUpEvent =3D this.createEvent(EVENT_TYPES.MOUSE_UP);
    this.mouseUpEvent.signature =3D SIGNATURE;
   =20
    this.clickEvent =3D this.createEvent(EVENT_TYPES.CLICK);
    this.clickEvent.signature =3D SIGNATURE;
   =20
    this.keyPressEvent =3D this.createEvent(EVENT_TYPES.KEY_PRESS);
    this.keyPressEvent.signature =3D SIGNATURE;
   =20
    this.keyDownEvent =3D this.createEvent(EVENT_TYPES.KEY_DOWN);
    this.keyDownEvent.signature =3D SIGNATURE;
   =20
    this.keyUpEvent =3D this.createEvent(EVENT_TYPES.KEY_UP);
    this.keyUpEvent.signature =3D SIGNATURE;
   =20
    this.focusEvent =3D this.createEvent(EVENT_TYPES.FOCUS);
    this.focusEvent.signature =3D SIGNATURE;
   =20
    this.blurEvent =3D this.createEvent(EVENT_TYPES.BLUR);
    this.blurEvent.signature =3D SIGNATURE;
   =20
    this.itemAddedEvent =3D this.createEvent(EVENT_TYPES.ITEM_ADDED);
    this.itemAddedEvent.signature =3D SIGNATURE;
   =20
    this.itemRemovedEvent =3D =
this.createEvent(EVENT_TYPES.ITEM_REMOVED);
    this.itemRemovedEvent.signature =3D SIGNATURE;

},


/**
* @method positionOffScreen
* @description Positions the menu outside of the boundaries of the =
browser's=20
* viewport.  Called automatically when a menu is hidden to ensure that=20
* it doesn't force the browser to render uncessary scrollbars.
*/
positionOffScreen: function () {

    var oIFrame =3D this.iframe,
        aPos =3D this.OFF_SCREEN_POSITION;

    Dom.setXY(this.element, aPos);
   =20
    if (oIFrame) {

        Dom.setXY(oIFrame, aPos);
   =20
    }

},


/**
* @method getRoot
* @description Finds the menu's root menu.
*/
getRoot: function () {

    var oItem =3D this.parent,
        oParentMenu;

    if (oItem) {

        oParentMenu =3D oItem.parent;

        return oParentMenu ? oParentMenu.getRoot() : this;

    }
    else {
   =20
        return this;
   =20
    }

},


/**
* @method toString
* @description Returns a string representing the menu.
* @return {String}
*/
toString: function () {

    var sReturnVal =3D "Menu",
        sId =3D this.id;

    if (sId) {

        sReturnVal +=3D (" " + sId);
   =20
    }

    return sReturnVal;

},


/**
* @method setItemGroupTitle
* @description Sets the title of a group of menu items.
* @param {String} p_sGroupTitle String specifying the title of the =
group.
* @param {Number} p_nGroupIndex Optional. Number specifying the group to =
which
* the title belongs.
*/
setItemGroupTitle: function (p_sGroupTitle, p_nGroupIndex) {

    var nGroupIndex,
        oTitle,
        i,
        nFirstIndex;
       =20
    if (typeof p_sGroupTitle =3D=3D "string" && p_sGroupTitle.length > =
0) {

        nGroupIndex =3D typeof p_nGroupIndex =3D=3D "number" ? =
p_nGroupIndex : 0;
        oTitle =3D this._aGroupTitleElements[nGroupIndex];


        if (oTitle) {

            oTitle.innerHTML =3D p_sGroupTitle;
           =20
        }
        else {

            oTitle =3D =
document.createElement(this.GROUP_TITLE_TAG_NAME);
                   =20
            oTitle.innerHTML =3D p_sGroupTitle;

            this._aGroupTitleElements[nGroupIndex] =3D oTitle;

        }


        i =3D this._aGroupTitleElements.length - 1;

        do {

            if (this._aGroupTitleElements[i]) {

                Dom.removeClass(this._aGroupTitleElements[i], =
"first-of-type");

                nFirstIndex =3D i;

            }

        }
        while(i--);


        if (nFirstIndex !=3D=3D null) {

            Dom.addClass(this._aGroupTitleElements[nFirstIndex],=20
                "first-of-type");

        }

        this.changeContentEvent.fire();

    }

},



/**
* @method addItem
* @description Appends an item to the menu.
* @param {YAHOO.widget.MenuItem} p_oItem Object reference for the =
MenuItem=20
* instance to be added to the menu.
* @param {String} p_oItem String specifying the text of the item to be =
added=20
* to the menu.
* @param {Object} p_oItem Object literal containing a set of menu item=20
* configuration properties.
* @param {Number} p_nGroupIndex Optional. Number indicating the group to
* which the item belongs.
* @return {YAHOO.widget.MenuItem}
*/
addItem: function (p_oItem, p_nGroupIndex) {

    if (p_oItem) {

        return this._addItemToGroup(p_nGroupIndex, p_oItem);
       =20
    }

},


/**
* @method addItems
* @description Adds an array of items to the menu.
* @param {Array} p_aItems Array of items to be added to the menu.  The =
array=20
* can contain strings specifying the text for each item to be created, =
object
* literals specifying each of the menu item configuration properties,=20
* or MenuItem instances.
* @param {Number} p_nGroupIndex Optional. Number specifying the group to =

* which the items belongs.
* @return {Array}
*/
addItems: function (p_aItems, p_nGroupIndex) {

    var nItems,
        aItems,
        oItem,
        i;

    if (Lang.isArray(p_aItems)) {

        nItems =3D p_aItems.length;
        aItems =3D [];

        for(i=3D0; i<nItems; i++) {

            oItem =3D p_aItems[i];

            if (oItem) {

                if (Lang.isArray(oItem)) {
   =20
                    aItems[aItems.length] =3D this.addItems(oItem, i);
   =20
                }
                else {
   =20
                    aItems[aItems.length] =3D=20
                        this._addItemToGroup(p_nGroupIndex, oItem);
               =20
                }

            }
   =20
        }


        if (aItems.length) {
       =20
            return aItems;
       =20
        }

    }

},


/**
* @method insertItem
* @description Inserts an item into the menu at the specified index.
* @param {YAHOO.widget.MenuItem} p_oItem Object reference for the =
MenuItem=20
* instance to be added to the menu.
* @param {String} p_oItem String specifying the text of the item to be =
added=20
* to the menu.
* @param {Object} p_oItem Object literal containing a set of menu item=20
* configuration properties.
* @param {Number} p_nItemIndex Number indicating the ordinal position at =
which
* the item should be added.
* @param {Number} p_nGroupIndex Optional. Number indicating the group to =
which=20
* the item belongs.
* @return {YAHOO.widget.MenuItem}
*/
insertItem: function (p_oItem, p_nItemIndex, p_nGroupIndex) {
   =20
    if (p_oItem) {

        return this._addItemToGroup(p_nGroupIndex, p_oItem, =
p_nItemIndex);

    }

},


/**
* @method removeItem
* @description Removes the specified item from the menu.
* @param {YAHOO.widget.MenuItem} p_oObject Object reference for the =
MenuItem=20
* instance to be removed from the menu.
* @param {Number} p_oObject Number specifying the index of the item=20
* to be removed.
* @param {Number} p_nGroupIndex Optional. Number specifying the group to =

* which the item belongs.
* @return {YAHOO.widget.MenuItem}
*/
removeItem: function (p_oObject, p_nGroupIndex) {

    var oItem;
   =20
    if (typeof p_oObject !=3D "undefined") {

        if (p_oObject instanceof YAHOO.widget.MenuItem) {

            oItem =3D this._removeItemFromGroupByValue(p_nGroupIndex, =
p_oObject);          =20

        }
        else if (typeof p_oObject =3D=3D "number") {

            oItem =3D this._removeItemFromGroupByIndex(p_nGroupIndex, =
p_oObject);

        }

        if (oItem) {

            oItem.destroy();


            return oItem;

        }

    }

},


/**
* @method getItems
* @description Returns an array of all of the items in the menu.
* @return {Array}
*/
getItems: function () {

    var aGroups =3D this._aItemGroups,
        nGroups,
        aItems =3D [];

    if (Lang.isArray(aGroups)) {

        nGroups =3D aGroups.length;

        return ((nGroups =3D=3D 1) ? aGroups[0] :=20
                    (Array.prototype.concat.apply(aItems, aGroups)));

    }

},


/**
* @method getItemGroups
* @description Multi-dimensional Array representing the menu items as =
they=20
* are grouped in the menu.
* @return {Array}
*/       =20
getItemGroups: function () {

    return this._aItemGroups;

},


/**
* @method getItem
* @description Returns the item at the specified index.
* @param {Number} p_nItemIndex Number indicating the ordinal position of =
the=20
* item to be retrieved.
* @param {Number} p_nGroupIndex Optional. Number indicating the group to =
which=20
* the item belongs.
* @return {YAHOO.widget.MenuItem}
*/
getItem: function (p_nItemIndex, p_nGroupIndex) {
   =20
    var aGroup;
   =20
    if (typeof p_nItemIndex =3D=3D "number") {

        aGroup =3D this._getItemGroup(p_nGroupIndex);

        if (aGroup) {

            return aGroup[p_nItemIndex];
       =20
        }

    }
   =20
},


/**
* @method getSubmenus
* @description Returns an array of all of the submenus that are =
immediate=20
* children of the menu.
* @return {Array}
*/
getSubmenus: function () {

    var aItems =3D this.getItems(),
        nItems =3D aItems.length,
        aSubmenus,
        oSubmenu,
        oItem,
        i;


    if (nItems > 0) {
       =20
        aSubmenus =3D [];

        for(i=3D0; i<nItems; i++) {

            oItem =3D aItems[i];
           =20
            if (oItem) {

                oSubmenu =3D oItem.cfg.getProperty("submenu");
               =20
                if (oSubmenu) {

                    aSubmenus[aSubmenus.length] =3D oSubmenu;

                }
           =20
            }
       =20
        }
   =20
    }

    return aSubmenus;

},


/**
* @method clearContent
* @description Removes all of the content from the menu, including the =
menu=20
* items, group titles, header and footer.
*/
clearContent: function () {

    var aItems =3D this.getItems(),
        nItems =3D aItems.length,
        oElement =3D this.element,
        oBody =3D this.body,
        oHeader =3D this.header,
        oFooter =3D this.footer,
        oItem,
        oSubmenu,
        i;


    if (nItems > 0) {

        i =3D nItems - 1;

        do {

            oItem =3D aItems[i];

            if (oItem) {

                oSubmenu =3D oItem.cfg.getProperty("submenu");

                if (oSubmenu) {

                    this.cfg.configChangedEvent.unsubscribe(
                        this._onParentMenuConfigChange, oSubmenu);

                    =
this.renderEvent.unsubscribe(this._onParentMenuRender,=20
                        oSubmenu);

                }
               =20
                this.removeItem(oItem);

            }
       =20
        }
        while(i--);

    }


    if (oHeader) {

        Event.purgeElement(oHeader);
        oElement.removeChild(oHeader);

    }
   =20

    if (oFooter) {

        Event.purgeElement(oFooter);
        oElement.removeChild(oFooter);
    }


    if (oBody) {

        Event.purgeElement(oBody);

        oBody.innerHTML =3D "";

    }

    this.activeItem =3D null;

    this._aItemGroups =3D [];
    this._aListElements =3D [];
    this._aGroupTitleElements =3D [];

    this.cfg.setProperty("width", null);

},


/**
* @method destroy
* @description Removes the menu's <code>&#60;div&#62;</code> element=20
* (and accompanying child nodes) from the document.
*/
destroy: function () {

    // Remove all items

    this.clearContent();

    this._aItemGroups =3D null;
    this._aListElements =3D null;
    this._aGroupTitleElements =3D null;


    // Continue with the superclass implementation of this method

    Menu.superclass.destroy.call(this);
   =20

},


/**
* @method setInitialFocus
* @description Sets focus to the menu's first enabled item.
*/
setInitialFocus: function () {

    var oItem =3D this._getFirstEnabledItem();
   =20
    if (oItem) {

        oItem.focus();

    }
   =20
},


/**
* @method setInitialSelection
* @description Sets the "selected" configuration property of the menu's =
first=20
* enabled item to "true."
*/
setInitialSelection: function () {

    var oItem =3D this._getFirstEnabledItem();
   =20
    if (oItem) {
   =20
        oItem.cfg.setProperty("selected", true);
    }       =20

},


/**
* @method clearActiveItem
* @description Sets the "selected" configuration property of the menu's =
active
* item to "false" and hides the item's submenu.
* @param {Boolean} p_bBlur Boolean indicating if the menu's active item=20
* should be blurred. =20
*/
clearActiveItem: function (p_bBlur) {

    if (this.cfg.getProperty("showdelay") > 0) {
   =20
        this._cancelShowDelay();
   =20
    }


    var oActiveItem =3D this.activeItem,
        oConfig,
        oSubmenu;

    if (oActiveItem) {

        oConfig =3D oActiveItem.cfg;

        if (p_bBlur) {

            oActiveItem.blur();
       =20
        }

        oConfig.setProperty("selected", false);

        oSubmenu =3D oConfig.getProperty("submenu");

        if (oSubmenu) {

            oSubmenu.hide();

        }

        this.activeItem =3D null;           =20

    }

},


/**
* @method focus
* @description Causes the menu to receive focus and fires the "focus" =
event.
*/
focus: function () {

    if (!this.hasFocus()) {

        this.setInitialFocus();
   =20
    }

},


/**
* @method blur
* @description Causes the menu to lose focus and fires the "blur" event.
*/   =20
blur: function () {

    var oItem;

    if (this.hasFocus()) {
   =20
        oItem =3D MenuManager.getFocusedMenuItem();
       =20
        if (oItem) {

            oItem.blur();

        }

    }

},


/**
* @method hasFocus
* @description Returns a boolean indicating whether or not the menu has =
focus.
* @return {Boolean}
*/
hasFocus: function () {

    return (MenuManager.getFocusedMenu() =3D=3D this.getRoot());

},


/**
* Adds the specified CustomEvent subscriber to the menu and each of=20
* its submenus.
* @method subscribe
* @param p_type     {string}   the type, or name of the event
* @param p_fn       {function} the function to exectute when the event =
fires
* @param p_obj      {Object}   An object to be passed along when the =
event=20
*                              fires
* @param p_override {boolean}  If true, the obj passed in becomes the=20
*                              execution scope of the listener
*/
subscribe: function () {

    function onItemAdded(p_sType, p_aArgs, p_oObject) {

        var oItem =3D p_aArgs[0],
            oSubmenu =3D oItem.cfg.getProperty("submenu");

        if (oSubmenu) {

            oSubmenu.subscribe.apply(oSubmenu, p_oObject);

        }
   =20
    }


    function onSubmenuAdded(p_sType, p_aArgs, p_oObject) {=20
   =20
        var oSubmenu =3D this.cfg.getProperty("submenu");
       =20
        if (oSubmenu) {

            oSubmenu.subscribe.apply(oSubmenu, p_oObject);
       =20
        }
   =20
    }


    Menu.superclass.subscribe.apply(this, arguments);
    Menu.superclass.subscribe.call(this, "itemAdded", onItemAdded, =
arguments);


    var aItems =3D this.getItems(),
        nItems,
        oItem,
        oSubmenu,
        i;
       =20

    if (aItems) {

        nItems =3D aItems.length;
       =20
        if (nItems > 0) {
       =20
            i =3D nItems - 1;
           =20
            do {

                oItem =3D aItems[i];
               =20
                oSubmenu =3D oItem.cfg.getProperty("submenu");
               =20
                if (oSubmenu) {
               =20
                    oSubmenu.subscribe.apply(oSubmenu, arguments);
               =20
                }
                else {
               =20
                    oItem.cfg.subscribeToConfigEvent("submenu", =
onSubmenuAdded, arguments);
               =20
                }

            }
            while (i--);
       =20
        }

    }

},


/**
* @description Initializes the class's configurable properties which can =
be
* changed using the menu's Config object ("cfg").
* @method initDefaultConfig
*/
initDefaultConfig: function () {

    Menu.superclass.initDefaultConfig.call(this);

    var oConfig =3D this.cfg;


    // Module documentation overrides

    /**
    * @config effect
    * @description Object or array of objects representing the =
ContainerEffect=20
    * classes that are active for animating the container.  When set =
this=20
    * property is automatically applied to all submenus.
    * @type Object
    * @default null
    */

    // Overlay documentation overrides


    /**
    * @config x
    * @description Number representing the absolute x-coordinate =
position of=20
    * the Menu.  This property is only applied when the "position"=20
    * configuration property is set to dynamic.
    * @type Number
    * @default null
    */
   =20

    /**
    * @config y
    * @description Number representing the absolute y-coordinate =
position of=20
    * the Menu.  This property is only applied when the "position"=20
    * configuration property is set to dynamic.
    * @type Number
    * @default null
    */


    /**
    * @description Array of the absolute x and y positions of the Menu.  =
This=20
    * property is only applied when the "position" configuration =
property is=20
    * set to dynamic.
    * @config xy
    * @type Number[]
    * @default null
    */
   =20

    /**
    * @config context
    * @description Array of context arguments for context-sensitive =
positioning. =20
    * The format is: [id or element, element corner, context corner].=20
    * For example, setting this property to ["img1", "tl", "bl"] would=20
    * align the Mnu's top left corner to the context element's=20
    * bottom left corner.  This property is only applied when the =
"position"=20
    * configuration property is set to dynamic.
    * @type Array
    * @default null
    */
   =20
   =20
    /**
    * @config fixedcenter
    * @description Boolean indicating if the Menu should be anchored to =
the=20
    * center of the viewport.  This property is only applied when the=20
    * "position" configuration property is set to dynamic.
    * @type Boolean
    * @default false
    */

   =20
    /**
    * @config zindex
    * @description Number representing the CSS z-index of the Menu.  =
This=20
    * property is only applied when the "position" configuration =
property is=20
    * set to dynamic.
    * @type Number
    * @default null
    */
   =20
   =20
    /**
    * @config iframe
    * @description Boolean indicating whether or not the Menu should=20
    * have an IFRAME shim; used to prevent SELECT elements from=20
    * poking through an Overlay instance in IE6.  When set to "true",=20
    * the iframe shim is created when the Menu instance is intially
    * made visible.  This property is only applied when the "position"=20
    * configuration property is set to dynamic and is automatically =
applied=20
    * to all submenus.
    * @type Boolean
    * @default true for IE6 and below, false for all other browsers.
    */


	// Add configuration attributes

    /*
        Change the default value for the "visible" configuration=20
        property to "false" by re-adding the property.
    */

    /**
    * @config visible
    * @description Boolean indicating whether or not the menu is =
visible.  If=20
    * the menu's "position" configuration property is set to "dynamic" =
(the=20
    * default), this property toggles the menu's =
<code>&#60;div&#62;</code>=20
    * element's "visibility" style property between "visible" (true) or=20
    * "hidden" (false).  If the menu's "position" configuration property =
is=20
    * set to "static" this property toggles the menu's=20
    * <code>&#60;div&#62;</code> element's "display" style property=20
    * between "block" (true) or "none" (false).
    * @default false
    * @type Boolean
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.VISIBLE.key,=20
        {
            handler: this.configVisible,=20
            value: DEFAULT_CONFIG.VISIBLE.value,=20
            validator: DEFAULT_CONFIG.VISIBLE.validator
         }
     );


    /*
        Change the default value for the "constraintoviewport" =
configuration=20
        property to "true" by re-adding the property.
    */

    /**
    * @config constraintoviewport
    * @description Boolean indicating if the menu will try to remain =
inside=20
    * the boundaries of the size of viewport.  This property is only =
applied=20
    * when the "position" configuration property is set to dynamic and =
is=20
    * automatically applied to all submenus.
    * @default true
    * @type Boolean
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.key,=20
        {
            handler: this.configConstrainToViewport,=20
            value: DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.value,=20
            validator: DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.validator,=20
            supercedes: DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.supercedes=20
        }=20
    );


    /**
    * @config position
    * @description String indicating how a menu should be positioned on =
the=20
    * screen.  Possible values are "static" and "dynamic."  Static menus =
are=20
    * visible by default and reside in the normal flow of the document=20
    * (CSS position: static).  Dynamic menus are hidden by default, =
reside=20
    * out of the normal flow of the document (CSS position: absolute), =
and=20
    * can overlay other elements on the screen.
    * @default dynamic
    * @type String
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.POSITION.key,=20
        {
            handler: this.configPosition,
            value: DEFAULT_CONFIG.POSITION.value,=20
            validator: DEFAULT_CONFIG.POSITION.validator,
            supercedes: DEFAULT_CONFIG.POSITION.supercedes
        }
    );


    /**
    * @config submenualignment
    * @description Array defining how submenus should be aligned to =
their=20
    * parent menu item. The format is: [itemCorner, submenuCorner]. By =
default
    * a submenu's top left corner is aligned to its parent menu item's =
top=20
    * right corner.
    * @default ["tl","tr"]
    * @type Array
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.SUBMENU_ALIGNMENT.key,=20
        {=20
            value: DEFAULT_CONFIG.SUBMENU_ALIGNMENT.value,
            suppressEvent: =
DEFAULT_CONFIG.SUBMENU_ALIGNMENT.suppressEvent
        }
    );


    /**
    * @config autosubmenudisplay
    * @description Boolean indicating if submenus are automatically made =

    * visible when the user mouses over the menu's items.
    * @default true
    * @type Boolean
    */
	oConfig.addProperty(
	   DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.key,=20
	   {=20
	       value: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.value,=20
	       validator: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.validator,
	       suppressEvent: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.suppressEvent
       }=20
    );


    /**
    * @config showdelay
    * @description Number indicating the time (in milliseconds) that =
should=20
    * expire before a submenu is made visible when the user mouses over=20
    * the menu's items.  This property is only applied when the =
"position"=20
    * configuration property is set to dynamic and is automatically =
applied=20
    * to all submenus.
    * @default 250
    * @type Number
    */
	oConfig.addProperty(
	   DEFAULT_CONFIG.SHOW_DELAY.key,=20
	   {=20
	       value: DEFAULT_CONFIG.SHOW_DELAY.value,=20
	       validator: DEFAULT_CONFIG.SHOW_DELAY.validator,
	       suppressEvent: DEFAULT_CONFIG.SHOW_DELAY.suppressEvent
       }=20
    );


    /**
    * @config hidedelay
    * @description Number indicating the time (in milliseconds) that =
should=20
    * expire before the menu is hidden.  This property is only applied =
when=20
    * the "position" configuration property is set to dynamic and is=20
    * automatically applied to all submenus.
    * @default 0
    * @type Number
    */
	oConfig.addProperty(
	   DEFAULT_CONFIG.HIDE_DELAY.key,=20
	   {=20
	       handler: this.configHideDelay,
	       value: DEFAULT_CONFIG.HIDE_DELAY.value,=20
	       validator: DEFAULT_CONFIG.HIDE_DELAY.validator,=20
	       suppressEvent: DEFAULT_CONFIG.HIDE_DELAY.suppressEvent
       }=20
    );


    /**
    * @config submenuhidedelay
    * @description Number indicating the time (in milliseconds) that =
should=20
    * expire before a submenu is hidden when the user mouses out of a =
menu item=20
    * heading in the direction of a submenu.  The value must be greater =
than or=20
    * equal to the value specified for the "showdelay" configuration =
property.
    * This property is only applied when the "position" configuration =
property=20
    * is set to dynamic and is automatically applied to all submenus.
    * @default 250
    * @type Number
    */
	oConfig.addProperty(
	   DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.key,=20
	   {=20
	       value: DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.value,=20
	       validator: DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.validator,
	       suppressEvent: DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.suppressEvent
       }=20
    );


    /**
    * @config clicktohide
    * @description Boolean indicating if the menu will automatically be=20
    * hidden if the user clicks outside of it.  This property is only=20
    * applied when the "position" configuration property is set to =
dynamic=20
    * and is automatically applied to all submenus.
    * @default true
    * @type Boolean
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.CLICK_TO_HIDE.key,
        {
            value: DEFAULT_CONFIG.CLICK_TO_HIDE.value,
            validator: DEFAULT_CONFIG.CLICK_TO_HIDE.validator,
            suppressEvent: DEFAULT_CONFIG.CLICK_TO_HIDE.suppressEvent
        }
    );


	/**
	* @config container
	* @description HTML element reference or string specifying the id=20
	* attribute of the HTML element that the menu's markup should be=20
	* rendered into.
	* @type <a href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
	* level-one-html.html#ID-58190037">HTMLElement</a>|String
	* @default document.body
	*/
	oConfig.addProperty(
	   DEFAULT_CONFIG.CONTAINER.key,=20
	   {=20
	       handler: this.configContainer,
	       value: document.body,
           suppressEvent: DEFAULT_CONFIG.CONTAINER.suppressEvent
       }=20
   );


    /**
    * @config scrollincrement
    * @description Number used to control the scroll speed of a menu.  =
Used to=20
    * increment the "scrollTop" property of the menu's body by when a =
menu's=20
    * content is scrolling.  When set this property is automatically =
applied=20
    * to all submenus.
    * @default 1
    * @type Number
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.SCROLL_INCREMENT.key,=20
        {=20
            value: DEFAULT_CONFIG.SCROLL_INCREMENT.value,=20
            validator: DEFAULT_CONFIG.SCROLL_INCREMENT.validator,
            supercedes: DEFAULT_CONFIG.SCROLL_INCREMENT.supercedes,
            suppressEvent: DEFAULT_CONFIG.SCROLL_INCREMENT.suppressEvent
        }
    );


    /**
    * @config minscrollheight
    * @description Number defining the minimum threshold for the =
"maxheight"=20
    * configuration property.  When set this property is automatically =
applied=20
    * to all submenus.
    * @default 90
    * @type Number
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.key,=20
        {=20
            value: DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.value,=20
            validator: DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.validator,
            supercedes: DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.supercedes,
            suppressEvent: =
DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.suppressEvent
        }
    );


    /**
    * @config maxheight
    * @description Number defining the maximum height (in pixels) for a =
menu's=20
    * body element (<code>&#60;div class=3D"bd"&#60;</code>).  Once a =
menu's body=20
    * exceeds this height, the contents of the body are scrolled to =
maintain=20
    * this value.  This value cannot be set lower than the value of the=20
    * "minscrollheight" configuration property.
    * @default 0
    * @type Number
    */
    oConfig.addProperty(
       DEFAULT_CONFIG.MAX_HEIGHT.key,=20
       {
            handler: this.configMaxHeight,
            value: DEFAULT_CONFIG.MAX_HEIGHT.value,
            validator: DEFAULT_CONFIG.MAX_HEIGHT.validator,
            suppressEvent: DEFAULT_CONFIG.MAX_HEIGHT.suppressEvent,
            supercedes: DEFAULT_CONFIG.MAX_HEIGHT.supercedes           =20
       }=20
    );


    /**
    * @config classname
    * @description String representing the CSS class to be applied to =
the=20
    * menu's root <code>&#60;div&#62;</code> element.  The specified =
class(es) =20
    * are appended in addition to the default class as specified by the =
menu's
    * CSS_CLASS_NAME constant. When set this property is automatically=20
    * applied to all submenus.
    * @default null
    * @type String
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.CLASS_NAME.key,=20
        {=20
            handler: this.configClassName,
            value: DEFAULT_CONFIG.CLASS_NAME.value,=20
            validator: DEFAULT_CONFIG.CLASS_NAME.validator,
            supercedes: DEFAULT_CONFIG.CLASS_NAME.supercedes     =20
        }
    );


    /**
    * @config disabled
    * @description Boolean indicating if the menu should be disabled. =20
    * Disabling a menu disables each of its items.  (Disabled menu items =
are=20
    * dimmed and will not respond to user input or fire events.)  =
Disabled
    * menus have a corresponding "disabled" CSS class applied to their =
root
    * <code>&#60;div&#62;</code> element.
    * @default false
    * @type Boolean
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.DISABLED.key,=20
        {=20
            handler: this.configDisabled,
            value: DEFAULT_CONFIG.DISABLED.value,=20
            validator: DEFAULT_CONFIG.DISABLED.validator,
            suppressEvent: DEFAULT_CONFIG.DISABLED.suppressEvent
        }
    );

}

}); // END YAHOO.lang.extend

})();



(function () {


/**
* Creates an item for a menu.
*=20
* @param {String} p_oObject String specifying the text of the menu item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-74680021">HTMLLIElement</a>} p_oObject Object =
specifying=20
* the <code>&#60;li&#62;</code> element of the menu item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-38450247">HTMLOptGroupElement</a>} p_oObject Object=20
* specifying the <code>&#60;optgroup&#62;</code> element of the menu =
item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-70901257">HTMLOptionElement</a>} p_oObject Object=20
* specifying the <code>&#60;option&#62;</code> element of the menu item.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the menu item. See configuration class documentation =

* for more details.
* @class MenuItem
* @constructor
*/
YAHOO.widget.MenuItem =3D function (p_oObject, p_oConfig) {

    if (p_oObject) {

        if (p_oConfig) {
   =20
            this.parent =3D p_oConfig.parent;
            this.value =3D p_oConfig.value;
            this.id =3D p_oConfig.id;

        }

        this.init(p_oObject, p_oConfig);

    }

};


var Dom =3D YAHOO.util.Dom,
    Module =3D YAHOO.widget.Module,
    Menu =3D YAHOO.widget.Menu,
    MenuItem =3D YAHOO.widget.MenuItem,
    CustomEvent =3D YAHOO.util.CustomEvent,
    Lang =3D YAHOO.lang,

    m_oMenuItemTemplate,

    /**
    * Constant representing the name of the MenuItem's events
    * @property EVENT_TYPES
    * @private
    * @final
    * @type Object
    */
    EVENT_TYPES =3D {
   =20
        "MOUSE_OVER": "mouseover",
        "MOUSE_OUT": "mouseout",
        "MOUSE_DOWN": "mousedown",
        "MOUSE_UP": "mouseup",
        "CLICK": "click",
        "KEY_PRESS": "keypress",
        "KEY_DOWN": "keydown",
        "KEY_UP": "keyup",
        "ITEM_ADDED": "itemAdded",
        "ITEM_REMOVED": "itemRemoved",
        "FOCUS": "focus",
        "BLUR": "blur",
        "DESTROY": "destroy"
   =20
    },

    /**
    * Constant representing the MenuItem's configuration properties
    * @property DEFAULT_CONFIG
    * @private
    * @final
    * @type Object
    */
    DEFAULT_CONFIG =3D {
   =20
        "TEXT": {=20
            key: "text",=20
            value: "",=20
            validator: Lang.isString,=20
            suppressEvent: true=20
        },=20
   =20
        "HELP_TEXT": {=20
            key: "helptext",
            supercedes: ["text"],=20
            suppressEvent: true=20
        },
   =20
        "URL": {=20
            key: "url",=20
            value: "#",=20
            suppressEvent: true=20
        },=20
   =20
        "TARGET": {=20
            key: "target",=20
            suppressEvent: true=20
        },=20
   =20
        "EMPHASIS": {=20
            key: "emphasis",=20
            value: false,=20
            validator: Lang.isBoolean,=20
            suppressEvent: true,=20
            supercedes: ["text"]
        },=20
   =20
        "STRONG_EMPHASIS": {=20
            key: "strongemphasis",=20
            value: false,=20
            validator: Lang.isBoolean,=20
            suppressEvent: true,
            supercedes: ["text"]
        },
   =20
        "CHECKED": {=20
            key: "checked",=20
            value: false,=20
            validator: Lang.isBoolean,=20
            suppressEvent: true,=20
            supercedes: ["disabled", "selected"]
        },=20

        "SUBMENU": {=20
            key: "submenu",
            suppressEvent: true,
            supercedes: ["disabled", "selected"]
        },
   =20
        "DISABLED": {=20
            key: "disabled",=20
            value: false,=20
            validator: Lang.isBoolean,=20
            suppressEvent: true,
            supercedes: ["text", "selected"]
        },
   =20
        "SELECTED": {=20
            key: "selected",=20
            value: false,=20
            validator: Lang.isBoolean,=20
            suppressEvent: true
        },
   =20
        "ONCLICK": {=20
            key: "onclick",
            suppressEvent: true
        },
   =20
        "CLASS_NAME": {=20
            key: "classname",=20
            value: null,=20
            validator: Lang.isString,
            suppressEvent: true
        }
   =20
    };


MenuItem.prototype =3D {

    /**
    * @property CSS_CLASS_NAME
    * @description String representing the CSS class(es) to be applied =
to the=20
    * <code>&#60;li&#62;</code> element of the menu item.
    * @default "yuimenuitem"
    * @final
    * @type String
    */
    CSS_CLASS_NAME: "yuimenuitem",


    /**
    * @property CSS_LABEL_CLASS_NAME
    * @description String representing the CSS class(es) to be applied =
to the=20
    * menu item's <code>&#60;a&#62;</code> element.
    * @default "yuimenuitemlabel"
    * @final
    * @type String
    */
    CSS_LABEL_CLASS_NAME: "yuimenuitemlabel",


    /**
    * @property SUBMENU_TYPE
    * @description Object representing the type of menu to instantiate =
and=20
    * add when parsing the child nodes of the menu item's source HTML =
element.
    * @final
    * @type YAHOO.widget.Menu
    */
    SUBMENU_TYPE: null,



    // Private member variables
   =20

    /**
    * @property _oAnchor
    * @description Object reference to the menu item's=20
    * <code>&#60;a&#62;</code> element.
    * @default null=20
    * @private
    * @type <a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-48250443">HTMLAnchorElement</a>
    */
    _oAnchor: null,
   =20
   =20
    /**
    * @property _oHelpTextEM
    * @description Object reference to the menu item's help text=20
    * <code>&#60;em&#62;</code> element.
    * @default null
    * @private
    * @type <a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-58190037">HTMLElement</a>
    */
    _oHelpTextEM: null,
   =20
   =20
    /**
    * @property _oSubmenu
    * @description Object reference to the menu item's submenu.
    * @default null
    * @private
    * @type YAHOO.widget.Menu
    */
    _oSubmenu: null,


    /**=20
    * @property _oOnclickAttributeValue
    * @description Object reference to the menu item's current value for =
the=20
    * "onclick" configuration attribute.
    * @default null
    * @private
    * @type Object
    */
    _oOnclickAttributeValue: null,


    /**
    * @property _sClassName
    * @description The current value of the "classname" configuration =
attribute.
    * @default null
    * @private
    * @type String
    */
    _sClassName: null,



    // Public properties


	/**
    * @property constructor
	* @description Object reference to the menu item's constructor =
function.
    * @default YAHOO.widget.MenuItem
	* @type YAHOO.widget.MenuItem
	*/
	constructor: MenuItem,


    /**
    * @property index
    * @description Number indicating the ordinal position of the menu =
item in=20
    * its group.
    * @default null
    * @type Number
    */
    index: null,


    /**
    * @property groupIndex
    * @description Number indicating the index of the group to which the =
menu=20
    * item belongs.
    * @default null
    * @type Number
    */
    groupIndex: null,


    /**
    * @property parent
    * @description Object reference to the menu item's parent menu.
    * @default null
    * @type YAHOO.widget.Menu
    */
    parent: null,


    /**
    * @property element
    * @description Object reference to the menu item's=20
    * <code>&#60;li&#62;</code> element.
    * @default <a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level
    * -one-html.html#ID-74680021">HTMLLIElement</a>
    * @type <a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-74680021">HTMLLIElement</a>
    */
    element: null,


    /**
    * @property srcElement
    * @description Object reference to the HTML element (either=20
    * <code>&#60;li&#62;</code>, <code>&#60;optgroup&#62;</code> or=20
    * <code>&#60;option&#62;</code>) used create the menu item.
    * @default <a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
    * level-one-html.html#ID-74680021">HTMLLIElement</a>|<a =
href=3D"http://www.
    * =
w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-38450247"
    * >HTMLOptGroupElement</a>|<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-
    * =
Level-1-20000929/level-one-html.html#ID-70901257">HTMLOptionElement</a>
    * @type <a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-74680021">HTMLLIElement</a>|<a =
href=3D"http://www.w3.
    * =
org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-38450247">
    * HTMLOptGroupElement</a>|<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-
    * =
Level-1-20000929/level-one-html.html#ID-70901257">HTMLOptionElement</a>
    */
    srcElement: null,


    /**
    * @property value
    * @description Object reference to the menu item's value.
    * @default null
    * @type Object
    */
    value: null,


	/**
    * @property browser
    * @deprecated Use YAHOO.env.ua
	* @description String representing the browser.
	* @type String
	*/
	browser: Module.prototype.browser,


    /**
    * @property id
    * @description Id of the menu item's root <code>&#60;li&#62;</code>=20
    * element.  This property should be set via the constructor using =
the=20
    * configuration object literal.  If an id is not specified, then one =
will=20
    * be created using the "generateId" method of the Dom utility.
    * @default null
    * @type String
    */
    id: null,



    // Events


    /**
    * @event destroyEvent
    * @description Fires when the menu item's <code>&#60;li&#62;</code>=20
    * element is removed from its parent <code>&#60;ul&#62;</code> =
element.
    * @type YAHOO.util.CustomEvent
    */
    destroyEvent: null,


    /**
    * @event mouseOverEvent
    * @description Fires when the mouse has entered the menu item.  =
Passes=20
    * back the DOM Event object as an argument.
    * @type YAHOO.util.CustomEvent
    */
    mouseOverEvent: null,


    /**
    * @event mouseOutEvent
    * @description Fires when the mouse has left the menu item.  Passes =
back=20
    * the DOM Event object as an argument.
    * @type YAHOO.util.CustomEvent
    */
    mouseOutEvent: null,


    /**
    * @event mouseDownEvent
    * @description Fires when the user mouses down on the menu item.  =
Passes=20
    * back the DOM Event object as an argument.
    * @type YAHOO.util.CustomEvent
    */
    mouseDownEvent: null,


    /**
    * @event mouseUpEvent
    * @description Fires when the user releases a mouse button while the =
mouse=20
    * is over the menu item.  Passes back the DOM Event object as an =
argument.
    * @type YAHOO.util.CustomEvent
    */
    mouseUpEvent: null,


    /**
    * @event clickEvent
    * @description Fires when the user clicks the on the menu item.  =
Passes=20
    * back the DOM Event object as an argument.
    * @type YAHOO.util.CustomEvent
    */
    clickEvent: null,


    /**
    * @event keyPressEvent
    * @description Fires when the user presses an alphanumeric key when =
the=20
    * menu item has focus.  Passes back the DOM Event object as an =
argument.
    * @type YAHOO.util.CustomEvent
    */
    keyPressEvent: null,


    /**
    * @event keyDownEvent
    * @description Fires when the user presses a key when the menu item =
has=20
    * focus.  Passes back the DOM Event object as an argument.
    * @type YAHOO.util.CustomEvent
    */
    keyDownEvent: null,


    /**
    * @event keyUpEvent
    * @description Fires when the user releases a key when the menu item =
has=20
    * focus.  Passes back the DOM Event object as an argument.
    * @type YAHOO.util.CustomEvent
    */
    keyUpEvent: null,


    /**
    * @event focusEvent
    * @description Fires when the menu item receives focus.
    * @type YAHOO.util.CustomEvent
    */
    focusEvent: null,


    /**
    * @event blurEvent
    * @description Fires when the menu item loses the input focus.
    * @type YAHOO.util.CustomEvent
    */
    blurEvent: null,


    /**
    * @method init
    * @description The MenuItem class's initialization method. This =
method is=20
    * automatically called by the constructor, and sets up all DOM =
references=20
    * for pre-existing markup, and creates required markup if it is not=20
    * already present.
    * @param {String} p_oObject String specifying the text of the menu =
item.
    * @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-74680021">HTMLLIElement</a>} p_oObject Object =
specifying=20
    * the <code>&#60;li&#62;</code> element of the menu item.
    * @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-38450247">HTMLOptGroupElement</a>} p_oObject =
Object=20
    * specifying the <code>&#60;optgroup&#62;</code> element of the menu =
item.
    * @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-70901257">HTMLOptionElement</a>} p_oObject Object =

    * specifying the <code>&#60;option&#62;</code> element of the menu =
item.
    * @param {Object} p_oConfig Optional. Object literal specifying the=20
    * configuration for the menu item. See configuration class =
documentation=20
    * for more details.
    */
    init: function (p_oObject, p_oConfig) {


        if (!this.SUBMENU_TYPE) {
   =20
            this.SUBMENU_TYPE =3D Menu;
   =20
        }


        // Create the config object

        this.cfg =3D new YAHOO.util.Config(this);

        this.initDefaultConfig();

        var SIGNATURE =3D CustomEvent.LIST,
            oConfig =3D this.cfg,
            sURL =3D "#",
            oAnchor,
            sTarget,
            sText,
            sId;


        if (Lang.isString(p_oObject)) {

            this._createRootNodeStructure();

            oConfig.queueProperty("text", p_oObject);

        }
        else if (p_oObject && p_oObject.tagName) {

            switch(p_oObject.tagName.toUpperCase()) {

                case "OPTION":

                    this._createRootNodeStructure();

                    oConfig.queueProperty("text", p_oObject.text);
                    oConfig.queueProperty("disabled", =
p_oObject.disabled);

                    this.value =3D p_oObject.value;

                    this.srcElement =3D p_oObject;

                break;

                case "OPTGROUP":

                    this._createRootNodeStructure();

                    oConfig.queueProperty("text", p_oObject.label);
                    oConfig.queueProperty("disabled", =
p_oObject.disabled);

                    this.srcElement =3D p_oObject;

                    this._initSubTree();

                break;

                case "LI":

                    // Get the anchor node (if it exists)
                   =20
                    oAnchor =3D Dom.getFirstChild(p_oObject);


                    // Capture the "text" and/or the "URL"

                    if (oAnchor) {

                        sURL =3D oAnchor.getAttribute("href", 2);
                        sTarget =3D oAnchor.getAttribute("target");

                        sText =3D oAnchor.innerHTML;

                    }

                    this.srcElement =3D p_oObject;
                    this.element =3D p_oObject;
                    this._oAnchor =3D oAnchor;

                    /*
                        Set these properties silently to sync up the=20
                        configuration object without making changes to =
the=20
                        element's DOM
                    */=20

                    oConfig.setProperty("text", sText, true);
                    oConfig.setProperty("url", sURL, true);
                    oConfig.setProperty("target", sTarget, true);

                    this._initSubTree();

                break;

            }           =20

        }


        if (this.element) {

            sId =3D (this.srcElement || this.element).id;

            if (!sId) {

                sId =3D this.id || Dom.generateId();

                this.element.id =3D sId;

            }

            this.id =3D sId;


            Dom.addClass(this.element, this.CSS_CLASS_NAME);
            Dom.addClass(this._oAnchor, this.CSS_LABEL_CLASS_NAME);


            // Create custom events

            this.mouseOverEvent =3D =
this.createEvent(EVENT_TYPES.MOUSE_OVER);
            this.mouseOverEvent.signature =3D SIGNATURE;

            this.mouseOutEvent =3D =
this.createEvent(EVENT_TYPES.MOUSE_OUT);
            this.mouseOutEvent.signature =3D SIGNATURE;

            this.mouseDownEvent =3D =
this.createEvent(EVENT_TYPES.MOUSE_DOWN);
            this.mouseDownEvent.signature =3D SIGNATURE;

            this.mouseUpEvent =3D =
this.createEvent(EVENT_TYPES.MOUSE_UP);
            this.mouseUpEvent.signature =3D SIGNATURE;

            this.clickEvent =3D this.createEvent(EVENT_TYPES.CLICK);
            this.clickEvent.signature =3D SIGNATURE;

            this.keyPressEvent =3D =
this.createEvent(EVENT_TYPES.KEY_PRESS);
            this.keyPressEvent.signature =3D SIGNATURE;

            this.keyDownEvent =3D =
this.createEvent(EVENT_TYPES.KEY_DOWN);
            this.keyDownEvent.signature =3D SIGNATURE;

            this.keyUpEvent =3D this.createEvent(EVENT_TYPES.KEY_UP);
            this.keyUpEvent.signature =3D SIGNATURE;

            this.focusEvent =3D this.createEvent(EVENT_TYPES.FOCUS);
            this.focusEvent.signature =3D SIGNATURE;

            this.blurEvent =3D this.createEvent(EVENT_TYPES.BLUR);
            this.blurEvent.signature =3D SIGNATURE;

            this.destroyEvent =3D this.createEvent(EVENT_TYPES.DESTROY);
            this.destroyEvent.signature =3D SIGNATURE;

            if (p_oConfig) {
   =20
                oConfig.applyConfig(p_oConfig);
   =20
            }       =20

            oConfig.fireQueue();

        }

    },



    // Private methods


    /**
    * @method _createRootNodeStructure
    * @description Creates the core DOM structure for the menu item.
    * @private
    */
    _createRootNodeStructure: function () {

        var oElement,
            oAnchor;

        if (!m_oMenuItemTemplate) {

            m_oMenuItemTemplate =3D document.createElement("li");
            m_oMenuItemTemplate.innerHTML =3D "<a href=3D\"#\"></a>";

        }

        oElement =3D m_oMenuItemTemplate.cloneNode(true);
        oElement.className =3D this.CSS_CLASS_NAME;

        oAnchor =3D oElement.firstChild;
        oAnchor.className =3D this.CSS_LABEL_CLASS_NAME;
       =20
        this.element =3D oElement;
        this._oAnchor =3D oAnchor;

    },


    /**
    * @method _initSubTree
    * @description Iterates the source element's childNodes collection =
and uses=20
    * the child nodes to instantiate other menus.
    * @private
    */
    _initSubTree: function () {

        var oSrcEl =3D this.srcElement,
            oConfig =3D this.cfg,
            oNode,
            aOptions,
            nOptions,
            oMenu,
            n;


        if (oSrcEl.childNodes.length > 0) {

            if (this.parent.lazyLoad && this.parent.srcElement &&=20
                this.parent.srcElement.tagName.toUpperCase() =3D=3D =
"SELECT") {

                oConfig.setProperty(
                        "submenu",=20
                        { id: Dom.generateId(), itemdata: =
oSrcEl.childNodes }
                    );

            }
            else {

                oNode =3D oSrcEl.firstChild;
                aOptions =3D [];
   =20
                do {
   =20
                    if (oNode && oNode.tagName) {
   =20
                        switch(oNode.tagName.toUpperCase()) {
               =20
                            case "DIV":
               =20
                                oConfig.setProperty("submenu", oNode);
               =20
                            break;
        =20
                            case "OPTION":
       =20
                                aOptions[aOptions.length] =3D oNode;
       =20
                            break;
              =20
                        }
                   =20
                    }
               =20
                }       =20
                while((oNode =3D oNode.nextSibling));
   =20
   =20
                nOptions =3D aOptions.length;
   =20
                if (nOptions > 0) {
   =20
                    oMenu =3D new this.SUBMENU_TYPE(Dom.generateId());
                   =20
                    oConfig.setProperty("submenu", oMenu);
   =20
                    for(n=3D0; n<nOptions; n++) {
       =20
                        oMenu.addItem((new =
oMenu.ITEM_TYPE(aOptions[n])));
       =20
                    }
       =20
                }
           =20
            }

        }

    },



    // Event handlers for configuration properties


    /**
    * @method configText
    * @description Event handler for when the "text" configuration =
property of=20
    * the menu item changes.
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */
    configText: function (p_sType, p_aArgs, p_oItem) {

        var sText =3D p_aArgs[0],
            oConfig =3D this.cfg,
            oAnchor =3D this._oAnchor,
            sHelpText =3D oConfig.getProperty("helptext"),
            sHelpTextHTML =3D "",
            sEmphasisStartTag =3D "",
            sEmphasisEndTag =3D "";


        if (sText) {


            if (sHelpText) {
                   =20
                sHelpTextHTML =3D "<em class=3D\"helptext\">" + =
sHelpText + "</em>";
           =20
            }


            if (oConfig.getProperty("emphasis")) {

                sEmphasisStartTag =3D "<em>";
                sEmphasisEndTag =3D "</em>";

            }


            if (oConfig.getProperty("strongemphasis")) {

                sEmphasisStartTag =3D "<strong>";
                sEmphasisEndTag =3D "</strong>";
           =20
            }


            oAnchor.innerHTML =3D (sEmphasisStartTag + sText +=20
                sEmphasisEndTag + sHelpTextHTML);

        }

    },


    /**
    * @method configHelpText
    * @description Event handler for when the "helptext" configuration =
property=20
    * of the menu item changes.
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */   =20
    configHelpText: function (p_sType, p_aArgs, p_oItem) {

        this.cfg.refireEvent("text");

    },


    /**
    * @method configURL
    * @description Event handler for when the "url" configuration =
property of=20
    * the menu item changes.
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */   =20
    configURL: function (p_sType, p_aArgs, p_oItem) {

        var sURL =3D p_aArgs[0];

        if (!sURL) {

            sURL =3D "#";

        }

        var oAnchor =3D this._oAnchor;

        if (YAHOO.env.ua.opera) {

            oAnchor.removeAttribute("href");
       =20
        }

        oAnchor.setAttribute("href", sURL);

    },


    /**
    * @method configTarget
    * @description Event handler for when the "target" configuration =
property=20
    * of the menu item changes. =20
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */   =20
    configTarget: function (p_sType, p_aArgs, p_oItem) {

        var sTarget =3D p_aArgs[0],
            oAnchor =3D this._oAnchor;

        if (sTarget && sTarget.length > 0) {

            oAnchor.setAttribute("target", sTarget);

        }
        else {

            oAnchor.removeAttribute("target");
       =20
        }

    },


    /**
    * @method configEmphasis
    * @description Event handler for when the "emphasis" configuration =
property
    * of the menu item changes.
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */   =20
    configEmphasis: function (p_sType, p_aArgs, p_oItem) {

        var bEmphasis =3D p_aArgs[0],
            oConfig =3D this.cfg;


        if (bEmphasis && oConfig.getProperty("strongemphasis")) {

            oConfig.setProperty("strongemphasis", false);

        }


        oConfig.refireEvent("text");

    },


    /**
    * @method configStrongEmphasis
    * @description Event handler for when the "strongemphasis" =
configuration=20
    * property of the menu item changes.
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */   =20
    configStrongEmphasis: function (p_sType, p_aArgs, p_oItem) {

        var bStrongEmphasis =3D p_aArgs[0],
            oConfig =3D this.cfg;


        if (bStrongEmphasis && oConfig.getProperty("emphasis")) {

            oConfig.setProperty("emphasis", false);

        }

        oConfig.refireEvent("text");

    },


    /**
    * @method configChecked
    * @description Event handler for when the "checked" configuration =
property=20
    * of the menu item changes.=20
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */   =20
    configChecked: function (p_sType, p_aArgs, p_oItem) {

        var bChecked =3D p_aArgs[0],
            oElement =3D this.element,
            oAnchor =3D this._oAnchor,
            oConfig =3D this.cfg,
            sState =3D "-checked",
            sClassName =3D this.CSS_CLASS_NAME + sState,
            sLabelClassName =3D this.CSS_LABEL_CLASS_NAME + sState;


        if (bChecked) {

            Dom.addClass(oElement, sClassName);
            Dom.addClass(oAnchor, sLabelClassName);

        }
        else {

            Dom.removeClass(oElement, sClassName);
            Dom.removeClass(oAnchor, sLabelClassName);
       =20
        }


        oConfig.refireEvent("text");


        if (oConfig.getProperty("disabled")) {

            oConfig.refireEvent("disabled");

        }


        if (oConfig.getProperty("selected")) {

            oConfig.refireEvent("selected");

        }

    },



    /**
    * @method configDisabled
    * @description Event handler for when the "disabled" configuration =
property=20
    * of the menu item changes.=20
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */   =20
    configDisabled: function (p_sType, p_aArgs, p_oItem) {

        var bDisabled =3D p_aArgs[0],
            oConfig =3D this.cfg,
            oSubmenu =3D oConfig.getProperty("submenu"),
            bChecked =3D oConfig.getProperty("checked"),
            oElement =3D this.element,
            oAnchor =3D this._oAnchor,
            sState =3D "-disabled",
            sCheckedState =3D "-checked" + sState,
            sSubmenuState =3D "-hassubmenu" + sState,
            sClassName =3D this.CSS_CLASS_NAME + sState,
            sLabelClassName =3D this.CSS_LABEL_CLASS_NAME + sState,
            sCheckedClassName =3D this.CSS_CLASS_NAME + sCheckedState,
            sLabelCheckedClassName =3D this.CSS_LABEL_CLASS_NAME + =
sCheckedState,
            sSubmenuClassName =3D this.CSS_CLASS_NAME + sSubmenuState,
            sLabelSubmenuClassName =3D this.CSS_LABEL_CLASS_NAME + =
sSubmenuState;


        if (bDisabled) {

            if (oConfig.getProperty("selected")) {

                oConfig.setProperty("selected", false);

            }

            Dom.addClass(oElement, sClassName);
            Dom.addClass(oAnchor, sLabelClassName);


            if (oSubmenu) {

                Dom.addClass(oElement, sSubmenuClassName);
                Dom.addClass(oAnchor, sLabelSubmenuClassName);
           =20
            }
           =20

            if (bChecked) {

                Dom.addClass(oElement, sCheckedClassName);
                Dom.addClass(oAnchor, sLabelCheckedClassName);

            }

        }
        else {

            Dom.removeClass(oElement, sClassName);
            Dom.removeClass(oAnchor, sLabelClassName);


            if (oSubmenu) {

                Dom.removeClass(oElement, sSubmenuClassName);
                Dom.removeClass(oAnchor, sLabelSubmenuClassName);
           =20
            }
           =20

            if (bChecked) {

                Dom.removeClass(oElement, sCheckedClassName);
                Dom.removeClass(oAnchor, sLabelCheckedClassName);

            }

        }

    },


    /**
    * @method configSelected
    * @description Event handler for when the "selected" configuration =
property=20
    * of the menu item changes.=20
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */   =20
    configSelected: function (p_sType, p_aArgs, p_oItem) {

        var oConfig =3D this.cfg,
            bSelected =3D p_aArgs[0],
            oElement =3D this.element,
            oAnchor =3D this._oAnchor,
            bChecked =3D oConfig.getProperty("checked"),
            oSubmenu =3D oConfig.getProperty("submenu"),
            sState =3D "-selected",
            sCheckedState =3D "-checked" + sState,
            sSubmenuState =3D "-hassubmenu" + sState,
            sClassName =3D this.CSS_CLASS_NAME + sState,
            sLabelClassName =3D this.CSS_LABEL_CLASS_NAME + sState,
            sCheckedClassName =3D this.CSS_CLASS_NAME + sCheckedState,
            sLabelCheckedClassName =3D this.CSS_LABEL_CLASS_NAME + =
sCheckedState,
            sSubmenuClassName =3D this.CSS_CLASS_NAME + sSubmenuState,
            sLabelSubmenuClassName =3D this.CSS_LABEL_CLASS_NAME + =
sSubmenuState;


        if (YAHOO.env.ua.opera) {

            oAnchor.blur();
       =20
        }


        if (bSelected && !oConfig.getProperty("disabled")) {

            Dom.addClass(oElement, sClassName);
            Dom.addClass(oAnchor, sLabelClassName);


            if (oSubmenu) {

                Dom.addClass(oElement, sSubmenuClassName);
                Dom.addClass(oAnchor, sLabelSubmenuClassName);
           =20
            }


            if (bChecked) {

                Dom.addClass(oElement, sCheckedClassName);
                Dom.addClass(oAnchor, sLabelCheckedClassName);

            }

        }
        else {

            Dom.removeClass(oElement, sClassName);
            Dom.removeClass(oAnchor, sLabelClassName);


            if (oSubmenu) {

                Dom.removeClass(oElement, sSubmenuClassName);
                Dom.removeClass(oAnchor, sLabelSubmenuClassName);
           =20
            }

       =20
            if (bChecked) {

                Dom.removeClass(oElement, sCheckedClassName);
                Dom.removeClass(oAnchor, sLabelCheckedClassName);

            }

        }


        if (this.hasFocus() && YAHOO.env.ua.opera) {
       =20
            oAnchor.focus();
       =20
        }

    },


    /**
    * @method _onSubmenuBeforeHide
    * @description "beforehide" Custom Event handler for a submenu.
    * @private
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    */
    _onSubmenuBeforeHide: function (p_sType, p_aArgs) {

        var oItem =3D this.parent,
            oMenu;

        function onHide() {

            oItem._oAnchor.blur();
            oMenu.beforeHideEvent.unsubscribe(onHide);
       =20
        }


        if (oItem.hasFocus()) {

            oMenu =3D oItem.parent;

            oMenu.beforeHideEvent.subscribe(onHide);
       =20
        }
   =20
    },


    /**
    * @method configSubmenu
    * @description Event handler for when the "submenu" configuration =
property=20
    * of the menu item changes.=20
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */
    configSubmenu: function (p_sType, p_aArgs, p_oItem) {

        var oSubmenu =3D p_aArgs[0],
            oConfig =3D this.cfg,
            oElement =3D this.element,
            oAnchor =3D this._oAnchor,
            bLazyLoad =3D this.parent && this.parent.lazyLoad,
            sState =3D "-hassubmenu",
            sClassName =3D this.CSS_CLASS_NAME + sState,
            sLabelClassName =3D this.CSS_LABEL_CLASS_NAME + sState,
            oMenu,
            sSubmenuId,
            oSubmenuConfig;


        if (oSubmenu) {

            if (oSubmenu instanceof Menu) {

                oMenu =3D oSubmenu;
                oMenu.parent =3D this;
                oMenu.lazyLoad =3D bLazyLoad;

            }
            else if (typeof oSubmenu =3D=3D "object" && oSubmenu.id &&=20
                !oSubmenu.nodeType) {

                sSubmenuId =3D oSubmenu.id;
                oSubmenuConfig =3D oSubmenu;

                oSubmenuConfig.lazyload =3D bLazyLoad;
                oSubmenuConfig.parent =3D this;

                oMenu =3D new this.SUBMENU_TYPE(sSubmenuId, =
oSubmenuConfig);


                // Set the value of the property to the Menu instance

                oConfig.setProperty("submenu", oMenu, true);

            }
            else {

                oMenu =3D new this.SUBMENU_TYPE(oSubmenu,
                                { lazyload: bLazyLoad, parent: this });


                // Set the value of the property to the Menu instance
               =20
                oConfig.setProperty("submenu", oMenu, true);

            }


            if (oMenu) {

                Dom.addClass(oElement, sClassName);
                Dom.addClass(oAnchor, sLabelClassName);

                this._oSubmenu =3D oMenu;

                if (YAHOO.env.ua.opera) {
               =20
                    =
oMenu.beforeHideEvent.subscribe(this._onSubmenuBeforeHide);              =
=20
               =20
                }
           =20
            }

        }
        else {

            Dom.removeClass(oElement, sClassName);
            Dom.removeClass(oAnchor, sLabelClassName);

            if (this._oSubmenu) {

                this._oSubmenu.destroy();

            }

        }


        if (oConfig.getProperty("disabled")) {

            oConfig.refireEvent("disabled");

        }


        if (oConfig.getProperty("selected")) {

            oConfig.refireEvent("selected");

        }

    },


    /**
    * @method configOnClick
    * @description Event handler for when the "onclick" configuration =
property=20
    * of the menu item changes.=20
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */
    configOnClick: function (p_sType, p_aArgs, p_oItem) {

        var oObject =3D p_aArgs[0];

        /*
            Remove any existing listeners if a "click" event handler has =

            already been specified.
        */

        if (this._oOnclickAttributeValue &&=20
            (this._oOnclickAttributeValue !=3D oObject)) {

            this.clickEvent.unsubscribe(this._oOnclickAttributeValue.fn, =

                                this._oOnclickAttributeValue.obj);

            this._oOnclickAttributeValue =3D null;

        }


        if (!this._oOnclickAttributeValue && typeof oObject =3D=3D =
"object" &&=20
            typeof oObject.fn =3D=3D "function") {
           =20
            this.clickEvent.subscribe(oObject.fn,=20
                ((!YAHOO.lang.isUndefined(oObject.obj)) ? oObject.obj : =
this),=20
                oObject.scope);

            this._oOnclickAttributeValue =3D oObject;

        }
   =20
    },


    /**
    * @method configClassName
    * @description Event handler for when the "classname" configuration=20
    * property of a menu item changes.
    * @param {String} p_sType String representing the name of the event =
that=20
    * was fired.
    * @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
    * @param {YAHOO.widget.MenuItem} p_oItem Object representing the =
menu item
    * that fired the event.
    */
    configClassName: function (p_sType, p_aArgs, p_oItem) {
   =20
        var sClassName =3D p_aArgs[0];
   =20
        if (this._sClassName) {
   =20
            Dom.removeClass(this.element, this._sClassName);
   =20
        }
   =20
        Dom.addClass(this.element, sClassName);
        this._sClassName =3D sClassName;
   =20
    },



    // Public methods


	/**
    * @method initDefaultConfig
	* @description Initializes an item's configurable properties.
	*/
	initDefaultConfig : function () {

        var oConfig =3D this.cfg;


        // Define the configuration attributes

        /**
        * @config text
        * @description String specifying the text label for the menu =
item. =20
        * When building a menu from existing HTML the value of this =
property
        * will be interpreted from the menu's markup.
        * @default ""
        * @type String
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.TEXT.key,=20
            {=20
                handler: this.configText,=20
                value: DEFAULT_CONFIG.TEXT.value,=20
                validator: DEFAULT_CONFIG.TEXT.validator,=20
                suppressEvent: DEFAULT_CONFIG.TEXT.suppressEvent=20
            }
        );
       =20

        /**
        * @config helptext
        * @description String specifying additional instructional text =
to=20
        * accompany the text for the menu item.
        * @deprecated Use "text" configuration property to add help text =
markup. =20
        * For example: <code>oMenuItem.cfg.setProperty("text", "Copy =
&#60;em=20
        * class=3D\"helptext\"&#62;Ctrl + C&#60;/em&#62;");</code>
        * @default null
        * @type String|<a href=3D"http://www.w3.org/TR/
        * 2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-58190037">
        * HTMLElement</a>
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.HELP_TEXT.key,
            {
                handler: this.configHelpText,=20
                supercedes: DEFAULT_CONFIG.HELP_TEXT.supercedes,
                suppressEvent: DEFAULT_CONFIG.HELP_TEXT.suppressEvent=20
            }
        );


        /**
        * @config url
        * @description String specifying the URL for the menu item's =
anchor's=20
        * "href" attribute.  When building a menu from existing HTML the =
value=20
        * of this property will be interpreted from the menu's markup.
        * @default "#"
        * @type String
        */       =20
        oConfig.addProperty(
            DEFAULT_CONFIG.URL.key,=20
            {
                handler: this.configURL,=20
                value: DEFAULT_CONFIG.URL.value,=20
                suppressEvent: DEFAULT_CONFIG.URL.suppressEvent
            }
        );


        /**
        * @config target
        * @description String specifying the value for the "target" =
attribute=20
        * of the menu item's anchor element. <strong>Specifying a target =
will=20
        * require the user to click directly on the menu item's anchor =
node in
        * order to cause the browser to navigate to the specified =
URL.</strong>=20
        * When building a menu from existing HTML the value of this =
property=20
        * will be interpreted from the menu's markup.
        * @default null
        * @type String
        */       =20
        oConfig.addProperty(
            DEFAULT_CONFIG.TARGET.key,=20
            {
                handler: this.configTarget,=20
                suppressEvent: DEFAULT_CONFIG.TARGET.suppressEvent
            }
        );


        /**
        * @config emphasis
        * @description Boolean indicating if the text of the menu item =
will be=20
        * rendered with emphasis.
        * @deprecated Use "text" configuration property to add emphasis. =
=20
        * For example: <code>oMenuItem.cfg.setProperty("text", =
"&#60;em&#62;Some=20
        * Text&#60;/em&#62;");</code>
        * @default false
        * @type Boolean
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.EMPHASIS.key,=20
            {=20
                handler: this.configEmphasis,=20
                value: DEFAULT_CONFIG.EMPHASIS.value,=20
                validator: DEFAULT_CONFIG.EMPHASIS.validator,=20
                suppressEvent: DEFAULT_CONFIG.EMPHASIS.suppressEvent,
                supercedes: DEFAULT_CONFIG.EMPHASIS.supercedes
            }
        );


        /**
        * @config strongemphasis
        * @description Boolean indicating if the text of the menu item =
will be=20
        * rendered with strong emphasis.
        * @deprecated Use "text" configuration property to add strong =
emphasis. =20
        * For example: <code>oMenuItem.cfg.setProperty("text", =
"&#60;strong&#62;=20
        * Some Text&#60;/strong&#62;");</code>
        * @default false
        * @type Boolean
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.STRONG_EMPHASIS.key,
            {
                handler: this.configStrongEmphasis,
                value: DEFAULT_CONFIG.STRONG_EMPHASIS.value,
                validator: DEFAULT_CONFIG.STRONG_EMPHASIS.validator,
                suppressEvent: =
DEFAULT_CONFIG.STRONG_EMPHASIS.suppressEvent,
                supercedes: DEFAULT_CONFIG.STRONG_EMPHASIS.supercedes
            }
        );


        /**
        * @config checked
        * @description Boolean indicating if the menu item should be =
rendered=20
        * with a checkmark.
        * @default false
        * @type Boolean
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.CHECKED.key,=20
            {
                handler: this.configChecked,=20
                value: DEFAULT_CONFIG.CHECKED.value,=20
                validator: DEFAULT_CONFIG.CHECKED.validator,=20
                suppressEvent: DEFAULT_CONFIG.CHECKED.suppressEvent,
                supercedes: DEFAULT_CONFIG.CHECKED.supercedes
            }=20
        );


        /**
        * @config disabled
        * @description Boolean indicating if the menu item should be =
disabled. =20
        * (Disabled menu items are  dimmed and will not respond to user =
input=20
        * or fire events.)
        * @default false
        * @type Boolean
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.DISABLED.key,
            {
                handler: this.configDisabled,
                value: DEFAULT_CONFIG.DISABLED.value,
                validator: DEFAULT_CONFIG.DISABLED.validator,
                suppressEvent: DEFAULT_CONFIG.DISABLED.suppressEvent
            }
        );


        /**
        * @config selected
        * @description Boolean indicating if the menu item should=20
        * be highlighted.
        * @default false
        * @type Boolean
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.SELECTED.key,
            {
                handler: this.configSelected,
                value: DEFAULT_CONFIG.SELECTED.value,
                validator: DEFAULT_CONFIG.SELECTED.validator,
                suppressEvent: DEFAULT_CONFIG.SELECTED.suppressEvent
            }
        );


        /**
        * @config submenu
        * @description Object specifying the submenu to be appended to =
the=20
        * menu item.  The value can be one of the following: =
<ul><li>Object=20
        * specifying a Menu instance.</li><li>Object literal specifying =
the
        * menu to be created.  Format: <code>{ id: [menu id], itemdata:=20
        * [<a href=3D"YAHOO.widget.Menu.html#itemData">array of values =
for=20
        * items</a>] }</code>.</li><li>String specifying the id =
attribute=20
        * of the <code>&#60;div&#62;</code> element of the =
menu.</li><li>
        * Object specifying the <code>&#60;div&#62;</code> element of =
the=20
        * menu.</li></ul>
        * @default null
        * @type Menu|String|Object|<a href=3D"http://www.w3.org/TR/2000/
        * WD-DOM-Level-1-20000929/level-one-html.html#ID-58190037">
        * HTMLElement</a>
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.SUBMENU.key,=20
            {
                handler: this.configSubmenu,=20
                supercedes: DEFAULT_CONFIG.SUBMENU.supercedes,
                suppressEvent: DEFAULT_CONFIG.SUBMENU.suppressEvent
            }
        );


        /**
        * @config onclick
        * @description Object literal representing the code to be =
executed when=20
        * the item is clicked.  Format:<br> <code> {<br>=20
        * <strong>fn:</strong> Function,   &#47;&#47; The handler to =
call when=20
        * the event fires.<br> <strong>obj:</strong> Object, &#47;&#47; =
An=20
        * object to  pass back to the handler.<br> =
<strong>scope:</strong>=20
        * Object &#47;&#47; The object to use for the scope of the =
handler.
        * <br> } </code>
        * @type Object
        * @default null
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.ONCLICK.key,=20
            {
                handler: this.configOnClick,=20
                suppressEvent: DEFAULT_CONFIG.ONCLICK.suppressEvent=20
            }
        );


        /**
        * @config classname
        * @description CSS class to be applied to the menu item's root=20
        * <code>&#60;li&#62;</code> element.  The specified class(es) =
are=20
        * appended in addition to the default class as specified by the =
menu=20
        * item's CSS_CLASS_NAME constant.
        * @default null
        * @type String
        */
        oConfig.addProperty(
            DEFAULT_CONFIG.CLASS_NAME.key,=20
            {=20
                handler: this.configClassName,
                value: DEFAULT_CONFIG.CLASS_NAME.value,=20
                validator: DEFAULT_CONFIG.CLASS_NAME.validator,
                suppressEvent: DEFAULT_CONFIG.CLASS_NAME.suppressEvent=20
            }
        );

	},


    /**
    * @method getNextEnabledSibling
    * @description Finds the menu item's next enabled sibling.
    * @return YAHOO.widget.MenuItem
    */
    getNextEnabledSibling: function () {

        var nGroupIndex,
            aItemGroups,
            oNextItem,
            nNextGroupIndex,
            aNextGroup;

        function getNextArrayItem(p_aArray, p_nStartIndex) {

            return p_aArray[p_nStartIndex] ||=20
                getNextArrayItem(p_aArray, (p_nStartIndex+1));

        }

        if (this.parent instanceof Menu) {

            nGroupIndex =3D this.groupIndex;
   =20
            aItemGroups =3D this.parent.getItemGroups();
   =20
            if (this.index < (aItemGroups[nGroupIndex].length - 1)) {
   =20
                oNextItem =3D getNextArrayItem(aItemGroups[nGroupIndex], =

                        (this.index+1));
   =20
            }
            else {
   =20
                if (nGroupIndex < (aItemGroups.length - 1)) {
   =20
                    nNextGroupIndex =3D nGroupIndex + 1;
   =20
                }
                else {
   =20
                    nNextGroupIndex =3D 0;
   =20
                }
   =20
                aNextGroup =3D getNextArrayItem(aItemGroups, =
nNextGroupIndex);
   =20
                // Retrieve the first menu item in the next group
   =20
                oNextItem =3D getNextArrayItem(aNextGroup, 0);
   =20
            }
   =20
            return (oNextItem.cfg.getProperty("disabled") ||=20
                oNextItem.element.style.display =3D=3D "none") ?=20
                oNextItem.getNextEnabledSibling() : oNextItem;

        }

    },


    /**
    * @method getPreviousEnabledSibling
    * @description Finds the menu item's previous enabled sibling.
    * @return {YAHOO.widget.MenuItem}
    */
    getPreviousEnabledSibling: function () {

        var nGroupIndex,
            aItemGroups,
            oPreviousItem,
            nPreviousGroupIndex,
            aPreviousGroup;

        function getPreviousArrayItem(p_aArray, p_nStartIndex) {

            return p_aArray[p_nStartIndex] || =20
                getPreviousArrayItem(p_aArray, (p_nStartIndex-1));

        }

        function getFirstItemIndex(p_aArray, p_nStartIndex) {

            return p_aArray[p_nStartIndex] ? p_nStartIndex :=20
                getFirstItemIndex(p_aArray, (p_nStartIndex+1));

        }

       if (this.parent instanceof Menu) {

            nGroupIndex =3D this.groupIndex;
            aItemGroups =3D this.parent.getItemGroups();

   =20
            if (this.index > getFirstItemIndex(aItemGroups[nGroupIndex], =
0)) {
   =20
                oPreviousItem =3D =
getPreviousArrayItem(aItemGroups[nGroupIndex],=20
                        (this.index-1));
   =20
            }
            else {
   =20
                if (nGroupIndex > getFirstItemIndex(aItemGroups, 0)) {
   =20
                    nPreviousGroupIndex =3D nGroupIndex - 1;
   =20
                }
                else {
   =20
                    nPreviousGroupIndex =3D aItemGroups.length - 1;
   =20
                }
   =20
                aPreviousGroup =3D getPreviousArrayItem(aItemGroups,=20
                    nPreviousGroupIndex);
   =20
                oPreviousItem =3D getPreviousArrayItem(aPreviousGroup,=20
                        (aPreviousGroup.length - 1));
   =20
            }

            return (oPreviousItem.cfg.getProperty("disabled") ||=20
                oPreviousItem.element.style.display =3D=3D "none") ?=20
                oPreviousItem.getPreviousEnabledSibling() : =
oPreviousItem;

        }

    },


    /**
    * @method focus
    * @description Causes the menu item to receive the focus and fires =
the=20
    * focus event.
    */
    focus: function () {

        var oParent =3D this.parent,
            oAnchor =3D this._oAnchor,
            oActiveItem =3D oParent.activeItem,
            me =3D this;


        function setFocus() {

            try {

                if (YAHOO.env.ua.ie && !document.hasFocus()) {
               =20
                    return;
               =20
                }

                if (oActiveItem) {
   =20
                    oActiveItem.blurEvent.fire();
   =20
                }

                oAnchor.focus();
               =20
                me.focusEvent.fire();

            }
            catch(e) {
           =20
            }

        }


        if (!this.cfg.getProperty("disabled") && oParent &&=20
            oParent.cfg.getProperty("visible") &&=20
            this.element.style.display !=3D "none") {


            /*
                Setting focus via a timer fixes a race condition in =
Firefox, IE=20
                and Opera where the browser viewport jumps as it trys to =

                position and focus the menu.
            */

            window.setTimeout(setFocus, 0);

        }

    },


    /**
    * @method blur
    * @description Causes the menu item to lose focus and fires the=20
    * blur event.
    */   =20
    blur: function () {

        var oParent =3D this.parent;

        if (!this.cfg.getProperty("disabled") && oParent &&=20
            oParent.cfg.getProperty("visible")) {


            var me =3D this;
           =20
            window.setTimeout(function () {

                try {
   =20
                    me._oAnchor.blur();
                    me.blurEvent.fire();   =20

                }=20
                catch (e) {
               =20
                }
               =20
            }, 0);

        }

    },


    /**
    * @method hasFocus
    * @description Returns a boolean indicating whether or not the menu =
item
    * has focus.
    * @return {Boolean}
    */
    hasFocus: function () {
   =20
        return (YAHOO.widget.MenuManager.getFocusedMenuItem() =3D=3D =
this);
   =20
    },


	/**
    * @method destroy
	* @description Removes the menu item's <code>&#60;li&#62;</code> =
element=20
	* from its parent <code>&#60;ul&#62;</code> element.
	*/
    destroy: function () {

        var oEl =3D this.element,
            oSubmenu,
            oParentNode;

        if (oEl) {


            // If the item has a submenu, destroy it first

            oSubmenu =3D this.cfg.getProperty("submenu");

            if (oSubmenu) {
           =20
                oSubmenu.destroy();
           =20
            }


            // Remove CustomEvent listeners
   =20
            this.mouseOverEvent.unsubscribeAll();
            this.mouseOutEvent.unsubscribeAll();
            this.mouseDownEvent.unsubscribeAll();
            this.mouseUpEvent.unsubscribeAll();
            this.clickEvent.unsubscribeAll();
            this.keyPressEvent.unsubscribeAll();
            this.keyDownEvent.unsubscribeAll();
            this.keyUpEvent.unsubscribeAll();
            this.focusEvent.unsubscribeAll();
            this.blurEvent.unsubscribeAll();
            this.cfg.configChangedEvent.unsubscribeAll();


            // Remove the element from the parent node

            oParentNode =3D oEl.parentNode;

            if (oParentNode) {

                oParentNode.removeChild(oEl);

                this.destroyEvent.fire();

            }

            this.destroyEvent.unsubscribeAll();

        }

    },


    /**
    * @method toString
    * @description Returns a string representing the menu item.
    * @return {String}
    */
    toString: function () {

        var sReturnVal =3D "MenuItem",
            sId =3D this.id;

        if (sId) {
   =20
            sReturnVal +=3D (" " + sId);
       =20
        }

        return sReturnVal;
   =20
    }

};

Lang.augmentProto(MenuItem, YAHOO.util.EventProvider);

})();
(function () {


/**
* Creates a list of options or commands which are made visible in =
response to=20
* an HTML element's "contextmenu" event ("mousedown" for Opera).
*
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;div&#62;</code> element of the context menu.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;select&#62;</code> element to be used as the data source =
for the=20
* context menu.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-
* html.html#ID-22445964">HTMLDivElement</a>} p_oElement Object =
specifying the=20
* <code>&#60;div&#62;</code> element of the context menu.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-
* html.html#ID-94282980">HTMLSelectElement</a>} p_oElement Object =
specifying=20
* the <code>&#60;select&#62;</code> element to be used as the data =
source for=20
* the context menu.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the context menu. See configuration class =
documentation=20
* for more details.
* @class ContextMenu
* @constructor
* @extends YAHOO.widget.Menu
* @namespace YAHOO.widget
*/
YAHOO.widget.ContextMenu =3D function(p_oElement, p_oConfig) {

    YAHOO.widget.ContextMenu.superclass.constructor.call(this,=20
            p_oElement, p_oConfig);

};


var Event =3D YAHOO.util.Event,
    ContextMenu =3D YAHOO.widget.ContextMenu,



    /**
    * Constant representing the name of the ContextMenu's events
    * @property EVENT_TYPES
    * @private
    * @final
    * @type Object
    */
    EVENT_TYPES =3D {

        "TRIGGER_CONTEXT_MENU": "triggerContextMenu",
        "CONTEXT_MENU": (YAHOO.env.ua.opera ? "mousedown" : =
"contextmenu"),
        "CLICK": "click"

    },
   =20
   =20
    /**
    * Constant representing the ContextMenu's configuration properties
    * @property DEFAULT_CONFIG
    * @private
    * @final
    * @type Object
    */
    DEFAULT_CONFIG =3D {
   =20
        "TRIGGER": {=20
            key: "trigger",
            suppressEvent: true
        }
   =20
    };


/**
* @method position
* @description "beforeShow" event handler used to position the =
contextmenu.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {Array} p_aPos Array representing the xy position for the =
context menu.
*/
function position(p_sType, p_aArgs, p_aPos) {

    this.cfg.setProperty("xy", p_aPos);
   =20
    this.beforeShowEvent.unsubscribe(position, p_aPos);

}


YAHOO.lang.extend(ContextMenu, YAHOO.widget.Menu, {



// Private properties


/**
* @property _oTrigger
* @description Object reference to the current value of the "trigger"=20
* configuration property.
* @default null
* @private
* @type String|<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/leve
* l-one-html.html#ID-58190037">HTMLElement</a>|Array
*/
_oTrigger: null,


/**
* @property _bCancelled
* @description Boolean indicating if the display of the context menu =
should=20
* be cancelled.
* @default false
* @private
* @type Boolean
*/
_bCancelled: false,



// Public properties


/**
* @property contextEventTarget
* @description Object reference for the HTML element that was the target =
of the
* "contextmenu" DOM event ("mousedown" for Opera) that triggered the =
display of=20
* the context menu.
* @default null
* @type <a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-
* html.html#ID-58190037">HTMLElement</a>
*/
contextEventTarget: null,



// Events


/**
* @event triggerContextMenuEvent
* @description Custom Event wrapper for the "contextmenu" DOM event=20
* ("mousedown" for Opera) fired by the element(s) that trigger the =
display of=20
* the context menu.
*/
triggerContextMenuEvent: null,



/**
* @method init
* @description The ContextMenu class's initialization method. This =
method is=20
* automatically called by the constructor, and sets up all DOM =
references for=20
* pre-existing markup, and creates required markup if it is not already =
present.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;div&#62;</code> element of the context menu.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;select&#62;</code> element to be used as the data source =
for=20
* the context menu.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-
* html.html#ID-22445964">HTMLDivElement</a>} p_oElement Object =
specifying the=20
* <code>&#60;div&#62;</code> element of the context menu.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-
* html.html#ID-94282980">HTMLSelectElement</a>} p_oElement Object =
specifying=20
* the <code>&#60;select&#62;</code> element to be used as the data =
source for=20
* the context menu.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the context menu. See configuration class =
documentation=20
* for more details.
*/
init: function(p_oElement, p_oConfig) {


    // Call the init of the superclass (YAHOO.widget.Menu)

    ContextMenu.superclass.init.call(this, p_oElement);


    this.beforeInitEvent.fire(ContextMenu);


    if(p_oConfig) {

        this.cfg.applyConfig(p_oConfig, true);

    }
   =20
   =20
    this.initEvent.fire(ContextMenu);
   =20
},


/**
* @method initEvents
* @description Initializes the custom events for the context menu.
*/
initEvents: function() {

	ContextMenu.superclass.initEvents.call(this);

    // Create custom events

    this.triggerContextMenuEvent =3D=20
        this.createEvent(EVENT_TYPES.TRIGGER_CONTEXT_MENU);

    this.triggerContextMenuEvent.signature =3D =
YAHOO.util.CustomEvent.LIST;

},


/**
* @method cancel
* @description Cancels the display of the context menu.
*/
cancel: function() {

    this._bCancelled =3D true;

},



// Private methods


/**
* @method _removeEventHandlers
* @description Removes all of the DOM event handlers from the HTML =
element(s)=20
* whose "context menu" event ("click" for Opera) trigger the display of=20
* the context menu.
* @private
*/
_removeEventHandlers: function() {

    var oTrigger =3D this._oTrigger;


    // Remove the event handlers from the trigger(s)

    if (oTrigger) {

        Event.removeListener(oTrigger, EVENT_TYPES.CONTEXT_MENU,=20
            this._onTriggerContextMenu);   =20
       =20
        if(YAHOO.env.ua.opera) {
       =20
            Event.removeListener(oTrigger, EVENT_TYPES.CLICK,=20
                this._onTriggerClick);
   =20
        }

    }

},



// Private event handlers



/**
* @method _onTriggerClick
* @description "click" event handler for the HTML element(s) identified =
as the=20
* "trigger" for the context menu.  Used to cancel default behaviors in =
Opera.
* @private
* @param {Event} p_oEvent Object representing the DOM event object =
passed back=20
* by the event utility (YAHOO.util.Event).
* @param {YAHOO.widget.ContextMenu} p_oMenu Object representing the =
context=20
* menu that is handling the event.
*/
_onTriggerClick: function(p_oEvent, p_oMenu) {

    if(p_oEvent.ctrlKey) {
   =20
        Event.stopEvent(p_oEvent);

    }
   =20
},


/**
* @method _onTriggerContextMenu
* @description "contextmenu" event handler ("mousedown" for Opera) for =
the HTML=20
* element(s) that trigger the display of the context menu.
* @private
* @param {Event} p_oEvent Object representing the DOM event object =
passed back=20
* by the event utility (YAHOO.util.Event).
* @param {YAHOO.widget.ContextMenu} p_oMenu Object representing the =
context=20
* menu that is handling the event.
*/
_onTriggerContextMenu: function(p_oEvent, p_oMenu) {

    if (p_oEvent.type =3D=3D "mousedown" && !p_oEvent.ctrlKey) {

        return;

    }


    var aXY;


    /*
        Prevent the browser's default context menu from appearing and=20
        stop the propagation of the "contextmenu" event so that=20
        other ContextMenu instances are not displayed.
    */

    Event.stopEvent(p_oEvent);


    this.contextEventTarget =3D Event.getTarget(p_oEvent);

    this.triggerContextMenuEvent.fire(p_oEvent);


    // Hide any other Menu instances that might be visible

    YAHOO.widget.MenuManager.hideVisible();
   =20


    if(!this._bCancelled) {

        // Position and display the context menu

        aXY =3D Event.getXY(p_oEvent);


        if (!YAHOO.util.Dom.inDocument(this.element)) {

            this.beforeShowEvent.subscribe(position, aXY);

        }
        else {

            this.cfg.setProperty("xy", aXY);
       =20
        }


        this.show();

    }

    this._bCancelled =3D false;

},



// Public methods


/**
* @method toString
* @description Returns a string representing the context menu.
* @return {String}
*/
toString: function() {

    var sReturnVal =3D "ContextMenu",
        sId =3D this.id;

    if(sId) {

        sReturnVal +=3D (" " + sId);
   =20
    }

    return sReturnVal;

},


/**
* @method initDefaultConfig
* @description Initializes the class's configurable properties which can =
be=20
* changed using the context menu's Config object ("cfg").
*/
initDefaultConfig: function() {

    ContextMenu.superclass.initDefaultConfig.call(this);

    /**
    * @config trigger
    * @description The HTML element(s) whose "contextmenu" event =
("mousedown"=20
    * for Opera) trigger the display of the context menu.  Can be a =
string=20
    * representing the id attribute of the HTML element, an object =
reference=20
    * for the HTML element, or an array of strings or HTML element =
references.
    * @default null
    * @type String|<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/
    * level-one-html.html#ID-58190037">HTMLElement</a>|Array
    */
    this.cfg.addProperty(DEFAULT_CONFIG.TRIGGER.key,=20
        {
            handler: this.configTrigger,=20
            suppressEvent: DEFAULT_CONFIG.TRIGGER.suppressEvent=20
        }
    );

},


/**
* @method destroy
* @description Removes the context menu's <code>&#60;div&#62;</code> =
element=20
* (and accompanying child nodes) from the document.
*/
destroy: function() {

    // Remove the DOM event handlers from the current trigger(s)

    this._removeEventHandlers();


    // Continue with the superclass implementation of this method

    ContextMenu.superclass.destroy.call(this);

},



// Public event handlers for configuration properties


/**
* @method configTrigger
* @description Event handler for when the value of the "trigger" =
configuration=20
* property changes.=20
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.ContextMenu} p_oMenu Object representing the =
context=20
* menu that fired the event.
*/
configTrigger: function(p_sType, p_aArgs, p_oMenu) {
   =20
    var oTrigger =3D p_aArgs[0];

    if(oTrigger) {

        /*
            If there is a current "trigger" - remove the event handlers=20
            from that element(s) before assigning new ones
        */

        if(this._oTrigger) {
       =20
            this._removeEventHandlers();

        }

        this._oTrigger =3D oTrigger;


        /*
            Listen for the "mousedown" event in Opera b/c it does not=20
            support the "contextmenu" event
        */=20
 =20
        Event.on(oTrigger, EVENT_TYPES.CONTEXT_MENU,=20
            this._onTriggerContextMenu, this, true);


        /*
            Assign a "click" event handler to the trigger element(s) for
            Opera to prevent default browser behaviors.
        */

        if(YAHOO.env.ua.opera) {
       =20
            Event.on(oTrigger, EVENT_TYPES.CLICK, this._onTriggerClick,=20
                this, true);

        }

    }
    else {
  =20
        this._removeEventHandlers();
   =20
    }
   =20
}

}); // END YAHOO.lang.extend

}());



/**
* Creates an item for a context menu.
*=20
* @param {String} p_oObject String specifying the text of the context =
menu item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-74680021">HTMLLIElement</a>} p_oObject Object =
specifying the=20
* <code>&#60;li&#62;</code> element of the context menu item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-38450247">HTMLOptGroupElement</a>} p_oObject Object=20
* specifying the <code>&#60;optgroup&#62;</code> element of the context=20
* menu item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-70901257">HTMLOptionElement</a>} p_oObject Object =
specifying=20
* the <code>&#60;option&#62;</code> element of the context menu item.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the context menu item. See configuration class=20
* documentation for more details.
* @class ContextMenuItem
* @constructor
* @extends YAHOO.widget.MenuItem
* @deprecated As of version 2.4.0 items for YAHOO.widget.ContextMenu =
instances
* are of type YAHOO.widget.MenuItem.
*/
YAHOO.widget.ContextMenuItem =3D YAHOO.widget.MenuItem;
(function () {


/**
* Horizontal collection of items, each of which can contain a submenu.
*=20
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;div&#62;</code> element of the menu bar.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;select&#62;</code> element to be used as the data source =
for the=20
* menu bar.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-22445964">HTMLDivElement</a>} p_oElement Object =
specifying=20
* the <code>&#60;div&#62;</code> element of the menu bar.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-94282980">HTMLSelectElement</a>} p_oElement Object=20
* specifying the <code>&#60;select&#62;</code> element to be used as the =
data=20
* source for the menu bar.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the menu bar. See configuration class documentation =
for
* more details.
* @class MenuBar
* @constructor
* @extends YAHOO.widget.Menu
* @namespace YAHOO.widget
*/
YAHOO.widget.MenuBar =3D function(p_oElement, p_oConfig) {

    YAHOO.widget.MenuBar.superclass.constructor.call(this,=20
        p_oElement, p_oConfig);

};


/**
* @method checkPosition
* @description Checks to make sure that the value of the "position" =
property=20
* is one of the supported strings. Returns true if the position is =
supported.
* @private
* @param {Object} p_sPosition String specifying the position of the =
menu.
* @return {Boolean}
*/
function checkPosition(p_sPosition) {

    if (typeof p_sPosition =3D=3D "string") {

        return ("dynamic,static".indexOf((p_sPosition.toLowerCase())) =
!=3D -1);

    }

}


var Event =3D YAHOO.util.Event,
    MenuBar =3D YAHOO.widget.MenuBar,

    /**
    * Constant representing the MenuBar's configuration properties
    * @property DEFAULT_CONFIG
    * @private
    * @final
    * @type Object
    */
    DEFAULT_CONFIG =3D {
   =20
        "POSITION": {=20
            key: "position",=20
            value: "static",=20
            validator: checkPosition,=20
            supercedes: ["visible"]=20
        },=20
   =20
        "SUBMENU_ALIGNMENT": {=20
            key: "submenualignment",=20
            value: ["tl","bl"],
            suppressEvent: true=20
        },
   =20
        "AUTO_SUBMENU_DISPLAY": {=20
            key: "autosubmenudisplay",=20
            value: false,=20
            validator: YAHOO.lang.isBoolean,
            suppressEvent: true
        }
   =20
    };



YAHOO.lang.extend(MenuBar, YAHOO.widget.Menu, {

/**
* @method init
* @description The MenuBar class's initialization method. This method is =

* automatically called by the constructor, and sets up all DOM =
references for=20
* pre-existing markup, and creates required markup if it is not already =
present.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;div&#62;</code> element of the menu bar.
* @param {String} p_oElement String specifying the id attribute of the=20
* <code>&#60;select&#62;</code> element to be used as the data source =
for the=20
* menu bar.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-22445964">HTMLDivElement</a>} p_oElement Object =
specifying=20
* the <code>&#60;div&#62;</code> element of the menu bar.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-94282980">HTMLSelectElement</a>} p_oElement Object=20
* specifying the <code>&#60;select&#62;</code> element to be used as the =
data=20
* source for the menu bar.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the menu bar. See configuration class documentation =
for
* more details.
*/
init: function(p_oElement, p_oConfig) {

    if(!this.ITEM_TYPE) {

        this.ITEM_TYPE =3D YAHOO.widget.MenuBarItem;

    }


    // Call the init of the superclass (YAHOO.widget.Menu)

    MenuBar.superclass.init.call(this, p_oElement);


    this.beforeInitEvent.fire(MenuBar);


    if(p_oConfig) {

        this.cfg.applyConfig(p_oConfig, true);

    }

    this.initEvent.fire(MenuBar);

},



// Constants


/**
* @property CSS_CLASS_NAME
* @description String representing the CSS class(es) to be applied to =
the menu=20
* bar's <code>&#60;div&#62;</code> element.
* @default "yuimenubar"
* @final
* @type String
*/
CSS_CLASS_NAME: "yuimenubar",



// Protected event handlers


/**
* @method _onKeyDown
* @description "keydown" Custom Event handler for the menu bar.
* @private
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.MenuBar} p_oMenuBar Object representing the menu =
bar=20
* that fired the event.
*/
_onKeyDown: function(p_sType, p_aArgs, p_oMenuBar) {

    var oEvent =3D p_aArgs[0],
        oItem =3D p_aArgs[1],
        oSubmenu,
        oItemCfg,
        oNextItem;


    if(oItem && !oItem.cfg.getProperty("disabled")) {

        oItemCfg =3D oItem.cfg;

        switch(oEvent.keyCode) {
   =20
            case 37:    // Left arrow
            case 39:    // Right arrow
   =20
                if(oItem =3D=3D this.activeItem &&=20
                    !oItemCfg.getProperty("selected")) {
   =20
                    oItemCfg.setProperty("selected", true);
   =20
                }
                else {
   =20
                    oNextItem =3D (oEvent.keyCode =3D=3D 37) ?=20
                        oItem.getPreviousEnabledSibling() :=20
                        oItem.getNextEnabledSibling();
           =20
                    if(oNextItem) {
   =20
                        this.clearActiveItem();
   =20
                        oNextItem.cfg.setProperty("selected", true);
   =20
   =20
                        if(this.cfg.getProperty("autosubmenudisplay")) {
                       =20
                            oSubmenu =3D =
oNextItem.cfg.getProperty("submenu");
                           =20
                            if(oSubmenu) {
                       =20
                                oSubmenu.show();
                           =20
                            }
               =20
                        }          =20
   =20
                        oNextItem.focus();
   =20
                    }
   =20
                }
   =20
                Event.preventDefault(oEvent);
   =20
            break;
   =20
            case 40:    // Down arrow
   =20
                if(this.activeItem !=3D oItem) {
   =20
                    this.clearActiveItem();
   =20
                    oItemCfg.setProperty("selected", true);
                    oItem.focus();
               =20
                }
   =20
                oSubmenu =3D oItemCfg.getProperty("submenu");
   =20
                if(oSubmenu) {
   =20
                    if(oSubmenu.cfg.getProperty("visible")) {
   =20
                        oSubmenu.setInitialSelection();
                        oSubmenu.setInitialFocus();
                   =20
                    }
                    else {
   =20
                        oSubmenu.show();
                   =20
                    }
   =20
                }
   =20
                Event.preventDefault(oEvent);
   =20
            break;
   =20
        }

    }


    if(oEvent.keyCode =3D=3D 27 && this.activeItem) { // Esc key

        oSubmenu =3D this.activeItem.cfg.getProperty("submenu");

        if(oSubmenu && oSubmenu.cfg.getProperty("visible")) {
       =20
            oSubmenu.hide();
            this.activeItem.focus();
       =20
        }
        else {

            this.activeItem.cfg.setProperty("selected", false);
            this.activeItem.blur();
   =20
        }

        Event.preventDefault(oEvent);
   =20
    }

},


/**
* @method _onClick
* @description "click" event handler for the menu bar.
* @protected
* @param {String} p_sType String representing the name of the event that =

* was fired.
* @param {Array} p_aArgs Array of arguments sent when the event was =
fired.
* @param {YAHOO.widget.MenuBar} p_oMenuBar Object representing the menu =
bar=20
* that fired the event.
*/
_onClick: function(p_sType, p_aArgs, p_oMenuBar) {

    MenuBar.superclass._onClick.call(this, p_sType, p_aArgs, =
p_oMenuBar);

    var oItem =3D p_aArgs[1],
        oEvent,
        oTarget,
        oActiveItem,
        oConfig,
        oSubmenu;
   =20

    if(oItem && !oItem.cfg.getProperty("disabled")) {

        oEvent =3D p_aArgs[0];
        oTarget =3D Event.getTarget(oEvent);
        oActiveItem =3D this.activeItem;
        oConfig =3D this.cfg;


        // Hide any other submenus that might be visible
   =20
        if(oActiveItem && oActiveItem !=3D oItem) {
   =20
            this.clearActiveItem();
   =20
        }

   =20
        oItem.cfg.setProperty("selected", true);
   =20

        // Show the submenu for the item
   =20
        oSubmenu =3D oItem.cfg.getProperty("submenu");


        if(oSubmenu) {
       =20
            if(oSubmenu.cfg.getProperty("visible")) {
           =20
                oSubmenu.hide();
           =20
            }
            else {
           =20
                oSubmenu.show();                   =20
           =20
            }
       =20
        }
   =20
    }

},



// Public methods


/**
* @method toString
* @description Returns a string representing the menu bar.
* @return {String}
*/
toString: function() {

    var sReturnVal =3D "MenuBar",
        sId =3D this.id;

    if(sId) {

        sReturnVal +=3D (" " + sId);
   =20
    }

    return sReturnVal;

},


/**
* @description Initializes the class's configurable properties which can =
be
* changed using the menu bar's Config object ("cfg").
* @method initDefaultConfig
*/
initDefaultConfig: function() {

    MenuBar.superclass.initDefaultConfig.call(this);

    var oConfig =3D this.cfg;

	// Add configuration properties


    /*
        Set the default value for the "position" configuration property
        to "static" by re-adding the property.
    */


    /**
    * @config position
    * @description String indicating how a menu bar should be positioned =
on the=20
    * screen.  Possible values are "static" and "dynamic."  Static menu =
bars=20
    * are visible by default and reside in the normal flow of the =
document=20
    * (CSS position: static).  Dynamic menu bars are hidden by default, =
reside
    * out of the normal flow of the document (CSS position: absolute), =
and can=20
    * overlay other elements on the screen.
    * @default static
    * @type String
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.POSITION.key,=20
        {
            handler: this.configPosition,=20
            value: DEFAULT_CONFIG.POSITION.value,=20
            validator: DEFAULT_CONFIG.POSITION.validator,
            supercedes: DEFAULT_CONFIG.POSITION.supercedes
        }
    );


    /*
        Set the default value for the "submenualignment" configuration =
property
        to ["tl","bl"] by re-adding the property.
    */

    /**
    * @config submenualignment
    * @description Array defining how submenus should be aligned to =
their=20
    * parent menu bar item. The format is: [itemCorner, submenuCorner].
    * @default ["tl","bl"]
    * @type Array
    */
    oConfig.addProperty(
        DEFAULT_CONFIG.SUBMENU_ALIGNMENT.key,=20
        {
            value: DEFAULT_CONFIG.SUBMENU_ALIGNMENT.value,
            suppressEvent: =
DEFAULT_CONFIG.SUBMENU_ALIGNMENT.suppressEvent
        }
    );


    /*
        Change the default value for the "autosubmenudisplay" =
configuration=20
        property to "false" by re-adding the property.
    */

    /**
    * @config autosubmenudisplay
    * @description Boolean indicating if submenus are automatically made =

    * visible when the user mouses over the menu bar's items.
    * @default false
    * @type Boolean
    */
	oConfig.addProperty(
	   DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.key,=20
	   {
	       value: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.value,=20
	       validator: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.validator,
	       suppressEvent: DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.suppressEvent
       }=20
    );

}
=20
}); // END YAHOO.lang.extend

}());



/**
* Creates an item for a menu bar.
*=20
* @param {String} p_oObject String specifying the text of the menu bar =
item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-74680021">HTMLLIElement</a>} p_oObject Object =
specifying the=20
* <code>&#60;li&#62;</code> element of the menu bar item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-38450247">HTMLOptGroupElement</a>} p_oObject Object=20
* specifying the <code>&#60;optgroup&#62;</code> element of the menu bar =
item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-70901257">HTMLOptionElement</a>} p_oObject Object =
specifying=20
* the <code>&#60;option&#62;</code> element of the menu bar item.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the menu bar item. See configuration class =
documentation=20
* for more details.
* @class MenuBarItem
* @constructor
* @extends YAHOO.widget.MenuItem
*/
YAHOO.widget.MenuBarItem =3D function(p_oObject, p_oConfig) {

    YAHOO.widget.MenuBarItem.superclass.constructor.call(this,=20
        p_oObject, p_oConfig);

};

YAHOO.lang.extend(YAHOO.widget.MenuBarItem, YAHOO.widget.MenuItem, {



/**
* @method init
* @description The MenuBarItem class's initialization method. This =
method is=20
* automatically called by the constructor, and sets up all DOM =
references for=20
* pre-existing markup, and creates required markup if it is not already =
present.
* @param {String} p_oObject String specifying the text of the menu bar =
item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-74680021">HTMLLIElement</a>} p_oObject Object =
specifying the=20
* <code>&#60;li&#62;</code> element of the menu bar item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-38450247">HTMLOptGroupElement</a>} p_oObject Object=20
* specifying the <code>&#60;optgroup&#62;</code> element of the menu bar =
item.
* @param {<a =
href=3D"http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
* one-html.html#ID-70901257">HTMLOptionElement</a>} p_oObject Object =
specifying=20
* the <code>&#60;option&#62;</code> element of the menu bar item.
* @param {Object} p_oConfig Optional. Object literal specifying the=20
* configuration for the menu bar item. See configuration class =
documentation=20
* for more details.
*/
init: function(p_oObject, p_oConfig) {

    if(!this.SUBMENU_TYPE) {

        this.SUBMENU_TYPE =3D YAHOO.widget.Menu;

    }


    /*=20
        Call the init of the superclass (YAHOO.widget.MenuItem)
        Note: We don't pass the user config in here yet=20
        because we only want it executed once, at the lowest=20
        subclass level.
    */=20

    YAHOO.widget.MenuBarItem.superclass.init.call(this, p_oObject); =20


    var oConfig =3D this.cfg;

    if(p_oConfig) {

        oConfig.applyConfig(p_oConfig, true);

    }

    oConfig.fireQueue();

},



// Constants


/**
* @property CSS_CLASS_NAME
* @description String representing the CSS class(es) to be applied to =
the=20
* <code>&#60;li&#62;</code> element of the menu bar item.
* @default "yuimenubaritem"
* @final
* @type String
*/
CSS_CLASS_NAME: "yuimenubaritem",


/**
* @property CSS_LABEL_CLASS_NAME
* @description String representing the CSS class(es) to be applied to =
the=20
* menu bar item's <code>&#60;a&#62;</code> element.
* @default "yuimenubaritemlabel"
* @final
* @type String
*/
CSS_LABEL_CLASS_NAME: "yuimenubaritemlabel",



// Public methods


/**
* @method toString
* @description Returns a string representing the menu bar item.
* @return {String}
*/
toString: function() {

    var sReturnVal =3D "MenuBarItem";

    if(this.cfg && this.cfg.getProperty("text")) {

        sReturnVal +=3D (": " + this.cfg.getProperty("text"));

    }

    return sReturnVal;

}
   =20
}); // END YAHOO.lang.extend
YAHOO.register("menu", YAHOO.widget.Menu, {version: "2.5.1", build: =
"984"});

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://d8.zedo.com/jsc/d8/fo.js

//  Copyright (c) 2000-2010 ZEDO Inc. All Rights Reserved.=0A=
function B2(){=0A=
var p1=3Dnavigator.userAgent.toLowerCase();var =
y6=3D(p1.indexOf('mac')!=3D-1);var d9=3DparseInt(navigator.appVersion);=0A=
var =
c5=3D(!y6&&(p1.indexOf('opera')=3D=3D-1)&&(p1.indexOf('msie')!=3D-1)&&(d9=
>=3D4)&&(p1.indexOf('webtv')=3D=3D-1)&&(p1.indexOf('msie 4')=3D=3D-1));=0A=
if(c5){=0A=
document.writeln('<scr'+'ipt language=3DVBS'+'cript>');=0A=
document.writeln('on error resume next');=0A=
document.writeln('p0=3DIsObject(CreateObject("ShockwaveFlash.ShockwaveFla=
sh.5"))');=0A=
document.writeln('if(p0<=3D0)then =
p0=3DIsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))');=0A=
document.writeln('</scr'+'ipt>');=0A=
}=0A=
else if(navigator.mimeTypes&&=0A=
navigator.mimeTypes["application/x-shockwave-flash"]&&=0A=
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){=0A=
if(navigator.plugins&&navigator.plugins["Shockwave Flash"]){=0A=
var o3=3Dnavigator.plugins["Shockwave Flash"].description;=0A=
if(parseInt(o3.substring(o3.indexOf(".")-2))>=3D4){=0A=
p0=3D1;=0A=
}}}=0A=
var t4=3Dnavigator.javaEnabled();var c0=3D1;=0A=
if(t4){c0 |=3D4;}=0A=
if(p0){c0 |=3D8;}=0A=
if(c5){=0A=
if(document.documentElement){=0A=
document.documentElement.style.behavior=3D'url(#default#clientCaps)';=0A=
if(document.documentElement.connectionType=3D=3D'lan'){=0A=
c0 |=3D16;=0A=
}}=0A=
else if(document.body){=0A=
document.body.style.behavior=3D'url(#default#clientCaps)';=0A=
if(document.body.connectionType=3D=3D'lan'){=0A=
c0 |=3D16;=0A=
}}}=0A=
return c0;=0A=
}=0A=
function F3(){=0A=
var w5=3Dnew =
Array('d1','d2','d3','d4','d5','d6','d7','d8','d9','da','db','dc','dd','d=
e','df');=0A=
return w5;=0A=
}=0A=
var d0=3D0;var v0=3D0;var z0=3D'0';var e0=3D0;var e5=3D'';var =
zd_$=3D'';var p0=3D0;var n3=3D'';var p2=3D'';var w4=3D'';var a3=3D"";var =
x6=3D'';var a7=3D'';var d1=3Dnew Array();var w0=3D'';=0A=
if(typeof zflag_nid!=3D'undefined'){=0A=
d0=3Dzflag_nid;=0A=
zflag_nid=3D0;=0A=
}=0A=
if(typeof zflag_sid!=3D'undefined'){=0A=
v0=3Dzflag_sid;=0A=
zflag_sid=3D0;=0A=
}=0A=
if(typeof zflag_cid!=3D'undefined'){=0A=
z0=3Dzflag_cid;=0A=
if(z0<0||z0>999999){=0A=
z0=3D0;=0A=
}=0A=
zflag_cid=3D0;=0A=
}=0A=
if(typeof zflag_sz!=3D'undefined'){=0A=
e0=3Dzflag_sz;=0A=
if(e0<0||e0>95){=0A=
e0=3D0;=0A=
}=0A=
zflag_sz=3D0;=0A=
}=0A=
if(typeof zflag_kw!=3D'undefined'){=0A=
zflag_kw=3Dzflag_kw.replace(/&/g,'zzazz');=0A=
e5=3Descape(zflag_kw);=0A=
zflag_kw=3D"";=0A=
}=0A=
if(typeof zflag_$!=3D'undefined'){=0A=
zd_$=3Dzflag_$;=0A=
zflag_$=3D'';=0A=
}=0A=
if(typeof zflag_geo!=3D'undefined'){=0A=
if(!isNaN(zflag_geo)){=0A=
p2=3D"&g=3D"+zflag_geo;=0A=
zflag_geo=3D0;=0A=
}}=0A=
if(typeof zflag_param!=3D'undefined'){=0A=
a3=3D"&p=3D"+zflag_param;=0A=
zflag_param=3D"";=0A=
}=0A=
if(typeof zflag_click!=3D'undefined'){=0A=
zzTrd=3Descape(zflag_click);=0A=
w4=3D'&l=3D'+zzTrd;=0A=
zflag_click=3D"";=0A=
}=0A=
if(typeof zflag_hasAd!=3D'undefined'){=0A=
x6=3D'&y=3D'+zflag_hasAd;=0A=
}=0A=
if(typeof zflag_num!=3D'undefined'){=0A=
a7=3Dzflag_num;=0A=
zflag_num=3D0;=0A=
}=0A=
if(typeof zflag_ck!=3D'undefined'){=0A=
w0=3D'&ck=3D'+zflag_ck;=0A=
zflag_ck=3D0;=0A=
}=0A=
d1=3DF3();=0A=
for(var i=3D0;i<d1.length;i++){=0A=
if(eval('typeof(zflag_'+d1[i]+')!=3D"undefined"')){=0A=
w0=3Dw0+'&'+d1[i]+'=3D'+eval('zflag_'+d1[i]);=0A=
eval('zflag_'+d1[i]+'=3D"";');=0A=
}}=0A=
var zzStr=3D'';var zzCountry=3D255;var zzMetro=3D0;var zzState=3D0;var =
zzSection=3Dv0;var zzD=3Dwindow.document;var =
zzRand=3D(Math.floor(Math.random()* 1000000)% 10000);var =
zzCustom=3D'';var zzPat=3D'';var zzSkip=3D'';=0A=
var zzExp=3D'';var zzTrd=3D'';var zzPos=3D0;var zzNw=3D0;var =
zzCh=3D0;var zzDmCodes=3Dnew Array();var zzDmValues=3Dnew Array();var =
zzBr=3D99;var zzLang=3D99;var zzAGrp=3D0;var zzAct=3Dnew Array();var =
zzActVal=3Dnew Array();=0A=
n3=3DB2();=0A=
if(n3<0||n3>31){=0A=
n3=3D1;=0A=
}=0A=
n0=3D'<scr'+'ipt language=3D"JavaScript" =
src=3D"http://d7.zedo.com/bar/v16-102/d8/jsc/fm.js?c=3D'+z0+'&f=3D'+a7+'&=
n=3D'+d0+'&r=3D'+n3+'&d=3D'+e0+'&q=3D'+e5+'&$=3D'+zd_$+'&s=3D'+v0+p2+a3+w=
4+x6+w0+'&z=3D'+Math.random()+'"></scr'+'ipt>';=0A=
document.write(n0);=0A=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://pagead2.googlesyndication.com/pagead/show_ads.js

(function(){var h=3Dtrue,i=3Dnull,j=3Dfalse,aa=3D(new =
Date).getTime(),ba=3Dfunction(a){var b=3D(new =
Date).getTime()-aa;b=3D"&dtd=3D"+(b<1E3?b:"M");return a+b};var =
k=3Dthis,ca=3Dfunction(a,b,c){a=3Da.split(".");c=3Dc||k;!(a[0]in =
c)&&c.execScript&&c.execScript("var "+a[0]);for(var =
d;a.length&&(d=3Da.shift());)if(!a.length&&b!=3D=3Dundefined)c[d]=3Db;els=
e c=3Dc[d]?c[d]:(c[d]=3D{})},l=3Dfunction(a){var b=3Dtypeof =
a;if(b=3D=3D"object")if(a){if(a instanceof Array||!(a instanceof =
Object)&&Object.prototype.toString.call(a)=3D=3D"[object Array]"||typeof =
a.length=3D=3D"number"&&typeof a.splice!=3D"undefined"&&typeof =
a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("splice"))=
return"array";=0A=
if(!(a instanceof =
Object)&&(Object.prototype.toString.call(a)=3D=3D"[object =
Function]"||typeof a.call!=3D"undefined"&&typeof =
a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("call")))r=
eturn"function"}else return"null";else if(b=3D=3D"function"&&typeof =
a.call=3D=3D"undefined")return"object";return b},m=3Dfunction(a){return =
l(a)=3D=3D"array"},da=3Dfunction(a){var b=3Dl(a);return =
b=3D=3D"array"||b=3D=3D"object"&&typeof =
a.length=3D=3D"number"},n=3Dfunction(a){return typeof =
a=3D=3D"string"},ea=3Dfunction(a){a=3Dl(a);return a=3D=3D"object"||=0A=
a=3D=3D"array"||a=3D=3D"function"},fa=3Dfunction(a){var =
b=3Dl(a);if(b=3D=3D"object"||b=3D=3D"array"){if(a.clone)return =
a.clone.call(a);b=3Db=3D=3D"array"?[]:{};for(var c in =
a)b[c]=3Dfa(a[c]);return b}return a},ga=3Dfunction(a,b){var =
c=3Db||k;if(arguments.length>2){var =
d=3DArray.prototype.slice.call(arguments,2);return function(){var =
e=3DArray.prototype.slice.call(arguments);Array.prototype.unshift.apply(e=
,d);return a.apply(c,e)}}else return function(){return =
a.apply(c,arguments)}},p=3Dfunction(a,b,c){ca(a,b,c)};var =
q=3Dfunction(a,b){a=3DparseFloat(a);return =
isNaN(a)||a>1||a<0?b:a},ha=3Dfunction(a,b){if(a=3D=3D"true")return =
h;if(a=3D=3D"false")return j;return =
b},ia=3D/^([\w-]+\.)*([\w-]{2,})(\:[0-9]+)?$/,r=3Dfunction(a,b){if(!a)ret=
urn b;return(a=3Da.match(ia))?a[0]:b};var ja=3Dfunction(){return =
r("","googleads.g.doubleclick.net")},ka=3Dfunction(){return =
r("","pagead2.googlesyndication.com")},s=3Dfunction(){return =
r("","pagead2.googlesyndication.com")};var =
t=3DArray.prototype,la=3Dt.forEach?function(a,b,c){t.forEach.call(a,b,c)}=
:function(a,b,c){for(var =
d=3Da.length,e=3Dn(a)?a.split(""):a,f=3D0;f<d;f++)f in =
e&&b.call(c,e[f],f,a)},ma=3Dfunction(){return =
t.concat.apply(t,arguments)},na=3Dfunction(a){if(m(a))return =
ma(a);else{for(var b=3D[],c=3D0,d=3Da.length;c<d;c++)b[c]=3Da[c];return =
b}};var =
u=3Dfunction(a,b){this.width=3Da;this.height=3Db};u.prototype.clone=3Dfun=
ction(){return new =
u(this.width,this.height)};u.prototype.ceil=3Dfunction(){this.width=3DMat=
h.ceil(this.width);this.height=3DMath.ceil(this.height);return =
this};u.prototype.floor=3Dfunction(){this.width=3DMath.floor(this.width);=
this.height=3DMath.floor(this.height);return =
this};u.prototype.round=3Dfunction(){this.width=3DMath.round(this.width);=
this.height=3DMath.round(this.height);return this};=0A=
u.prototype.scale=3Dfunction(a){this.width*=3Da;this.height*=3Da;return =
this};var oa=3Dfunction(a,b,c){for(var d in a)b.call(c,a[d],d,a)};var =
ua=3Dfunction(a,b){if(b)return =
a.replace(pa,"&amp;").replace(qa,"&lt;").replace(ra,"&gt;").replace(sa,"&=
quot;");else{if(!ta.test(a))return =
a;if(a.indexOf("&")!=3D-1)a=3Da.replace(pa,"&amp;");if(a.indexOf("<")!=3D=
-1)a=3Da.replace(qa,"&lt;");if(a.indexOf(">")!=3D-1)a=3Da.replace(ra,"&gt=
;");if(a.indexOf('"')!=3D-1)a=3Da.replace(sa,"&quot;");return =
a}},pa=3D/&/g,qa=3D/</g,ra=3D/>/g,sa=3D/\"/g,ta=3D/[&<>\"]/,xa=3Dfunction=
(a){if(a.indexOf("&")!=3D-1)return"document"in =
k&&a.indexOf("<")=3D=3D-1?va(a):wa(a);return a},va=3Dfunction(a){var b=3D=0A=
k.document.createElement("a");b.innerHTML=3Da;b.normalize&&b.normalize();=
a=3Db.firstChild.nodeValue;b.innerHTML=3D"";return =
a},wa=3Dfunction(a){return =
a.replace(/&([^;]+);/g,function(b,c){switch(c){case "amp":return"&";case =
"lt":return"<";case "gt":return">";case =
"quot":return'"';default:if(c.charAt(0)=3D=3D"#"){c=3DNumber("0"+c.substr=
(1));if(!isNaN(c))return String.fromCharCode(c)}return =
b}})},ya=3Dfunction(a,b){for(var c=3Db.length,d=3D0;d<c;d++){var =
e=3Dc=3D=3D1?b:b.charAt(d);if(a.charAt(0)=3D=3De&&a.charAt(a.length-1)=3D=
=3De)return a.substring(1,=0A=
a.length-1)}return a},Aa=3Dfunction(a,b){var =
c=3D0;a=3DString(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split(".");b=3DS=
tring(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split(".");for(var =
d=3DMath.max(a.length,b.length),e=3D0;c=3D=3D0&&e<d;e++){var =
f=3Da[e]||"",g=3Db[e]||"",o=3Dnew RegExp("(\\d*)(\\D*)","g"),C=3Dnew =
RegExp("(\\d*)(\\D*)","g");do{var =
J=3Do.exec(f)||["","",""],K=3DC.exec(g)||["","",""];if(J[0].length=3D=3D0=
&&K[0].length=3D=3D0)break;c=3DJ[1].length=3D=3D0?0:parseInt(J[1],10);var=
 Cb=3DK[1].length=3D=3D0?0:parseInt(K[1],10);c=3Dza(c,Cb)||=0A=
za(J[2].length=3D=3D0,K[2].length=3D=3D0)||za(J[2],K[2])}while(c=3D=3D0)}=
return c},za=3Dfunction(a,b){if(a<b)return-1;else if(a>b)return 1;return =
0};var v,Ba,w,Ca,Da,Ea,Fa,Ga,Ha,Ia=3Dfunction(){return =
k.navigator?k.navigator.userAgent:i},x=3Dfunction(){return =
k.navigator},Ja=3Dfunction(){Da=3DCa=3Dw=3DBa=3Dv=3Dj;var =
a;if(a=3DIa()){var =
b=3Dx();v=3Da.indexOf("Opera")=3D=3D0;Ba=3D!v&&a.indexOf("MSIE")!=3D-1;Ca=
=3D(w=3D!v&&a.indexOf("WebKit")!=3D-1)&&a.indexOf("Mobile")!=3D-1;Da=3D!v=
&&!w&&b.product=3D=3D"Gecko"}};Ja();=0A=
var y=3Dv,z=3DBa,Ka=3DDa,La=3Dw,Ma=3DCa,Na=3Dfunction(){var =
a=3Dx();return =
a&&a.platform||""},Oa=3DNa(),Pa=3Dfunction(){Ea=3DOa.indexOf("Mac")!=3D-1=
;Fa=3DOa.indexOf("Win")!=3D-1;Ga=3DOa.indexOf("Linux")!=3D-1;Ha=3D!!x()&&=
(x().appVersion||"").indexOf("X11")!=3D-1};Pa();=0A=
var Qa=3DEa,Ra=3DFa,Sa=3DGa,Ta=3Dfunction(){var =
a=3D"",b;if(y&&k.opera){a=3Dk.opera.version;a=3Dtypeof =
a=3D=3D"function"?a():a}else{if(Ka)b=3D/rv\:([^\);]+)(\)|;)/;else =
if(z)b=3D/MSIE\s+([^\);]+)(\)|;)/;else =
if(La)b=3D/WebKit\/(\S+)/;if(b)a=3D(a=3Db.exec(Ia()))?a[1]:""}return =
a},Ua=3DTa(),Va=3D{},A=3Dfunction(a){return =
Va[a]||(Va[a]=3DAa(Ua,a)>=3D0)};var Wa=3Dfunction(a){return =
n(a)?document.getElementById(a):a},Xa=3DWa,Za=3Dfunction(a,b){oa(b,functi=
on(c,d){if(d=3D=3D"style")a.style.cssText=3Dc;else =
if(d=3D=3D"class")a.className=3Dc;else =
if(d=3D=3D"for")a.htmlFor=3Dc;else if(d in =
Ya)a.setAttribute(Ya[d],c);else =
a[d]=3Dc})},Ya=3D{cellpadding:"cellPadding",cellspacing:"cellSpacing",col=
span:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"w=
idth",usemap:"useMap",frameborder:"frameBorder",type:"type"},$a=3Dfunctio=
n(a){var b=3Da.document;if(La&&!A("500")&&!Ma){if(typeof =
a.innerHeight=3D=3D=0A=
"undefined")a=3Dwindow;b=3Da.innerHeight;var =
c=3Da.document.documentElement.scrollHeight;if(a=3D=3Da.top)if(c<b)b-=3D1=
5;return new =
u(a.innerWidth,b)}a=3Db.compatMode=3D=3D"CSS1Compat"&&(!y||y&&A("9.50"))?=
b.documentElement:b.body;return new =
u(a.clientWidth,a.clientHeight)},bb=3Dfunction(){return =
ab(document,arguments)},ab=3Dfunction(a,b){var =
c=3Db[0],d=3Db[1];if(z&&d&&(d.name||d.type)){c=3D["<",c];d.name&&c.push('=
 name=3D"',ua(d.name),'"');if(d.type){c.push(' =
type=3D"',ua(d.type),'"');d=3Dfa(d);delete =
d.type}c.push(">");c=3Dc.join("")}var e=3D=0A=
a.createElement(c);if(d)if(n(d))e.className=3Dd;else =
Za(e,d);if(b.length>2){d=3Dfunction(g){if(g)e.appendChild(n(g)?a.createTe=
xtNode(g):g)};for(c=3D2;c<b.length;c++){var =
f=3Db[c];da(f)&&!(ea(f)&&f.nodeType>0)?la(cb(f)?na(f):f,d):d(f)}}return =
e},db=3Dfunction(a,b){a.appendChild(b)},cb=3Dfunction(a){if(a&&typeof =
a.length=3D=3D"number")if(ea(a))return typeof =
a.item=3D=3D"function"||typeof a.item=3D=3D"string";else =
if(l(a)=3D=3D"function")return typeof a.item=3D=3D"function";return =
j};var eb=3Ddocument,B=3Dwindow;s();var D=3Dfunction(a,b){for(var c in =
a)Object.prototype.hasOwnProperty.call(a,c)&&b.call(i,a[c],c,a)},gb=3Dfun=
ction(a,b){if(!a||!ea(a))return =
h;return!fb(a,b.prototype)},fb=3Dfunction(a,b){if(!a)return j;var =
c=3Dh;D(b,function(d,e){if(!c||!(e in a)||typeof d!=3Dtypeof =
a[e])c=3Dj});return c},hb=3Dfunction(a){if(arguments.length<2)return =
a.length;for(var =
b=3D1,c=3Darguments.length;b<c;++b)a.push(arguments[b]);return a.length};=0A=
function E(a){return typeof =
encodeURIComponent=3D=3D"function"?encodeURIComponent(a):escape(a)}functi=
on ib(a,b,c){var =
d=3Ddocument.createElement("script");d.type=3D"text/javascript";if(b)d.on=
load=3Db;if(c)d.id=3Dc;d.src=3Da;var =
e=3Ddocument.getElementsByTagName("head")[0];if(!e)return =
j;window.setTimeout(function(){e.appendChild(d)},0);return h}function =
jb(a,b){if(a.attachEvent){a.attachEvent("onload",b);return =
h}if(a.addEventListener){a.addEventListener("load",b,j);return h}return =
j}=0A=
function =
kb(a,b){a.google_image_requests||(a.google_image_requests=3D[]);var =
c=3Dnew Image;c.src=3Db;a.google_image_requests.push(c)}function =
lb(a){if(a in mb)return mb[a];return =
mb[a]=3Dnavigator.userAgent.toLowerCase().indexOf(a)!=3D-1}var mb=3D{};=0A=
function nb(){if(navigator.plugins&&navigator.mimeTypes.length){var =
a=3Dnavigator.plugins["Shockwave Flash"];if(a&&a.description)return =
a.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s)+r/,".")}else =
if(navigator.userAgent&&navigator.userAgent.indexOf("Windows =
CE")>=3D0){a=3D3;for(var b=3D1;b;)try{b=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+(a+1));a++}catch(c){b=3Di}=
return a.toString()}else if(lb("msie")&&!window.opera){b=3Di;try{b=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(d){a=3D=0A=
0;try{b=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");a=3D6;b.AllowScriptAcces=
s=3D"always"}catch(e){if(a=3D=3D6)return a.toString()}try{b=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(f){}}if(b){a=3Db.Get=
Variable("$version").split(" ")[1];return =
a.replace(/,/g,".")}}return"0"}function F(a){var =
b=3Da.google_ad_format;if(b)return b.indexOf("_0ads")>0;return =
a.google_ad_output!=3D"html"&&a.google_num_radlinks>0}function =
G(a){return!!a&&a.indexOf("_sdo")!=3D-1}=0A=
function H(a,b){if(!(Math.random()<1.0E-4)){var =
c=3DMath.random();if(c<b){b=3DMath.floor(c/b*a.length);return =
a[b]}}return""}=0A=
var ob=3Dfunction(a){a.u_tz=3D-(new =
Date).getTimezoneOffset();a.u_his=3Dwindow.history.length;a.u_java=3Dnavi=
gator.javaEnabled();if(window.screen){a.u_h=3Dwindow.screen.height;a.u_w=3D=
window.screen.width;a.u_ah=3Dwindow.screen.availHeight;a.u_aw=3Dwindow.sc=
reen.availWidth;a.u_cd=3Dwindow.screen.colorDepth}if(navigator.plugins)a.=
u_nplug=3Dnavigator.plugins.length;if(navigator.mimeTypes)a.u_nmime=3Dnav=
igator.mimeTypes.length},pb=3Dfunction(a){var =
b=3DB;if(a&&b.top!=3Db)b=3Db.top;try{return =
b.document&&!b.document.body?new u(-1,=0A=
-1):$a(b||window)}catch(c){return new =
u(-12245933,-12245933)}},qb=3Dfunction(a,b){var =
c=3Da.length;if(c=3D=3D0)return 0;b=3Db||305419896;for(var =
d=3D0;d<c;d++){var =
e=3Da.charCodeAt(d);b^=3D(b<<5)+(b>>2)+e&4294967295}return =
b},rb=3Dfunction(a){if(a=3D=3Da.top)return 0;var =
b=3D[];b.push(document.URL);a.name&&b.push(a.name);a=3Dh;a=3Dpb(!a);b.pus=
h(a.width.toString());b.push(a.height.toString());b=3Dqb(b.join(""));retu=
rn b>0?b:4294967296+b};var =
sb=3D{google_ad_channel:"channel",google_ad_host:"host",google_ad_host_ch=
annel:"h_ch",google_ad_host_tier_id:"ht_id",google_ad_section:"region",go=
ogle_ad_type:"ad_type",google_adtest:"adtest",google_allow_expandable_ads=
:"ea",google_alternate_ad_url:"alternate_ad_url",google_alternate_color:"=
alt_color",google_bid:"bid",google_city:"gcs",google_color_bg:"color_bg",=
google_color_border:"color_border",google_color_line:"color_line",google_=
color_link:"color_link",google_color_text:"color_text",google_color_url:"=
color_url",=0A=
google_contents:"contents",google_country:"gl",google_cpm:"cpm",google_cu=
st_age:"cust_age",google_cust_ch:"cust_ch",google_cust_gender:"cust_gende=
r",google_cust_id:"cust_id",google_cust_interests:"cust_interests",google=
_cust_job:"cust_job",google_cust_l:"cust_l",google_cust_lh:"cust_lh",goog=
le_cust_u_url:"cust_u_url",google_disable_video_autoplay:"disable_video_a=
utoplay",google_ed:"ed",google_encoding:"oe",google_feedback:"feedback_li=
nk",google_flash_version:"flash",google_font_face:"f",google_font_size:"f=
s",=0A=
google_hints:"hints",google_kw:"kw",google_kw_type:"kw_type",google_langu=
age:"hl",google_page_url:"url",google_region:"gr",google_reuse_colors:"re=
use_colors",google_safe:"adsafe",google_tag_info:"gut",google_targeting:"=
targeting",google_ui_features:"ui",google_ui_version:"uiv",google_video_d=
oc_id:"video_doc_id",google_video_product_type:"video_product_type"},tb=3D=
{google_ad_client:"client",google_ad_format:"format",google_ad_output:"ou=
tput",google_ad_callback:"callback",google_ad_height:"h",google_ad_overri=
de:"google_ad_override",=0A=
google_ad_slot:"slotname",google_ad_width:"w",google_ctr_threshold:"ctr_t=
",google_image_size:"image_size",google_last_modified_time:"lmt",google_m=
ax_num_ads:"num_ads",google_max_radlink_len:"max_radlink_len",google_num_=
radlinks:"num_radlinks",google_num_radlinks_per_unit:"num_radlinks_per_un=
it",google_only_ads_with_video:"only_ads_with_video",google_rl_dest_url:"=
rl_dest_url",google_rl_filtering:"rl_filtering",google_rl_mode:"rl_mode",=
google_rt:"rt",google_skip:"skip"},ub=3D{google_only_pyv_ads:"pyv",=0A=
google_with_pyv_ads:"withpyv"};function vb(a,b){try{return =
a.top.document.URL=3D=3Db.URL}catch(c){}return j}function =
wb(a,b,c,d){c=3Dc||a.google_ad_width;d=3Dd||a.google_ad_height;if(vb(a,b)=
)return j;var e=3Db.documentElement;if(c&&d){var =
f=3D1,g=3D1;if(a.innerHeight){f=3Da.innerWidth;g=3Da.innerHeight}else =
if(e&&e.clientHeight){f=3De.clientWidth;g=3De.clientHeight}else =
if(b.body){f=3Db.body.clientWidth;g=3Db.body.clientHeight}if(g>2*d||f>2*c=
)return j}return h}function =
xb(a,b){D(b,function(c,d){a["google_"+d]=3Dc})}=0A=
function yb(a,b){if(!b)return a.URL;return a.referrer}function =
zb(a,b){if(!b&&a.google_referrer_url=3D=3Di)return"0";else =
if(b&&a.google_referrer_url=3D=3Di)return"1";else =
if(!b&&a.google_referrer_url!=3Di)return"2";else =
if(b&&a.google_referrer_url!=3Di)return"3";return"4"}function =
Ab(a,b,c,d){a.page_url=3Dyb(c,d);a.page_location=3Di}function =
Bb(a,b,c,d){a.page_url=3Db.google_page_url;a.page_location=3Dyb(c,d)||"EM=
PTY"}=0A=
function Db(a,b){var =
c=3D{},d=3Dwb(a,b,a.google_ad_width,a.google_ad_height);c.iframing=3Dzb(a=
,d);a.google_page_url?Bb(c,a,b,d):Ab(c,a,b,d);c.last_modified_time=3Db.UR=
L=3D=3Dc.page_url?Date.parse(b.lastModified)/1E3:i;c.referrer_url=3Dd?a.g=
oogle_referrer_url:a.google_page_url&&a.google_referrer_url?a.google_refe=
rrer_url:b.referrer;return c}function Eb(a){var =
b=3D{},c=3Da.URL.substring(a.URL.lastIndexOf("http"));b.iframing=3Di;b.pa=
ge_url=3Dc;b.page_location=3Da.URL;b.last_modified_time=3Di;b.referrer_ur=
l=3Dc;return b}=0A=
function Fb(a,b){b=3DGb(a,b);xb(a,b)}function Gb(a,b){return =
a=3Da.google_page_url=3D=3Di&&Hb[b.domain]?Eb(b):Db(a,b)}var =
Hb=3D{};Hb["ad.yieldmanager.com"]=3Dh;var =
Ib=3Dq("0",0),Jb=3Dq("1",0),Kb=3Dq("0.01",0),Lb=3Dq("0.01",0),Mb=3Dq("0.0=
08",0),Nb=3Dq("0.01",0),Ob=3Dq("0",0);var =
Pb=3Dha("false",j),Qb=3Dha("false",j),Rb=3Dha("false",j);var =
Sb=3Dfunction(a,b,c){b=3Dga(b,k,a);a=3Dwindow.onerror;window.onerror=3Db;=
try{c()}catch(d){c=3Dd.toString();var =
e=3D"";if(d.fileName)e=3Dd.fileName;var =
f=3D-1;if(d.lineNumber)f=3Dd.lineNumber;b=3Db(c,e,f);if(!b)throw =
d;}window.onerror=3Da};p("google_protectAndRun",Sb);=0A=
var Ub=3Dfunction(a,b,c,d){if(Math.random()<0.01){var =
e=3Deb;a=3D["http://",ka(),"/pagead/gen_204","?id=3Djserror","&jscb=3D",P=
b?1:0,"&jscd=3D",Qb?1:0,"&context=3D",E(a),"&msg=3D",E(b),"&file=3D",E(c)=
,"&line=3D",E(d.toString()),"&url=3D",E(e.URL.substring(0,512)),"&ref=3D"=
,E(e.referrer.substring(0,512))];a.push(Tb());kb(B,a.join(""))}return!Rb}=
;p("google_handleError",Ub);=0A=
var Wb=3Dfunction(a){Vb|=3Da},Vb=3D0,Tb=3Dfunction(){var =
a=3D["&client=3D",E(B.google_ad_client),"&format=3D",E(B.google_ad_format=
),"&slotname=3D",E(B.google_ad_slot),"&output=3D",E(B.google_ad_output),"=
&ad_type=3D",E(B.google_ad_type)];return a.join("")};var =
Xb=3D"",$b=3Dfunction(){if(window.google_ad_frameborder=3D=3Di)window.goo=
gle_ad_frameborder=3D0;if(window.google_ad_output=3D=3Di)window.google_ad=
_output=3D"html";if(G(window.google_ad_format)){var =
a=3Dwindow.google_ad_format.match(/^(\d+)x(\d+)_.*/);if(a){window.google_=
ad_width=3DparseInt(a[1],10);window.google_ad_height=3DparseInt(a[2],10);=
window.google_ad_output=3D"html"}}window.google_ad_format=3DYb(window.goo=
gle_ad_format,window.google_ad_output,window.google_ad_width,window.googl=
e_ad_height,window.google_ad_slot,=0A=
!!window.google_override_format);Xb=3Dwindow.google_ad_client||"";window.=
google_ad_client=3DZb(window.google_ad_format,window.google_ad_client);Fb=
(window,document);if(window.google_flash_version=3D=3Di)window.google_fla=
sh_version=3Dnb();window.google_ad_section=3Dwindow.google_ad_section||wi=
ndow.google_ad_region||"";window.google_country=3Dwindow.google_country||=
window.google_gl||"";a=3D(new =
Date).getTime();if(m(window.google_color_bg))window.google_color_bg=3DI(w=
indow.google_color_bg,a);if(m(window.google_color_text))window.google_col=
or_text=3D=0A=
I(window.google_color_text,a);if(m(window.google_color_link))window.googl=
e_color_link=3DI(window.google_color_link,a);if(m(window.google_color_url=
))window.google_color_url=3DI(window.google_color_url,a);if(m(window.goog=
le_color_border))window.google_color_border=3DI(window.google_color_borde=
r,a);if(m(window.google_color_line))window.google_color_line=3DI(window.g=
oogle_color_line,a)},ac=3Dfunction(a){D(sb,function(b,c){a[c]=3Di});D(tb,=
function(b,c){a[c]=3Di});D(ub,function(b,c){a[c]=3Di});a.google_container=
_id=3Di;=0A=
a.google_eids=3Di;a.google_page_location=3Di;a.google_referrer_url=3Di;a.=
google_ad_region=3Di;a.google_gl=3Di},I=3Dfunction(a,b){Wb(2);return =
a[b%a.length]},Zb=3Dfunction(a,b){if(!b)return"";b=3Db.toLowerCase();retu=
rn =
b=3DG(a)?bc(b):cc(b)},cc=3Dfunction(a){if(a&&a.substring(0,3)!=3D"ca-")a=3D=
"ca-"+a;return =
a},bc=3Dfunction(a){if(a&&a.substring(0,7)!=3D"ca-aff-")a=3D"ca-aff-"+a;r=
eturn =
a},Yb=3Dfunction(a,b,c,d,e,f){if(!a&&b=3D=3D"html")a=3Dc+"x"+d;return =
a=3Ddc(a,e,f)?a.toLowerCase():""},dc=3Dfunction(a,b,c){if(!a)return =
j;if(!b)return h;return c};var L=3Ddocument,M=3Dnavigator,N=3Dwindow;=0A=
function ec(){var a=3DL.cookie,b=3DMath.round((new =
Date).getTime()/1E3),c=3DN.google_analytics_domain_name;c=3Dtypeof =
c=3D=3D"undefined"?fc("auto"):fc(c);var =
d=3Da.indexOf("__utma=3D"+c+".")>-1,e=3Da.indexOf("__utmb=3D"+c)>-1,f=3Da=
.indexOf("__utmc=3D"+c)>-1,g=3D{},o=3D!!N&&!!N.gaGlobal;if(d){a=3Da.split=
("__utma=3D"+c+".")[1].split(";")[0].split(".");g.sid=3De&&f?a[3]+"":o&&N=
.gaGlobal.sid?N.gaGlobal.sid:b+"";g.vid=3Da[0]+"."+a[1];g.from_cookie=3Dh=
}else{g.sid=3Do&&N.gaGlobal.sid?N.gaGlobal.sid:b+"";g.vid=3Do&&N.gaGlobal=
.vid?N.gaGlobal.vid:=0A=
(Math.round(Math.random()*2147483647)^gc()&2147483647)+"."+b;g.from_cooki=
e=3Dj}g.dh=3Dc;g.hid=3Do&&N.gaGlobal.hid?N.gaGlobal.hid:Math.round(Math.r=
andom()*2147483647);return N.gaGlobal=3Dg}=0A=
function gc(){var =
a=3DL.cookie?L.cookie:"",b=3DN.history.length,c,d=3D[M.appName,M.version,=
M.language?M.language:M.browserLanguage,M.platform,M.userAgent,M.javaEnab=
led()?1:0].join("");if(N.screen)d+=3DN.screen.width+"x"+N.screen.height+N=
.screen.colorDepth;else =
if(N.java){c=3Djava.awt.Toolkit.getDefaultToolkit().getScreenSize();d+=3D=
c.screen.width+"x"+c.screen.height}d+=3Da;d+=3DL.referrer?L.referrer:"";f=
or(a=3Dd.length;b>0;)d+=3Db--^a++;return hc(d)}=0A=
function hc(a){var =
b=3D1,c=3D0,d;if(!(a=3D=3Dundefined||a=3D=3D"")){b=3D0;for(d=3Da.length-1=
;d>=3D0;d--){c=3Da.charCodeAt(d);b=3D(b<<6&268435455)+c+(c<<14);c=3Db&266=
338304;b=3Dc!=3D0?b^c>>21:b}}return b}function =
fc(a){if(!a||a=3D=3D""||a=3D=3D"none")return =
1;if("auto"=3D=3Da){a=3DL.domain;if("www."=3D=3Da.substring(0,4))a=3Da.su=
bstring(4,a.length)}return hc(a.toLowerCase())};var =
ic,jc,kc,lc,mc,nc,oc,pc=3Dfunction(){oc=3Dnc=3Dmc=3Dlc=3Dkc=3Djc=3Dic=3Dj=
;var a=3DIa();if(a)if(a.indexOf("Firefox")!=3D-1)ic=3Dh;else =
if(a.indexOf("Camino")!=3D-1)jc=3Dh;else =
if(a.indexOf("iPhone")!=3D-1||a.indexOf("iPod")!=3D-1)kc=3Dh;else =
if(a.indexOf("iPad")!=3D-1)lc=3Dh;else =
if(a.indexOf("Android")!=3D-1)mc=3Dh;else =
if(a.indexOf("Chrome")!=3D-1)nc=3Dh;else =
if(a.indexOf("Safari")!=3D-1)oc=3Dh};pc();var qc=3Dfunction(a){var =
b=3D"google_test";try{var =
c=3Da[b];a[b]=3D!c;if(a[b]=3D=3D=3D!c){a[b]=3Dc;return =
h}}catch(d){}return =
j},rc=3Dfunction(a){for(;a!=3Da.parent&&qc(a.parent);)a=3Da.parent;return=
 =
a},O=3Di,sc=3Dfunction(){if(!O){O=3Drc(window);O!=3Dwindow&&Wb(4)}return =
O};var P=3Dfunction(){this.defaultBucket=3D[];this.layers=3D{};for(var =
a=3D0,b=3Darguments.length;a<b;++a)this.layers[arguments[a]]=3D""},tc=3Df=
unction(a){for(var b=3Dnew =
P,c=3D0,d=3Da.defaultBucket.length;c<d;++c)b.defaultBucket.push(a.default=
Bucket[c]);D(a.layers,ga(P.prototype.f,b));return =
b};P.prototype.f=3Dfunction(a,b){this.layers[b]=3Da};P.prototype.A=3Dfunc=
tion(a,b){if(a=3D=3D"")return"";if(!b){this.defaultBucket.push(a);return =
a}if(this.layers.hasOwnProperty(b))return this.layers[b]=3Da;return""};=0A=
P.prototype.d=3Dfunction(a,b,c){if(!(Math.random()<1.0E-4)&&this.q(c)){va=
r =
d=3DMath.random();if(d<b){b=3DMath.floor(a.length*d/b);if(a=3Da[b])return=
 this.A(a,c)}}return""};P.prototype.q=3Dfunction(a){if(!a)return =
h;return =
this.layers.hasOwnProperty(a)&&this.layers[a]=3D=3D""};P.prototype.g=3Dfu=
nction(a){if(this.layers.hasOwnProperty(a))return =
this.layers[a];return""};=0A=
P.prototype.p=3Dfunction(){var =
a=3D[],b=3Dfunction(c){c!=3D""&&a.push(c)};D(this.layers,b);if(this.defau=
ltBucket.length>0&&a.length>0)return =
this.defaultBucket.join(",")+","+a.join(",");return =
this.defaultBucket.join(",")+a.join(",")};var =
vc=3Dfunction(a){this.a=3Dthis.S=3Da;uc(this)},Q,R=3Dfunction(){if(Q)retu=
rn Q;var a=3Dwindow.google_persistent_state;if(typeof =
a!=3D"object"||typeof a.S!=3D"object"){a=3Dwindow;return =
window.google_persistent_state=3DQ=3Dnew vc(a)}return =
Q=3Dwindow.google_persistent_state},uc=3Dfunction(a){S(a,1,j);S(a,2,j);S(=
a,3,i);S(a,4,0);S(a,5,0);S(a,6,0);S(a,7,(new =
Date).getTime());S(a,8,{});S(a,9,{});S(a,10,{});S(a,11,[]);S(a,13,0);S(a,=
12,0)},wc=3Dfunction(a){switch(a){case =
1:return"google_new_domain_enabled";case =
2:return"google_new_domain_checked";=0A=
case 3:return"google_exp_persistent";case =
4:return"google_num_sdo_slots";case 5:return"google_num_0ad_slots";case =
6:return"google_num_ad_slots";case 7:return"google_correlator";case =
8:return"google_prev_ad_formats_by_region";case =
9:return"google_prev_ad_slotnames_by_region";case =
10:return"google_num_slots_by_channel";case =
11:return"google_viewed_host_channels";case =
12:return"google_num_slot_to_show";case =
13:return"google_unique_id"}},T=3Dfunction(a,b){b=3Dwc(b);return =
a=3Da.S[b]},U=3Dfunction(a,b,c){return a.S[wc(b)]=3D=0A=
c},S=3Dfunction(a,b,c){a=3Da.S;b=3Dwc(b);if(a[b]=3D=3D=3Dundefined)return=
 a[b]=3Dc;return a[b]},xc=3Dfunction(a){if(T(a,1))return h;return =
U(a,1,!!window.google_new_domain_enabled)},yc=3Dfunction(a,b){return =
U(a,3,b)};var V,zc,W=3Dfunction(){if(V)return V;var =
a=3DR(),b=3DT(a,3);if(gb(b,P))return V=3Dyc(a,new P(1,2));return =
V=3Db},Ac=3Dfunction(){zc||(zc=3Dtc(W()));return zc};var =
Bc=3D{google:1,googlegroups:1,gmail:1,googlemail:1,googleimages:1,googlep=
rint:1};function =
Cc(a){a=3Da.google_page_location||a.google_page_url;if(!a)return =
j;a=3Da.toString();if(a.indexOf("http://")=3D=3D0)a=3Da.substring(7,a.len=
gth);else =
if(a.indexOf("https://")=3D=3D0)a=3Da.substring(8,a.length);var =
b=3Da.indexOf("/");if(b=3D=3D-1)b=3Da.length;a=3Da.substring(0,b);a=3Da.s=
plit(".");b=3Dj;if(a.length>=3D3)b=3Da[a.length-3]in =
Bc;if(a.length>=3D2)b=3Db||a[a.length-2]in Bc;return b}=0A=
function Dc(a,b,c){var =
d=3DR();if(Cc(a))return!U(d,2,h);if(!T(d,2)){a=3DMath.random();if(a<=3Dc)=
{c=3D"http://"+ja()+"/pagead/test_domain.js";a=3D"script";b.write("<"+a+'=
 src=3D"'+c+'"></'+a+">");return U(d,2,h)}}return j}var =
Ec=3Dfunction(a){var b=3DW();if(b.g(1)=3D=3D"44901216")return =
1=3D=3DMath.floor(a/2)%2;return j};function Fc(a){var =
b=3DR();if(!Cc(a)&&xc(b))return =
Ec(T(b,13))?"http://"+r("","googleads2.g.doubleclick.net"):"http://"+ja()=
;return"http://"+ka()};var =
X=3Dfunction(a){this.B=3Da;this.j=3D[];this.i=3D0;this.b=3D[];this.u=3D0;=
this.c=3D[];this.s=3Dj;this.k=3Dthis.l=3D"";this.r=3Dj};X.prototype.w=3Df=
unction(a,b){var =
c=3Dthis.B[b],d=3Dthis.j;this.B[b]=3Dfunction(e){if(e&&e.length>0){var =
f=3De.length>1?e[1].url:i;d.push([a,xa(e[0].url),f])}c(e)}};X.prototype.v=
=3Dfunction(){this.i++};X.prototype.z=3Dfunction(a){this.b.push(a)};var =
Gc=3D"http://"+s()+"/pagead/osd.js";X.prototype.t=3Dfunction(){if(!this.s=
){jb(B,Hc);ib(Gc);this.s=3Dh}};=0A=
X.prototype.m=3Dfunction(a){if(this.i>0)for(var =
b=3Ddocument.getElementsByTagName("iframe"),c=3Dthis.r?"google_ads_iframe=
_":"google_ads_frame",d=3D0;d<b.length;d++){var =
e=3Db.item(d);e.src&&e.name&&e.name.indexOf(c)=3D=3D0&&a(e,e.src)}};=0A=
X.prototype.n=3Dfunction(a){var b=3Dthis.j;if(b.length>0)for(var =
c=3Ddocument.getElementsByTagName("a"),d=3D0;d<c.length;d++)for(var =
e=3D0;e<b.length;e++)if(c.item(d).href=3D=3Db[e][1]){var =
f=3Dc.item(d).parentNode;if(b[e][2])for(var =
g=3Df,o=3D0;o<4;o++){if(g.innerHTML.indexOf(b[e][2])>0){f=3Dg;break}g=3Dg=
.parentNode}a(f,b[e][0]);b.splice(e,1);break}};X.prototype.o=3Dfunction(a=
){for(var b=3D0;b<this.b.length;b++){var =
c=3Dthis.b[b],d=3DIc(c);if(d)(d=3Ddocument.getElementById("google_ads_div=
_"+d))&&a(d,c)}};=0A=
X.prototype.e=3Dfunction(a){this.n(a);this.o(a);this.m(a)};X.prototype.se=
tupOsd=3Dfunction(a,b,c){this.u=3Da;this.l=3Db;this.k=3Dc};X.prototype.ge=
tOsdMode=3Dfunction(){return =
this.u};X.prototype.getEid=3Dfunction(){return =
this.l};X.prototype.getCorrelator=3Dfunction(){return =
this.k};X.prototype.h=3Dfunction(){return =
this.j.length+this.i+this.b.length};X.prototype.setValidOutputTypes=3Dfun=
ction(a){this.c=3Da};=0A=
X.prototype.registerAdBlockByType=3Dfunction(a,b,c){if(this.c.length>0){f=
or(var =
d=3D0;d<this.c.length;d++)if(this.c[d]=3D=3Da){this.r=3Dc;if(a=3D=3D"js")=
this.w(b,"google_ad_request_done");else if(a=3D=3D"html")this.v();else =
a=3D=3D"json_html"&&this.z(b)}this.t()}};var =
Ic=3Dfunction(a){if((a=3Da.match(/[&\?](?:slotname)=3D([^&]+)/))&&a.lengt=
h=3D=3D2)return =
a[1];return""},Hc=3Dfunction(){B.google_osd_page_loaded=3Dh},Jc=3Dfunctio=
n(){window.__google_ad_urls||(window.__google_ad_urls=3Dnew =
X(window));return window.__google_ad_urls};=0A=
p("Goog_AdSense_getAdAdapterInstance",Jc);p("Goog_AdSense_OsdAdapter",X);=
p("Goog_AdSense_OsdAdapter.prototype.numBlocks",X.prototype.h);p("Goog_Ad=
Sense_OsdAdapter.prototype.findBlocks",X.prototype.e);p("Goog_AdSense_Osd=
Adapter.prototype.getOsdMode",X.prototype.getOsdMode);p("Goog_AdSense_Osd=
Adapter.prototype.getEid",X.prototype.getEid);p("Goog_AdSense_OsdAdapter.=
prototype.getCorrelator",X.prototype.getCorrelator);p("Goog_AdSense_OsdAd=
apter.prototype.setValidOutputTypes",X.prototype.setValidOutputTypes);=0A=
p("Goog_AdSense_OsdAdapter.prototype.setupOsd",X.prototype.setupOsd);p("G=
oog_AdSense_OsdAdapter.prototype.registerAdBlockByType",X.prototype.regis=
terAdBlockByType);var Kc=3Dfunction(a,b){var =
c=3Da.nodeType=3D=3D9?a:a.ownerDocument||a.document;if(c.defaultView&&c.d=
efaultView.getComputedStyle)if(a=3Dc.defaultView.getComputedStyle(a,""))r=
eturn a[b];return i},Lc=3Dfunction(a,b){return =
Kc(a,b)||(a.currentStyle?a.currentStyle[b]:i)||a.style[b]},Mc=3Dfunction(=
a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);else{var =
e=3Da.style[c],f=3Da.runtimeStyle[c];a.runtimeStyle[c]=3Da.currentStyle[c=
];a.style[c]=3Db;b=3Da.style[d];a.style[c]=3De;a.runtimeStyle[c]=3Df;retu=
rn b}},Nc=3Dfunction(a){var b=3D=0A=
a.nodeType=3D=3D9?a:a.ownerDocument||a.document,c=3D"";if(b.createTextRan=
ge){c=3Db.body.createTextRange();c.moveToElementText(a);c=3Dc.queryComman=
dValue("FontName")}if(!c){c=3DLc(a,"fontFamily");if(y&&Sa)c=3Dc.replace(/=
 \[[^\]]*\]/,"")}a=3Dc.split(",");if(a.length>1)c=3Da[0];return =
ya(c,"\"'")},Oc=3D/[^\d]+$/,Pc=3Dfunction(a){return(a=3Da.match(Oc))&&a[0=
]||i},Qc=3D{cm:1,"in":1,mm:1,pc:1,pt:1},Rc=3D{em:1,ex:1},Sc=3Dfunction(a)=
{var b=3DLc(a,"fontSize"),c=3DPc(b);if(b&&"px"=3D=3Dc)return =
parseInt(b,10);if(z)if(c in Qc)return Mc(a,b,"left",=0A=
"pixelLeft");else if(a.parentNode&&a.parentNode.nodeType=3D=3D1&&c in =
Rc){a=3Da.parentNode;c=3DLc(a,"fontSize");return =
Mc(a,b=3D=3Dc?"1em":b,"left","pixelLeft")}c=3Dbb("span",{style:"visibilit=
y:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;heig=
ht:1em;"});db(a,c);b=3Dc.offsetHeight;c&&c.parentNode&&c.parentNode.remov=
eChild(c);return b};var Y=3D{};function Tc(a){if(a=3D=3D1)return =
h;return!Y[a]}function =
Uc(a,b){if(!(!a||a=3D=3D""))if(b=3D=3D1)if(Y[b])Y[b]+=3D","+a;else =
Y[b]=3Da;else Y[b]=3Da}function Vc(){var =
a=3D[];D(Y,function(b){a.push(b)});return a.join(",")}function =
Wc(a,b){if(m(a))for(var c=3D0;c<a.length;c++)n(a[c])&&Uc(a[c],b)}var =
Z=3Dj;=0A=
function Xc(a,b){var =
c=3D"script";Z=3DYc(a,b);if(!Z)a.google_allow_expandable_ads=3Dj;var =
d=3D!Zc();Z&&d&&b.write("<"+c+' =
src=3D"http://'+s()+'/pagead/expansion_embed.js"></'+c+">");a=3DDc(a,b,Jb=
);(d=3Dd||a)&&lb("msie")&&!window.opera?b.write("<"+c+' =
src=3D"http://'+s()+'/pagead/render_ads.js"></'+c+">"):b.write("<"+c+'>go=
ogle_protectAndRun("ads_core.google_render_ad", google_handleError, =
google_render_ad);</'+c+">")}function $(a){return a!=3Di?'"'+a+'"':'""'}=0A=
var $c=3Dfunction(a,b){var =
c=3Db.slice(-1),d=3Dc=3D=3D"?"||c=3D=3D"#"?"":"&",e=3D[b];b=3Dfunction(f,=
g){if(f||f=3D=3D=3D0||f=3D=3D=3Dj){if(typeof =
f=3D=3D"boolean")f=3Df?1:0;hb(e,d,g,"=3D",E(f));d=3D"&"}};D(a,b);return =
e.join("")};function ad(){var =
a=3Dz&&A("6"),b=3DKa&&A("1.8.1"),c=3DLa&&A("525");if(Ra&&(a||b||c))return=
 h;else if(Qa&&(c||b))return h;else if(Sa&&b)return h;return j}=0A=
function Zc(){return(typeof =
ExpandableAdSlotFactory=3D=3D"function"||typeof =
ExpandableAdSlotFactory=3D=3D"object")&&typeof =
ExpandableAdSlotFactory.createIframe=3D=3D"function"}function =
Yc(a,b){if(a.google_allow_expandable_ads=3D=3D=3Dj||!b.body||a.google_ad_=
output!=3D"html"||wb(a,b)||!bd(a)||isNaN(a.google_ad_height)||isNaN(a.goo=
gle_ad_width)||!ad())return j;return h}function bd(a){var =
b=3Da.google_ad_format;if(G(b))return =
j;if(F(a)&&b!=3D"468x15_0ads_al")return j;return h}=0A=
function cd(){var =
a;if(B.google_ad_output=3D=3D"html"&&!(F(B)||G(B.google_ad_format))&&Tc(0=
)){a=3D["6083035","6083034"];a=3DH(a,Ob);Uc(a,0)}return =
a=3D=3D"6083035"}function dd(a,b){var =
c=3DR();if(T(c,13)>0||G(a.google_ad_format))return"";c=3D"";a=3DF(a);if(b=
=3D=3D"html"||a)c=3DH(["36815001","36815002"],Kb);if(c=3D=3D""&&(b=3D=3D"=
js"||a))c=3DH(["36815003","36815004"],Lb);if(c=3D=3D""&&(b=3D=3D"html"||b=
=3D=3D"js"))c=3DH(["36813005","36813006"],Mb);return c}=0A=
function ed(){var =
a=3DJc(),b=3Dwindow.google_enable_osd,c;if(b=3D=3D=3Dh){c=3D"36813006";fd=
(c,a)}else =
if(b!=3D=3Dj&&Tc(0)){c=3Da.getEid();if(c=3D=3D"")(c=3Ddd(window,window.go=
ogle_ad_output))&&fd(c,a);else =
if(c!=3D"36815001"&&c!=3D"36815002"&&c!=3D"36815003"&&c!=3D"36815004"&&c!=
=3D"36813005"&&c!=3D"36813006")c=3D""}if(c){Uc(c,0);return c}return""}=0A=
function fd(a,b){var c=3Db.getOsdMode(),d=3D[];switch(a){case =
"36815004":c=3D1;d=3D["js"];break;case =
"36815002":c=3D1;d=3D["html"];break;case =
"36813006":c=3D0;d=3D["html","js"];break}d.length>0&&b.setValidOutputType=
s(d);d=3DR();b.setupOsd(c,a,T(d,7).toString())}=0A=
function gd(a,b,c,d){var =
e=3DR();e=3DU(e,13,T(e,13)+1);c=3D$c({ifi:e},c);c=3Dc.substring(0,1992);c=
=3Dc.replace(/%\w?$/,"");var =
f=3D"script";if((a.google_ad_output=3D=3D"js"||a.google_ad_output=3D=3D"j=
son_html")&&(a.google_ad_request_done||a.google_radlink_request_done))b.w=
rite("<"+f+' language=3D"JavaScript1.1" =
src=3D'+$(ba(c))+"></"+f+">");else =
if(a.google_ad_output=3D=3D"html")if(Z&&Zc()){b=3Da.google_container_id||=
d||i;a["google_expandable_ad_slot"+e]=3DExpandableAdSlotFactory.createIfr=
ame("google_ads_frame"+e,ba(c),a.google_ad_width,=0A=
a.google_ad_height,b)}else{d=3D'<iframe name=3D"google_ads_frame" =
width=3D'+$(a.google_ad_width)+" height=3D"+$(a.google_ad_height)+" =
frameborder=3D"+$(a.google_ad_frameborder)+" src=3D"+$(ba(c))+' =
marginwidth=3D"0" marginheight=3D"0" vspace=3D"0" hspace=3D"0" =
allowtransparency=3D"true" =
scrolling=3D"no"></iframe>';a.google_container_id?hd(a.google_container_i=
d,b,d):b.write(d)}return c}function id(a){ac(a)}=0A=
function jd(a){var b=3DAc().g(2)=3D=3D"44901217";if(!kd(b))return =
j;b=3Dcd();var =
c=3DFc(window);a=3Dld(a);b=3Dc+md(a.google_ad_format,b);window.google_ad_=
url=3D$c(a,b);return h}=0A=
var pd=3Dfunction(a){a.dt=3Daa;a.shv=3D"r20100331";var =
b=3DR(),c=3DT(b,8),d=3Dwindow.google_ad_section,e=3Dwindow.google_ad_form=
at,f=3Dwindow.google_ad_slot;if(c[d])G(e)||(a.prev_fmts=3Dc[d]);var =
g=3DT(b,9);if(g[d])a.prev_slotnames=3Dg[d].toLowerCase();if(e){if(!G(e))i=
f(c[d])c[d]+=3D","+e;else c[d]=3De}else if(f)if(g[d])g[d]+=3D","+f;else =
g[d]=3Df;a.correlator=3DT(b,7);if(T(b,2)&&!xc(b))a.dblk=3D1;if(window.goo=
gle_ad_channel){c=3DT(b,10);d=3D"";e=3Dwindow.google_ad_channel.split(nd)=
;for(f=3D0;f<e.length;f++){g=3De[f];if(c[g])d+=3D=0A=
g+"+";else =
c[g]=3Dh}a.pv_ch=3Dd}if(window.google_ad_host_channel){b=3Dod(window.goog=
le_ad_host_channel,T(b,11));a.pv_h_ch=3Db}if(Pb)a.jscb=3D1;if(Qb)a.jscd=3D=
1;a.frm=3Dwindow.google_iframing;b=3Dec();a.ga_vid=3Db.vid;a.ga_sid=3Db.s=
id;a.ga_hid=3Db.hid;a.ga_fc=3Db.from_cookie;a.ga_wpids=3Dwindow.google_an=
alytics_uacct},qd=3Dfunction(a){var =
b=3Dh;if(b=3Dpb(b)){a.biw=3Db.width;a.bih=3Db.height}},rd=3Dfunction(a){v=
ar b=3Drb(window);if(b!=3D0)a.ifk=3Db.toString()};=0A=
function od(a,b){var c=3Da.split("|");a=3D-1;for(var =
d=3D[],e=3D0;e<c.length;e++){var =
f=3Dc[e].split(nd);b[e]||(b[e]=3D{});for(var =
g=3D"",o=3D0;o<f.length;o++){var =
C=3Df[o];if(C!=3D"")if(b[e][C])g+=3D"+"+C;else =
b[e][C]=3Dh}g=3Dg.slice(1);d[e]=3Dg;if(g!=3D"")a=3De}b=3D"";if(a>-1){for(=
e=3D0;e<a;e++)b+=3Dd[e]+"|";b+=3Dd[a]}return b}function sd(){var =
a=3D["44901212","44901216"];W().d(a,Ib,1);a=3D["44901218","44901217"];W()=
.d(a,Nb,2)}=0A=
function td(){sc();var a=3DR();0=3D=3DT(a,13)&&sd();a=3Ded();var =
b=3DMath.random()<0.01,c=3Di,d=3D"";if(b){d=3D"google_temp_span";c=3Dud(d=
)}b=3Djd(c);c&&c.id=3D=3Dd&&(c&&c.parentNode?c.parentNode.removeChild(c):=
i);if(b){c=3Dgd(window,document,window.google_ad_url);a&&Jc().registerAdB=
lockByType(window.google_ad_output,c,j);id(window)}}=0A=
var =
vd=3Dfunction(a){D(tb,function(b,c){a[b]=3Dwindow[c]});D(sb,function(b,c)=
{a[b]=3Dwindow[c]});D(ub,function(b,c){a[b]=3Dwindow[c]})},wd=3Dfunction(=
a){Wc(window.google_eids,1);a.eid=3DVc();var =
b=3DAc().p();if(a.eid.length>0&&b.length>0)a.eid+=3D",";a.eid+=3Db};funct=
ion xd(a,b,c,d){a=3DUb(a,b,c,d);Xc(window,document);return a}function =
yd(){$b()}=0A=
function zd(a){var =
b=3D{};a=3Da.split("?");a=3Da[a.length-1].split("&");for(var =
c=3D0;c<a.length;c++){var =
d=3Da[c].split("=3D");if(d[0])try{b[d[0].toLowerCase()]=3Dd.length>1?wind=
ow.decodeURIComponent?decodeURIComponent(d[1].replace(/\+/g," =
")):unescape(d[1]):""}catch(e){}}return b}function Ad(){var =
a=3Dwindow,b=3Dzd(document.URL);if(b.google_ad_override){a.google_ad_over=
ride=3Db.google_ad_override;a.google_adtest=3D"on"}}=0A=
function =
hd(a,b,c){if(a)if((a=3Db.getElementById(a))&&c&&c.length!=3D""){a.style.v=
isibility=3D"visible";a.innerHTML=3Dc}}=0A=
var md=3Dfunction(a,b){return =
a=3DG(a)?"/pagead/sdo?":b?"/pagead/render_iframe_ads.html#":"/pagead/ads?=
"},Bd=3Dfunction(a,b){b.dff=3DNc(a);b.dfs=3DSc(a)},Cd=3Dfunction(a){a.ref=
=3Dwindow.google_referrer_url;a.loc=3Dwindow.google_page_location},kd=3Df=
unction(a){var =
b=3DR(),c=3DT(b,8),d=3DT(b,9),e=3Dwindow.google_ad_section;if(G(window.go=
ogle_ad_format)){if(U(b,4,T(b,4)+1)>4&&!a)return j}else =
if(F(window)){if(U(b,5,T(b,5)+1)>3&&!a)return j}else{var =
f=3DU(b,6,T(b,6)+1);if(window.google_num_slots_to_rotate){Wb(1);c[e]=3D""=
;d[e]=3D"";=0A=
T(b,12)||U(b,12,(new =
Date).getTime()%window.google_num_slots_to_rotate+1);if(T(b,12)!=3Df)retu=
rn j}else if(!a&&f>6&&e=3D=3D"")return j}return h},ld=3Dfunction(a){var =
b=3D{};vd(b);pd(b);ob(b);a&&Bd(a,b);qd(b);rd(b);wd(b);Cd(b);b.fu=3DVb;ret=
urn b},ud=3Dfunction(a){var =
b=3Dwindow.google_container_id&&Xa(window.google_container_id)||Xa(a);if(=
!b&&!window.google_container_id&&a){document.write("<span =
id=3D"+a+"></span>");b=3DXa(a)}return b},nd=3D/[+, =
]/;window.google_render_ad=3Dtd;function Dd(){if(Rb&&typeof =
B.alternateShowAds=3D=3D"function")B.alternateShowAds.call(i);else{Ad();S=
b("show_ads.google_init_globals",xd,yd);Xc(window,document)}}Sb("show_ads=
.main",Ub,Dd);})()=0A=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://d2.zedo.com/jsc/d2/fo.js

//  Copyright (c) 2000-2010 ZEDO Inc. All Rights Reserved.=0A=
function B2(){=0A=
var p1=3Dnavigator.userAgent.toLowerCase();var =
y6=3D(p1.indexOf('mac')!=3D-1);var d9=3DparseInt(navigator.appVersion);=0A=
var =
c5=3D(!y6&&(p1.indexOf('opera')=3D=3D-1)&&(p1.indexOf('msie')!=3D-1)&&(d9=
>=3D4)&&(p1.indexOf('webtv')=3D=3D-1)&&(p1.indexOf('msie 4')=3D=3D-1));=0A=
if(c5){=0A=
document.writeln('<scr'+'ipt language=3DVBS'+'cript>');=0A=
document.writeln('on error resume next');=0A=
document.writeln('p0=3DIsObject(CreateObject("ShockwaveFlash.ShockwaveFla=
sh.5"))');=0A=
document.writeln('if(p0<=3D0)then =
p0=3DIsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))');=0A=
document.writeln('</scr'+'ipt>');=0A=
}=0A=
else if(navigator.mimeTypes&&=0A=
navigator.mimeTypes["application/x-shockwave-flash"]&&=0A=
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){=0A=
if(navigator.plugins&&navigator.plugins["Shockwave Flash"]){=0A=
var o3=3Dnavigator.plugins["Shockwave Flash"].description;=0A=
if(parseInt(o3.substring(o3.indexOf(".")-2))>=3D4){=0A=
p0=3D1;=0A=
}}}=0A=
var t4=3Dnavigator.javaEnabled();var c0=3D1;=0A=
if(t4){c0 |=3D4;}=0A=
if(p0){c0 |=3D8;}=0A=
if(c5){=0A=
if(document.documentElement){=0A=
document.documentElement.style.behavior=3D'url(#default#clientCaps)';=0A=
if(document.documentElement.connectionType=3D=3D'lan'){=0A=
c0 |=3D16;=0A=
}}=0A=
else if(document.body){=0A=
document.body.style.behavior=3D'url(#default#clientCaps)';=0A=
if(document.body.connectionType=3D=3D'lan'){=0A=
c0 |=3D16;=0A=
}}}=0A=
return c0;=0A=
}=0A=
function F3(){=0A=
var w5=3Dnew =
Array('d1','d2','d3','d4','d5','d6','d7','d8','d9','da','db','dc','dd','d=
e','df');=0A=
return w5;=0A=
}=0A=
var d0=3D0;var v0=3D0;var z0=3D'0';var e0=3D0;var e5=3D'';var =
zd_$=3D'';var p0=3D0;var n3=3D'';var p2=3D'';var w4=3D'';var a3=3D"";var =
x6=3D'';var a7=3D'';var d1=3Dnew Array();var w0=3D'';=0A=
if(typeof zflag_nid!=3D'undefined'){=0A=
d0=3Dzflag_nid;=0A=
zflag_nid=3D0;=0A=
}=0A=
if(typeof zflag_sid!=3D'undefined'){=0A=
v0=3Dzflag_sid;=0A=
zflag_sid=3D0;=0A=
}=0A=
if(typeof zflag_cid!=3D'undefined'){=0A=
z0=3Dzflag_cid;=0A=
if(z0<0||z0>999999){=0A=
z0=3D0;=0A=
}=0A=
zflag_cid=3D0;=0A=
}=0A=
if(typeof zflag_sz!=3D'undefined'){=0A=
e0=3Dzflag_sz;=0A=
if(e0<0||e0>95){=0A=
e0=3D0;=0A=
}=0A=
zflag_sz=3D0;=0A=
}=0A=
if(typeof zflag_kw!=3D'undefined'){=0A=
zflag_kw=3Dzflag_kw.replace(/&/g,'zzazz');=0A=
e5=3Descape(zflag_kw);=0A=
zflag_kw=3D"";=0A=
}=0A=
if(typeof zflag_$!=3D'undefined'){=0A=
zd_$=3Dzflag_$;=0A=
zflag_$=3D'';=0A=
}=0A=
if(typeof zflag_geo!=3D'undefined'){=0A=
if(!isNaN(zflag_geo)){=0A=
p2=3D"&g=3D"+zflag_geo;=0A=
zflag_geo=3D0;=0A=
}}=0A=
if(typeof zflag_param!=3D'undefined'){=0A=
a3=3D"&p=3D"+zflag_param;=0A=
zflag_param=3D"";=0A=
}=0A=
if(typeof zflag_click!=3D'undefined'){=0A=
zzTrd=3Descape(zflag_click);=0A=
w4=3D'&l=3D'+zzTrd;=0A=
zflag_click=3D"";=0A=
}=0A=
if(typeof zflag_hasAd!=3D'undefined'){=0A=
x6=3D'&y=3D'+zflag_hasAd;=0A=
}=0A=
if(typeof zflag_num!=3D'undefined'){=0A=
a7=3Dzflag_num;=0A=
zflag_num=3D0;=0A=
}=0A=
if(typeof zflag_ck!=3D'undefined'){=0A=
w0=3D'&ck=3D'+zflag_ck;=0A=
zflag_ck=3D0;=0A=
}=0A=
d1=3DF3();=0A=
for(var i=3D0;i<d1.length;i++){=0A=
if(eval('typeof(zflag_'+d1[i]+')!=3D"undefined"')){=0A=
w0=3Dw0+'&'+d1[i]+'=3D'+eval('zflag_'+d1[i]);=0A=
eval('zflag_'+d1[i]+'=3D"";');=0A=
}}=0A=
var zzStr=3D'';var zzCountry=3D255;var zzMetro=3D0;var zzState=3D0;var =
zzSection=3Dv0;var zzD=3Dwindow.document;var =
zzRand=3D(Math.floor(Math.random()* 1000000)% 10000);var =
zzCustom=3D'';var zzPat=3D'';var zzSkip=3D'';=0A=
var zzExp=3D'';var zzTrd=3D'';var zzPos=3D0;var zzNw=3D0;var =
zzCh=3D0;var zzDmCodes=3Dnew Array();var zzDmValues=3Dnew Array();var =
zzBr=3D99;var zzLang=3D99;var zzAGrp=3D0;var zzAct=3Dnew Array();var =
zzActVal=3Dnew Array();=0A=
n3=3DB2();=0A=
if(n3<0||n3>31){=0A=
n3=3D1;=0A=
}=0A=
n0=3D'<scr'+'ipt language=3D"JavaScript" =
src=3D"http://d7.zedo.com/bar/v16-102/d2/jsc/fm.js?c=3D'+z0+'&f=3D'+a7+'&=
n=3D'+d0+'&r=3D'+n3+'&d=3D'+e0+'&q=3D'+e5+'&$=3D'+zd_$+'&s=3D'+v0+p2+a3+w=
4+x6+w0+'&z=3D'+Math.random()+'"></scr'+'ipt>';=0A=
document.write(n0);=0A=

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Location: http://174.133.94.26/Openads/adpopup.php?n=a2fceaf4&clientid=71


------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cricbuzz.com/livescore/dh/lv_scag_ren.php


crbz_scag_url =3D '';
crbz_scag_error_handler =3D window.onerror;

function crbz_show_scag() {
  var w =3D window;
  w.onerror =3D w.crbz_scag_error_handler;
  w.crbz_scag_height =3D 150;
  w.crbz_scag_url =3D =
'http://www.cricbuzz.com/livescore/data/crbz-31719180dhp05/2010/2010_IPL/=
HYD_BAN_APR12/gen_scag.html';
  w.crbz_scag_dtllinknm =3D 'SCORECARD WITH LIVE COMMENTARY';

  document.write('<ifr' + 'ame' +
   		 ' name=3Dcrbz_iframe_scag' +
                 ' width=3D' + w.crbz_scag_width +
                 ' height=3D' + w.crbz_scag_height +
                 ' frameborder=3D' + w.crbz_scag_frameborder +
                 ' src=3D"' + w.crbz_scag_url + '"' +
                 ' marginwidth=3D0' +
                 ' marginheight=3D0' +
                 ' vspace=3D0' +
                 ' hspace=3D0' +
                 ' allowtransparency=3Dtrue' +
                 ' scrolling=3Dno></ifr' + 'ame>');
 document.write('<table width=3D"100%"><tr><td align=3D"right"><a =
href=3D' + w.crbz_scag_dtlpage + ' class=3D"syn_link" style=3D"font: =
bold 9px Verdana;">' +
  		 w.crbz_scag_dtllinknm +
  		 '</a></td></tr></table>');
  w.crbz_scag_frameborder =3D null;
}

function crbz_error_handler(message, url, line) {
  crbz_show_scag();
  return true;
}

window.onerror =3D crbz_error_handler;

if (window.crbz_scag_frameborder =3D=3D null) {
  crbz_scag_frameborder =3D 0;
}

if (window.crbz_scag_dtlpage =3D=3D null) {
  crbz_scag_dtlpage =3D "/";
}

if (window.crbz_scag_dtllinknm =3D=3D null) {
  crbz_scag_dtllinknm =3D "Score Page";
}

if (window.crbz_scag_height =3D=3D null) {
	crbz_scag_height =3D "150";
}

crbz_show_scag();

------=_NextPart_000_0656_01CADA5D.2966B110
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.deccanherald.com/Openads/adx.js

function phpads_deliverActiveX(content)=0A=
{=0A=
	document.write(content);	=0A=
}
------=_NextPart_000_0656_01CADA5D.2966B110--

