var isPrintFrindlyVersion = false  ;  
var isMSIEBrowser = false ; 	

function getBrowserVersion ()
{

var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;

var fullVersion = parseFloat(nVer);
var majorVersion = parseInt(nVer);

// In Internet Explorer, the true version is after "MSIE" 
if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
 fullVersion = parseFloat(nAgt.substring(verOffset+5,nAgt.length));
 majorVersion = parseInt(''+fullVersion);
isMSIEBrowser= true ;
}

// In Opera, the true version is after "Opera"
if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
 fullVersion = parseFloat(nAgt.substring(verOffset+6,nAgt.length));
 majorVersion = parseInt(''+fullVersion);
}
return fullVersion ; 
}

//alert("Called2");
var browserVersion = getBrowserVersion();
var showChart = true ; 
if (browserVersion < 5.5 && isMSIEBrowser)
		{
			showChart  = false ;
		}

function printFrindlyVersion(obj) 
{
	//alert("Called");
	
	var sOption="toolbar=yes,location=yes,directories=yes,menubar=yes,"; 
        sOption+="scrollbars=yes,width=1024,height=600,left=100,top=25"; 

	var sWinHTML = document.getElementsByName("tadawulPrintableSection");
	if (printDir==""){
styleSheetPath="/Resources/en/themes/tadawul_redesign/css/styles.css"
			} else {
styleSheetPath="/Resources/ar/themes/tadawul_redesign/css/styles.css"
			}
		  var winprint=window.open("","printFrindlyVersion",sOption); 
          winprint.document.open(); 
		//alert(styleSheetPath);
		  winprint.document.writeln('<HTML><HEAD><title>'
		  										+windowTitle1 
												+' </title>	<link href=\"'
												+styleSheetPath
												+'\"  rel="styleSheet" type="text/css">');

			winprint.document.writeln('<style type="text/css">');
			winprint.document.writeln('.black-portlet-heading  {color:#000000;font-family:calibri,trebuchet,lucida,arial,sans-serif;font-size:24px;text-decoration:none;}');
			winprint.document.writeln('.calibri-10 {color:#333333;font-family:calibri,trebuchet,lucida,arial,sans-serif;font-size:18px;}');
			winprint.document.writeln('.calibri-12 {color:#333333;font-family:calibri,trebuchet,lucida,arial,sans-serif;font-size:21px;}');
			winprint.document.writeln('.calibri-14 {color:#333333;font-family:calibri,trebuchet,lucida,arial,sans-serif;font-size:24px;}');
			winprint.document.writeln('.calibri-18 {font-family:calibri,trebuchet,lucida,arial,sans-serif;font-size:24px;}');
			winprint.document.writeln('.frame1 {font-family:calibri,trebuchet,lucida,arial,sans-serif;width:930px;}');
	   		winprint.document.writeln('</style></HEAD>');
   		    winprint.document.writeln("<"+"script >\n");
			winprint.document.writeln("<"+"!--\n");		 		
			winprint.document.writeln(" var isPrintFrindlyVersion = true;  ");
		    winprint.document.writeln("// --><"+"/script>\n  <body onLoad=\"self.print()\" dir="+printDir+">");
			
			//alert("After winprint");

			//winprint.document.writeln("<table STYLE=\"height:68px\" STYLE=\"WIDTH:959px\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" >");		
			winprint.document.writeln("<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">");
			winprint.document.writeln("<tr><td>");
            if (printDir==""){
				winprint.document.writeln("<img  width=\"100%\" border=\"0\" src=\"/Resources/images/banner/banner.jpg\">");			
			} else {
				winprint.document.writeln("<img  width=\"100%\" border=\"0\" src=\"/Resources/images/banner/banner_ar.jpg\">");
			}
			winprint.document.writeln("</td></tr></table>");
		    winprint.document.writeln("<table class=\"maintable\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">");
			winprint.document.writeln("<tr><td><div class='spacer15'>&nbsp</div></td></tr>");
			winprint.document.writeln("<tr><td>&nbsp;</td></tr>");
			winprint.document.writeln("<tr><td>&nbsp;</td></tr>");
		    winprint.document.writeln("<tr>");
		    winprint.document.writeln("<td width=\"32\"/>");
                winprint.document.writeln("<td>");
			
				if(sWinHTML.length>0)
			{

				
				for(var i=0;i<sWinHTML.length;i++)
				{
				//	alert("kkkkk");
					winprint.document.writeln(sWinHTML[i].innerHTML);
				}
				//	
			}
			else{
				sWinHTML=document.getElementById('mainContent').innerHTML;
                winprint.document.writeln(sWinHTML);
			}
		  // winprint.document.close(); 

		 //  alert("3");



				 winprint.document.writeln("</td>");
		    winprint.document.writeln("<td width=\"32\"/>");
		    winprint.document.writeln("</tr>");
		    winprint.document.writeln("</table>");
			winprint.document.writeln("<DIV class = \"regular\" style=\"text-align: center;\">");
		
			winprint.document.writeln("<"+"script >\n");
			winprint.document.writeln(" var charts = document.getElementById('chartPlaceName') ; ");
	  	      if (!showChart  )
				winprint.document.writeln("charts.innerHTML = "+errorMessage);
					
			winprint.document.writeln("// --><"+"/script>\n ");

            winprint.document.writeln("<div class='spacer15'></div>");
            winprint.document.writeln("<div class='calibri-12' style='background-color:#ffffff;'>");
            if (printDir==""){
                winprint.document.writeln("Copyright &#169; 2010 Tadawul All rights reserved");
            } else {
                winprint.document.writeln(" جميع الحقوق محفوظه &#169; تداول 2010");
            }
            winprint.document.writeln("</div>");
            winprint.document.writeln("<div class='spacer15'></div>");
            
			winprint.document.writeln("</DIV></body></HTML>");

		  // winprint.document.close(); 
           
		   winprint.location.reload(); 
           
		   winprint.focus(); 

			
		//	winprint.focus(); 

}         



/////////////////////////////////////////////////////////////////////////////
// ElementJavascriptEventController.js

//(C) Copyright IBM Corp. 2002, 2003, 2004. All Rights Reserved
//
function ElementJavascriptEventController()
{
this.elements=new Array();this.arrayPosition=0;this.enableAll=enableRegisteredElementsInternal;this.disableAll=disableRegisteredElementsInternal;this.register=registerElementInternal;this.enable=enableRegisteredElementInternal;this.disable=disableRegisteredElementInternal;function enableRegisteredElementsInternal()
{
for (c=0; c < this.arrayPosition; c=c+1)
{
this.elements[c].enable();};};function enableRegisteredElementInternal(id)
{
for (c=0; c < this.arrayPosition; c=c+1)
{
if (this.elements[c].ID == id)
{
this.elements[c].enable();}};};function disableRegisteredElementsInternal()
{
for (c=0; c < this.arrayPosition; c=c+1)
{
this.elements[c].disable();};};function disableRegisteredElementInternal(id)
{
for (c=0; c < this.arrayPosition; c=c+1)
{
if (this.elements[c].ID == id)
{
this.elements[c].disable();}};};function registerElementInternal(HTMLElementID, doNotDisable, optionalOnEnableJavascriptAction)
{
this.elements[this.arrayPosition]=new RegisteredElement(HTMLElementID, doNotDisable, optionalOnEnableJavascriptAction);this.arrayPosition=this.arrayPosition + 1;};};function RegisteredElement(ElementID, doNotDisable, optionalOnEnableJavascriptAction)
{
this.ID=ElementID;this.oldCursor="normal";this.ItemOnMouseDown=null;this.ItemOnMouseUp=null;this.ItemOnMouseOver=null;this.ItemOnMouseOut=null;this.ItemOnMouseClick=null;this.ItemOnBlur=null;this.ItemOnFocus=null;this.ItemOnChange=null;this.onEnableJS=optionalOnEnableJavascriptAction;this.enable=enableInternal;this.disable=disableInternal;function enableInternal()
{
document.getElementById(this.ID).style.cursor=this.oldCursor;if (document.getElementById(this.ID).tagName == "BUTTON")
{
document.getElementById(this.ID).disabled=false;}else
{
document.getElementById(this.ID).onmousedown=this.ItemOnMouseDown;document.getElementById(this.ID).onmouseup=this.ItemOnMouseUp;document.getElementById(this.ID).onmouseover=this.ItemOnMouseOver;document.getElementById(this.ID).onmouseout=this.ItemOnMouseOut;document.getElementById(this.ID).onclick=this.ItemOnMouseClick;document.getElementById(this.ID).onblur=this.ItemOnBlur;document.getElementById(this.ID).onfocus=this.ItemOnFocus;document.getElementById(this.ID).onchange=this.ItemOnChange;};if (this.onEnableJS != null)
{
eval(this.onEnableJS);}};function disableInternal()
{
this.oldCursor=document.getElementById(this.ID).style.cursor;document.getElementById(this.ID).style.cursor="not-allowed";if (document.getElementById(this.ID).tagName == "BUTTON")
{
document.getElementById(this.ID).disabled=true;}else
{
this.ItemOnMouseDown=document.getElementById(this.ID).onmousedown;this.ItemOnMouseUp=document.getElementById(this.ID).onmouseup;this.ItemOnMouseOver=document.getElementById(this.ID).onmouseover;this.ItemOnMouseOut=document.getElementById(this.ID).onmouseout;this.ItemOnMouseClick=document.getElementById(this.ID).onclick;this.ItemOnBlur=document.getElementById(this.ID).onblur;this.ItemOnFocus=document.getElementById(this.ID).onfocus;this.ItemOnChange=document.getElementById(this.ID).onchange;document.getElementById(this.ID).onmousedown=function () { void(0); return false; };document.getElementById(this.ID).onmouseup=function () { void(0); return false; };document.getElementById(this.ID).onmouseover=function () { void(0); return false; };document.getElementById(this.ID).onmouseout=function () { void(0); return false; };document.getElementById(this.ID).onclick=function () { void(0); return false; };document.getElementById(this.ID).onblur=function () { void(0); return false; };document.getElementById(this.ID).onfocus=function () { void(0); return false; };document.getElementById(this.ID).onchange=function () { void(0); return false; };};};if (!doNotDisable)
{
this.disable();}};


/////////////////////////////////////////////////////////////////////////////
// browserDimensions.js

//(C) Copyright IBM Corp. 2002, 2003, 2004. All Rights Reserved
//
BrowserDimensions.prototype=new Object();BrowserDimensions.prototype.constructor=BrowserDimensions;BrowserDimensions.superclass=null;function BrowserDimensions(){
this.body=document.body;if (this.isStrictDoctype() && !this.isSafari()) {
this.body=document.documentElement;}};BrowserDimensions.prototype.getScrollFromLeft=function(){
return this.body.scrollLeft ;};BrowserDimensions.prototype.getScrollFromTop=function(){
return this.body.scrollTop ;};BrowserDimensions.prototype.getViewableAreaWidth=function(){
return this.body.clientWidth ;};BrowserDimensions.prototype.getViewableAreaHeight=function(){
return this.body.clientHeight ;};BrowserDimensions.prototype.getHTMLElementWidth=function(){
return this.body.scrollWidth ;};BrowserDimensions.prototype.getHTMLElementHeight=function(){
return this.body.scrollHeight ;};BrowserDimensions.prototype.isStrictDoctype=function(){
return (document.compatMode && document.compatMode != "BackCompat");};BrowserDimensions.prototype.isSafari=function(){
return (navigator.userAgent.toLowerCase().indexOf("safari") >= 0);};



/////////////////////////////////////////////////////////////////////////////
//jQuery.min.js

/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){
var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){
return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={
init:function(E,H){
E=E||document;if(E.nodeType){
this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){
var G=D.exec(E);if(G&&(G[1]||!H)){
if(G[1]){
E=o.clean([G[1]],H)}else{
var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){
return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{
return o(H).find(E)}}else{
if(o.isFunction(E)){
return o(document).ready(E)}}if(E.selector&&E.context){
this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){
return this.length},get:function(E){
return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){
var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){
G.selector=this.selector+(this.selector?" ":"")+E}else{
if(H){
G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){
this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){
return o.each(this,F,E)},index:function(E){
return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){
var E=F;if(typeof F==="string"){
if(H===g){
return this[0]&&o[G||"attr"](this[0],F)}else{
E={
};E[F]=H}}return this.each(function(I){
for(F in E){
o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){
if((E=="width"||E=="height")&&parseFloat(F)<0){
F=g}return this.attr(E,F,"curCSS")},text:function(F){
if(typeof F!=="object"&&F!=null){
return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){
o.each(this.childNodes,function(){
if(this.nodeType!=8){
E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){
if(this[0]){
var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){
F.insertBefore(this[0])}F.map(function(){
var G=this;while(G.firstChild){
G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){
return this.each(function(){
o(this).contents().wrapAll(E)})},wrap:function(E){
return this.each(function(){
o(this).wrapAll(E)})},append:function(){
return this.domManip(arguments,true,function(E){
if(this.nodeType==1){
this.appendChild(E)}})},prepend:function(){
return this.domManip(arguments,true,function(E){
if(this.nodeType==1){
this.insertBefore(E,this.firstChild)}})},before:function(){
return this.domManip(arguments,false,function(E){
this.parentNode.insertBefore(E,this)})},after:function(){
return this.domManip(arguments,false,function(E){
this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){
return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){
if(this.length===1){
var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{
return this.pushStack(o.unique(o.map(this,function(G){
return o.find(E,G)})),"find",E)}},clone:function(G){
var E=this.map(function(){
if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){
var I=this.outerHTML;if(!I){
var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{
return this.cloneNode(true)}});if(G===true){
var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){
if(this.nodeName!==H[F].nodeName){
return}var I=o.data(H[F],"events");for(var K in I){
for(var J in I[K]){
o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){
return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){
return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){
return F.nodeType===1})),"filter",E)},closest:function(E){
var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){
var H=this;while(H&&H.ownerDocument){
if(G?G.index(H)>-1:o(H).is(E)){
o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){
if(typeof E==="string"){
if(f.test(E)){
return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{
E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){
return F?o.inArray(this,E)<0:this!=E})},add:function(E){
return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){
return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){
return !!E&&this.is("."+E)},val:function(K){
if(K===g){
var E=this[0];if(E){
if(o.nodeName(E,"option")){
return(E.attributes.value||{
}).specified?E.value:E.text}if(o.nodeName(E,"select")){
var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){
return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){
var G=M[F];if(G.selected){
K=o(G).val();if(H){
return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){
K+=""}return this.each(function(){
if(this.nodeType!=1){
return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){
this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{
if(o.nodeName(this,"select")){
var N=o.makeArray(K);o("option",this).each(function(){
this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){
this.selectedIndex=-1}}else{
this.value=K}}})},html:function(E){
return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){
return this.after(E).remove()},eq:function(E){
return this.slice(E,+E+1)},slice:function(){
return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){
return this.pushStack(o.map(this,function(G,F){
return E.call(G,F,G)}))},andSelf:function(){
return this.add(this.prevObject)},domManip:function(J,M,L){
if(this[0]){
var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){
for(var G=0,E=this.length;G<E;G++){
L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){
o.each(F,z)}}return this;function K(N,O){
return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){
if(F.src){
o.ajax({
url:F.src,async:false,dataType:"script"})}else{
o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){
F.parentNode.removeChild(F)}}function e(){
return +new Date}o.extend=o.fn.extend=function(){
var J=arguments[0]||{
},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){
E=J;J=arguments[1]||{
};H=2}if(typeof J!=="object"&&!o.isFunction(J)){
J={
}}if(I==H){
J=this;--H}for(;H<I;H++){
if((G=arguments[H])!=null){
for(var F in G){
var K=J[F],L=G[F];if(J===L){
continue}if(E&&L&&typeof L==="object"&&!L.nodeType){
J[F]=o.extend(E,K||(L.length!=null?[]:{
}),L)}else{
if(L!==g){
J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{
},s=Object.prototype.toString;o.extend({
noConflict:function(E){
l.$=p;if(E){
l.jQuery=y}return o},isFunction:function(E){
return s.call(E)==="[object Function]"},isArray:function(E){
return s.call(E)==="[object Array]"},isXMLDoc:function(E){
return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){
if(G&&/\S/.test(G)){
var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){
E.appendChild(document.createTextNode(G))}else{
E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){
return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){
var E,H=0,I=G.length;if(F){
if(I===g){
for(E in G){
if(K.apply(G[E],F)===false){
break}}}else{
for(;H<I;){
if(K.apply(G[H++],F)===false){
break}}}}else{
if(I===g){
for(E in G){
if(K.call(G[E],E,G[E])===false){
break}}}else{
for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){
}}}return G},prop:function(H,I,G,F,E){
if(o.isFunction(I)){
I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{
add:function(E,F){
o.each((F||"").split(/\s+/),function(G,H){
if(E.nodeType==1&&!o.className.has(E.className,H)){
E.className+=(E.className?" ":"")+H}})},remove:function(E,F){
if(E.nodeType==1){
E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){
return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){
return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){
var E={
};for(var F in G){
E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){
H.style[F]=E[F]}},css:function(H,F,J,E){
if(F=="width"||F=="height"){
var L,G={
position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){
L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){
return}o.each(K,function(){
if(!E){
L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){
L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{
L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){
I()}else{
o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){
var L,E=I.style;if(F=="opacity"&&!o.support.opacity){
L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){
F=w}if(!G&&E&&E[F]){
L=E[F]}else{
if(q.getComputedStyle){
if(F.match(/float/i)){
F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){
L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){
L="1"}}else{
if(I.currentStyle){
var J=F.replace(/\-(\w)/g,function(N,O){
return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){
var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){
K=K||document;if(typeof K.createElement==="undefined"){
K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){
var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){
return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){
if(typeof S==="number"){
S+=""}if(!S){
return}if(typeof S==="string"){
S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){
return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){
L=L.lastChild}if(!o.support.tbody){
var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){
if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){
N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){
L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){
G.push(S)}else{
G=o.merge(G,S)}});if(I){
for(var J=0;G[J];J++){
if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){
E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{
if(G[J].nodeType===1){
G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){
if(!J||J.nodeType==3||J.nodeType==8){
return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){
var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){
J.parentNode.selectedIndex}if(G in J&&H&&!F){
if(L){
if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){
throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){
return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){
var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){
return o.attr(J.style,"cssText",K)}if(L){
J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){
if(L){
J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){
return N.toUpperCase()});if(L){
J[G]=K}return J[G]},trim:function(E){
return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){
var E=[];if(G!=null){
var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){
E[0]=G}else{
while(F){
E[--F]=G[F]}}}return E},inArray:function(G,H){
for(var E=0,F=H.length;E<F;E++){
if(H[E]===G){
return E}}return -1},merge:function(H,E){
var F=0,G,I=H.length;if(!o.support.getAll){
while((G=E[F++])!=null){
if(G.nodeType!=8){
H[I++]=G}}}else{
while((G=E[F++])!=null){
H[I++]=G}}return H},unique:function(K){
var F=[],E={
};try{
for(var G=0,H=K.length;G<H;G++){
var J=o.data(K[G]);if(!E[J]){
E[J]=true;F.push(K[G])}}}catch(I){
F=K}return F},grep:function(F,J,E){
var G=[];for(var H=0,I=F.length;H<I;H++){
if(!E!=!J(F[H],H)){
G.push(F[H])}}return G},map:function(E,J){
var F=[];for(var G=0,H=E.length;G<H;G++){
var I=J(E[G],G);if(I!=null){
F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={
version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({
parent:function(E){
return E.parentNode},parents:function(E){
return o.dir(E,"parentNode")},next:function(E){
return o.nth(E,2,"nextSibling")},prev:function(E){
return o.nth(E,2,"previousSibling")},nextAll:function(E){
return o.dir(E,"nextSibling")},prevAll:function(E){
return o.dir(E,"previousSibling")},siblings:function(E){
return o.sibling(E.parentNode.firstChild,E)},children:function(E){
return o.sibling(E.firstChild)},contents:function(E){
return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){
o.fn[E]=function(G){
var H=o.map(this,F);if(G&&typeof G=="string"){
H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({
appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){
o.fn[E]=function(G){
var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){
var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({
removeAttr:function(E){
o.attr(this,E,"");if(this.nodeType==1){
this.removeAttribute(E)}},addClass:function(E){
o.className.add(this,E)},removeClass:function(E){
o.className.remove(this,E)},toggleClass:function(F,E){
if(typeof E!=="boolean"){
E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){
if(!E||o.filter(E,[this]).length){
o("*",this).add([this]).each(function(){
o.event.remove(this);o.removeData(this)});if(this.parentNode){
this.parentNode.removeChild(this)}}},empty:function(){
o(this).children().remove();while(this.firstChild){
this.removeChild(this.firstChild)}}},function(E,F){
o.fn[E]=function(){
return this.each(F,arguments)}});function j(E,F){
return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={
};o.extend({
cache:{
},data:function(F,E,G){
F=F==l?A:F;var H=F[h];if(!H){
H=F[h]=++v}if(E&&!o.cache[H]){
o.cache[H]={
}}if(G!==g){
o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){
F=F==l?A:F;var H=F[h];if(E){
if(o.cache[H]){
delete o.cache[H][E];E="";for(E in o.cache[H]){
break}if(!E){
o.removeData(F)}}}else{
try{
delete F[h]}catch(G){
if(F.removeAttribute){
F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){
if(F){
E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){
G=o.data(F,E,o.makeArray(H))}else{
if(H){
G.push(H)}}}return G},dequeue:function(H,G){
var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){
F=E[0]}if(F!==g){
F.call(H)}}});o.fn.extend({
data:function(E,G){
var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){
var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){
F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{
return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){
o.data(this,E,G)})}},removeData:function(E){
return this.each(function(){
o.removeData(this,E)})},queue:function(E,F){
if(typeof E!=="string"){
F=E;E="fx"}if(F===g){
return o.queue(this[0],E)}return this.each(function(){
var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){
G[0].call(this)}})},dequeue:function(E){
return this.each(function(){
o.dequeue(this,E)})}});

/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){
var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){
ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){
return[]}if(!Y||typeof Y!=="string"){
return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){
Z.push(W[1]);if(W[2]){
V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){
if(Z.length===2&&I.relative[Z[0]]){
af=J(Z[0]+Z[1],U)}else{
af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){
Y=Z.shift();if(I.relative[Y]){
Y+=Z.shift()}af=J(Y,af)}}}else{
var ae=ac?{
expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){
ai=E(af)}else{
X=false}while(Z.length){
var ah=Z.pop(),ag=ah;if(!I.relative[ah]){
ah=""}else{
ag=Z.pop()}if(ag==null){
ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){
ai=af}if(!ai){
throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){
if(!X){
ab.push.apply(ab,ai)}else{
if(U.nodeType===1){
for(var aa=0;ai[aa]!=null;aa++){
if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){
ab.push(af[aa])}}}else{
for(var aa=0;ai[aa]!=null;aa++){
if(ai[aa]&&ai[aa].nodeType===1){
ab.push(af[aa])}}}}}else{
E(ai,ab)}if(V){
F(V,U,ab,ac);if(G){
hasDuplicate=false;ab.sort(G);if(hasDuplicate){
for(var aa=1;aa<ab.length;aa++){
if(ab[aa]===ab[aa-1]){
ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){
return F(T,null,null,U)};F.find=function(aa,T,ab){
var Z,X;if(!aa){
return[]}for(var W=0,V=I.order.length;W<V;W++){
var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){
var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){
X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){
aa=aa.replace(I.match[Y],"");break}}}}if(!Z){
Z=T.getElementsByTagName("*")}return{
set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){
var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){
for(var ab in I.filter){
if((Y=I.match[ab].exec(ad))!=null){
var U=I.filter[ab],ah,af;T=false;if(aa==ai){
ai=[]}if(I.preFilter[ab]){
Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){
T=ah=true}else{
if(Y===true){
continue}}}if(Y){
for(var X=0;(af=aa[X])!=null;X++){
if(af){
ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){
if(ae){
T=true}else{
aa[X]=false}}else{
if(ae){
ai.push(af);T=true}}}}}if(ah!==g){
if(!ag){
aa=ai}ad=ad.replace(I.match[ab],"");if(!T){
return[]}break}}}if(ad==V){
if(T==null){
throw"Syntax error, unrecognized expression: "+ad}else{
break}}V=ad}return aa};var I=F.selectors={
order:["ID","NAME","TAG"],match:{
ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{
"class":"className","for":"htmlFor"},attrHandle:{
href:function(T){
return T.getAttribute("href")}},relative:{
"+":function(aa,T,Z){
var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){
T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){
if((U=aa[W])){
while((U=U.previousSibling)&&U.nodeType!==1){
}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){
F.filter(T,aa,true)}},">":function(Z,U,aa){
var X=typeof U==="string";if(X&&!/\W/.test(U)){
U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){
var Y=Z[V];if(Y){
var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{
for(var V=0,T=Z.length;V<T;V++){
var Y=Z[V];if(Y){
Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){
F.filter(U,Z,true)}}},"":function(W,U,Y){
var V=L++,T=S;if(!U.match(/\W/)){
var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){
var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){
var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{
ID:function(U,V,W){
if(typeof V.getElementById!=="undefined"&&!W){
var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){
if(typeof Y.getElementsByName!=="undefined"){
var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){
if(X[W].getAttribute("name")===V[1]){
U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){
return U.getElementsByTagName(T[1])}},preFilter:{
CLASS:function(W,U,V,T,Z,aa){
W=" "+W[1].replace(/\\/g,"")+" ";if(aa){
return W}for(var X=0,Y;(Y=U[X])!=null;X++){
if(Y){
if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){
if(!V){
T.push(Y)}}else{
if(V){
U[X]=false}}}}return false},ID:function(T){
return T[1].replace(/\\/g,"")},TAG:function(U,T){
for(var V=0;T[V]===false;V++){
}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){
if(T[1]=="nth"){
var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){
var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){
X[1]=I.attrMap[W]}if(X[2]==="~="){
X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){
if(X[1]==="not"){
if(X[3].match(R).length>1||/^\w/.test(X[3])){
X[3]=F(X[3],null,null,U)}else{
var W=F.filter(X[3],U,V,true^Y);if(!V){
T.push.apply(T,W)}return false}}else{
if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){
return true}}return X},POS:function(T){
T.unshift(true);return T}},filters:{
enabled:function(T){
return T.disabled===false&&T.type!=="hidden"},disabled:function(T){
return T.disabled===true},checked:function(T){
return T.checked===true},selected:function(T){
T.parentNode.selectedIndex;return T.selected===true},parent:function(T){
return !!T.firstChild},empty:function(T){
return !T.firstChild},has:function(V,U,T){
return !!F(T[3],V).length},header:function(T){
return/h\d/i.test(T.nodeName)},text:function(T){
return"text"===T.type},radio:function(T){
return"radio"===T.type},checkbox:function(T){
return"checkbox"===T.type},file:function(T){
return"file"===T.type},password:function(T){
return"password"===T.type},submit:function(T){
return"submit"===T.type},image:function(T){
return"image"===T.type},reset:function(T){
return"reset"===T.type},button:function(T){
return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){
return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{
first:function(U,T){
return T===0},last:function(V,U,T,W){
return U===W.length-1},even:function(U,T){
return T%2===0},odd:function(U,T){
return T%2===1},lt:function(V,U,T){
return U<T[3]-0},gt:function(V,U,T){
return U>T[3]-0},nth:function(V,U,T){
return T[3]-0==U},eq:function(V,U,T){
return T[3]-0==U}},filter:{
PSEUDO:function(Z,V,W,aa){
var U=V[1],X=I.filters[U];if(X){
return X(Z,W,V,aa)}else{
if(U==="contains"){
return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{
if(U==="not"){
var Y=V[3];for(var W=0,T=Y.length;W<T;W++){
if(Y[W]===Z){
return false}}return true}}}},CHILD:function(T,W){
var Z=W[1],U=T;switch(Z){
case"only":case"first":while(U=U.previousSibling){
if(U.nodeType===1){
return false}}if(Z=="first"){
return true}U=T;case"last":while(U=U.nextSibling){
if(U.nodeType===1){
return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){
return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){
var X=0;for(U=ab.firstChild;U;U=U.nextSibling){
if(U.nodeType===1){
U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){
return aa==0}else{
return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){
return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){
return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){
return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){
var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){
var T=U[2],W=I.setFilters[T];if(W){
return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){
I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){
U=Array.prototype.slice.call(U);if(T){
T.push.apply(T,U);return T}return U};try{
Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){
E=function(X,W){
var U=W||[];if(H.call(X)==="[object Array]"){
Array.prototype.push.apply(U,X)}else{
if(typeof X.length==="number"){
for(var V=0,T=X.length;V<T;V++){
U.push(X[V])}}else{
for(var V=0;X[V];V++){
U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){
G=function(U,T){
var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){
hasDuplicate=true}return V}}else{
if("sourceIndex" in document.documentElement){
G=function(U,T){
var V=U.sourceIndex-T.sourceIndex;if(V===0){
hasDuplicate=true}return V}}else{
if(document.createRange){
G=function(W,U){
var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){
hasDuplicate=true}return X}}}}(function(){
var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){
I.find.ID=function(X,Y,Z){
if(typeof Y.getElementById!=="undefined"&&!Z){
var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){
var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){
var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){
I.find.TAG=function(U,Y){
var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){
var W=[];for(var V=0;X[V];V++){
if(X[V].nodeType===1){
W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){
I.attrHandle.href=function(U){
return U.getAttribute("href",2)}}})();if(document.querySelectorAll){
(function(){
var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){
return}F=function(Y,X,V,W){
X=X||document;if(!W&&X.nodeType===9&&!Q(X)){
try{
return E(X.querySelectorAll(Y),V)}catch(Z){
}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){
(function(){
var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){
return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){
return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){
if(typeof V.getElementsByClassName!=="undefined"&&!W){
return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){
var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){
var T=ad[W];if(T){
if(ab&&T.nodeType===1){
T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){
if(T.sizcache===Y){
X=ad[T.sizset];break}if(T.nodeType===1&&!ac){
T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){
X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){
var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){
var T=ad[W];if(T){
if(ab&&T.nodeType===1){
T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){
if(T.sizcache===Y){
X=ad[T.sizset];break}if(T.nodeType===1){
if(!ac){
T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){
if(T===Z){
X=true;break}}else{
if(F.filter(Z,[T]).length>0){
X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){
return U.compareDocumentPosition(T)&16}:function(U,T){
return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){
return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){
var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){
X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){
F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){
return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){
return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){
return o.grep(o.timers,function(U){
return T===U.elem}).length};o.multiFilter=function(V,T,U){
if(U){
V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){
var T=[],W=V[U];while(W&&W!=document){
if(W.nodeType==1){
T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){
T=T||1;var U=0;for(;X;X=X[V]){
if(X.nodeType==1&&++U==T){
break}}return X};o.sibling=function(V,U){
var T=[];for(;V;V=V.nextSibling){
if(V.nodeType==1&&V!=U){
T.push(V)}}return T};return;l.Sizzle=F})();o.event={
add:function(I,F,H,K){
if(I.nodeType==3||I.nodeType==8){
return}if(I.setInterval&&I!=l){
I=l}if(!H.guid){
H.guid=this.guid++}if(K!==g){
var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{
}),J=o.data(I,"handle")||o.data(I,"handle",function(){
return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){
var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){
o.event.specialAll[N].setup.call(I,K,O)}if(!L){
L=E[N]={
};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){
if(I.addEventListener){
I.addEventListener(N,J,false)}else{
if(I.attachEvent){
I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{
},remove:function(K,H,J){
if(K.nodeType==3||K.nodeType==8){
return}var G=o.data(K,"events"),F,E;if(G){
if(H===g||(typeof H==="string"&&H.charAt(0)==".")){
for(var I in G){
this.remove(K,I+(H||""))}}else{
if(H.type){
J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){
var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){
if(J){
delete G[O][J.guid]}else{
for(var P in G[O]){
if(N.test(G[O][P].type)){
delete G[O][P]}}}if(o.event.specialAll[O]){
o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){
break}if(!F){
if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){
if(K.removeEventListener){
K.removeEventListener(O,o.data(K,"handle"),false)}else{
if(K.detachEvent){
K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){
break}if(!F){
var L=o.data(K,"handle");if(L){
L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){
var G=I.type||I;if(!E){
I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){
I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){
I.stopPropagation();if(this.global[G]){
o.each(o.cache,function(){
if(this.events&&this.events[G]){
o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){
return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){
J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){
I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){
this.triggered=true;try{
H[G]()}catch(L){
}}this.triggered=false;if(!I.isPropagationStopped()){
var F=H.parentNode||H.ownerDocument;if(F){
o.event.trigger(I,K,F,true)}}},handle:function(K){
var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{
})[K.type];for(var G in E){
var H=E[G];if(J||I.test(H.type)){
K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){
K.result=F;if(F===false){
K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){
break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){
if(H[h]){
return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){
J=this.props[--G];H[J]=F[J]}if(!H.target){
H.target=H.srcElement||document}if(H.target.nodeType==3){
H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){
H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){
var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){
H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){
H.metaKey=H.ctrlKey}if(!H.which&&H.button){
H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){
E=E||function(){
return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{
ready:{
setup:B,teardown:function(){
}}},specialAll:{
live:{
setup:function(E,F){
o.event.add(this,F[0],c)},teardown:function(G){
if(G.length){
var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{
}),function(){
if(F.test(this.type)){
E++}});if(E<1){
o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){
if(!this.preventDefault){
return new o.Event(E)}if(E&&E.type){
this.originalEvent=E;this.type=E.type}else{
this.type=E}this.timeStamp=e();this[h]=true};function k(){
return false}function u(){
return true}o.Event.prototype={
preventDefault:function(){
this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){
return}if(E.preventDefault){
E.preventDefault()}E.returnValue=false},stopPropagation:function(){
this.isPropagationStopped=u;var E=this.originalEvent;if(!E){
return}if(E.stopPropagation){
E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){
this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){
var E=F.relatedTarget;while(E&&E!=this){
try{
E=E.parentNode}catch(G){
E=this}}if(E!=this){
F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({
mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){
o.event.special[E]={
setup:function(){
o.event.add(this,F,a,E)},teardown:function(){
o.event.remove(this,F,a)}}});o.fn.extend({
bind:function(F,G,E){
return F=="unload"?this.one(F,G,E):this.each(function(){
o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){
var E=o.event.proxy(F||H,function(I){
o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){
o.event.add(this,G,E,F&&H)})},unbind:function(F,E){
return this.each(function(){
o.event.remove(this,F,E)})},trigger:function(E,F){
return this.each(function(){
o.event.trigger(E,F,this)})},triggerHandler:function(E,G){
if(this[0]){
var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){
var E=arguments,F=1;while(F<E.length){
o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){
this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){
return this.mouseenter(E).mouseleave(F)},ready:function(E){
B();if(o.isReady){
E.call(document,o)}else{
o.readyList.push(E)}return this},live:function(G,F){
var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){
o(document).unbind(i(F,this.selector),E?{
guid:E.guid+this.selector+F}:null);return this}});function c(H){
var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){
if(E.test(J.type)){
var K=o(H.target).closest(J.data)[0];if(K){
F.push({
elem:K,fn:J})}}});F.sort(function(J,I){
return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){
if(this.fn.call(this.elem,H,this.fn.data)===false){
return(G=false)}});return G}function i(F,E){
return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({
isReady:false,readyList:[],ready:function(){
if(!o.isReady){
o.isReady=true;if(o.readyList){
o.each(o.readyList,function(){
this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){
if(x){
return}x=true;if(document.addEventListener){
document.addEventListener("DOMContentLoaded",function(){
document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{
if(document.attachEvent){
document.attachEvent("onreadystatechange",function(){
if(document.readyState==="complete"){
document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){
(function(){
if(o.isReady){
return}try{
document.documentElement.doScroll("left")}catch(E){
setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){
o.fn[E]=function(G){
return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){
for(var E in o.cache){
if(E!=1&&o.cache[E].handle){
o.event.remove(o.cache[E].handle.elem)}}});(function(){
o.support={
};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){
return}o.support={
leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{
G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){
}F.insertBefore(G,F.firstChild);if(l[J]){
o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){
K.attachEvent("onclick",function(){
o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){
var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={
"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({
_load:o.fn.load,load:function(G,J,K){
if(typeof G!=="string"){
return this._load(G)}var I=G.indexOf(" ");if(I>=0){
var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){
if(o.isFunction(J)){
K=J;J=null}else{
if(typeof J==="object"){
J=o.param(J);H="POST"}}}var F=this;o.ajax({
url:G,type:H,dataType:"html",data:J,complete:function(M,L){
if(L=="success"||L=="notmodified"){
F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){
F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){
return o.param(this.serializeArray())},serializeArray:function(){
return this.map(function(){
return this.elements?o.makeArray(this.elements):this}).filter(function(){
return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){
var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){
return{
name:F.name,value:I}}):{
name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){
o.fn[F]=function(G){
return this.bind(F,G)}});var r=e();o.extend({
get:function(E,G,H,F){
if(o.isFunction(G)){
H=G;G=null}return o.ajax({
type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){
return o.get(E,null,F,"script")},getJSON:function(E,F,G){
return o.get(E,F,G,"json")},post:function(E,G,H,F){
if(o.isFunction(G)){
H=G;G={
}}return o.ajax({
type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){
o.extend(o.ajaxSettings,E)},ajaxSettings:{
url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){
return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{
xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{
},ajax:function(M){
M=o.extend(true,M,o.extend(true,{
},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){
M.data=o.param(M.data)}if(M.dataType=="jsonp"){
if(G=="GET"){
if(!M.url.match(F)){
M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{
if(!M.data||!M.data.match(F)){
M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){
W="jsonp"+r++;if(M.data){
M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){
V=X;I();L();l[W]=g;try{
delete l[W]}catch(Y){
}if(H){
H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){
M.cache=false}if(M.cache===false&&G=="GET"){
var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){
M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){
o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){
var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){
T.charset=M.scriptCharset}if(!W){
var O=false;T.onload=T.onreadystatechange=function(){
if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){
O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){
J.open(G,M.url,M.async,M.username,M.password)}else{
J.open(G,M.url,M.async)}try{
if(M.data){
J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){
J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){
}if(M.beforeSend&&M.beforeSend(J,M)===false){
if(M.global&&!--o.active){
o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){
o.event.trigger("ajaxSend",[J,M])}var N=function(X){
if(J.readyState==0){
if(P){
clearInterval(P);P=null;if(M.global&&!--o.active){
o.event.trigger("ajaxStop")}}}else{
if(!K&&J&&(J.readyState==4||X=="timeout")){
K=true;if(P){
clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){
try{
V=o.httpData(J,M.dataType,M)}catch(Z){
R="parsererror"}}if(R=="success"){
var Y;try{
Y=J.getResponseHeader("Last-Modified")}catch(Z){
}if(M.ifModified&&Y){
o.lastModified[M.url]=Y}if(!W){
I()}}else{
o.handleError(M,J,R)}L();if(X){
J.abort()}if(M.async){
J=null}}}};if(M.async){
var P=setInterval(N,13);if(M.timeout>0){
setTimeout(function(){
if(J&&!K){
N("timeout")}},M.timeout)}}try{
J.send(M.data)}catch(S){
o.handleError(M,J,null,S)}if(!M.async){
N()}function I(){
if(M.success){
M.success(V,R)}if(M.global){
o.event.trigger("ajaxSuccess",[J,M])}}function L(){
if(M.complete){
M.complete(J,R)}if(M.global){
o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){
o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){
if(F.error){
F.error(H,E,G)}if(F.global){
o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){
try{
return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){
}return false},httpNotModified:function(G,E){
try{
var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){
}return false},httpData:function(J,H,G){
var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){
throw"parsererror"}if(G&&G.dataFilter){
I=G.dataFilter(I,H)}if(typeof I==="string"){
if(H=="script"){
o.globalEval(I)}if(H=="json"){
I=l["eval"]("("+I+")")}}return I},param:function(E){
var G=[];function H(I,J){
G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){
o.each(E,function(){
H(this.name,this.value)})}else{
for(var F in E){
if(o.isArray(E[F])){
o.each(E[F],function(){
H(F,this)})}else{
H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={
},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){
var G={
};o.each(d.concat.apply([],d.slice(0,E)),function(){
G[this]=F});return G}o.fn.extend({
show:function(J,L){
if(J){
return this.animate(t("show",3),J,L)}else{
for(var H=0,F=this.length;H<F;H++){
var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){
var G=this[H].tagName,K;if(m[G]){
K=m[G]}else{
var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){
K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){
this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){
if(H){
return this.animate(t("hide",3),H,I)}else{
for(var G=0,F=this.length;G<F;G++){
var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){
o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){
this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){
var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){
var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){
return this.animate({
opacity:G},E,F)},animate:function(I,F,H,G){
var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){
var K=o.extend({
},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){
if(I[M]=="hide"&&L||I[M]=="show"&&!L){
return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){
K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){
this.style.overflow="hidden"}K.curAnim=o.extend({
},I);o.each(I,function(O,S){
var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){
R[S=="toggle"?L?"show":"hide":S](I)}else{
var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){
var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){
J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){
N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{
R.custom(T,S,"")}}});return true})},stop:function(F,E){
var G=o.timers;if(F){
this.queue([])}this.each(function(){
for(var H=G.length-1;H>=0;H--){
if(G[H].elem==this){
if(E){
G[H](true)}G.splice(H,1)}}});if(!E){
this.dequeue()}return this}});o.each({
slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{
opacity:"show"},fadeOut:{
opacity:"hide"}},function(E,F){
o.fn[E]=function(G,H){
return this.animate(F,G,H)}});o.extend({
speed:function(G,H,F){
var E=typeof G==="object"?G:{
complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){
if(E.queue!==false){
o(this).dequeue()}if(o.isFunction(E.old)){
E.old.call(this)}};return E},easing:{
linear:function(G,H,E,F){
return E+F*G},swing:function(G,H,E,F){
return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){
this.options=E;this.elem=F;this.prop=G;if(!E.orig){
E.orig={
}}}});o.fx.prototype={
update:function(){
if(this.options.step){
this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){
this.elem.style.display="block"}},cur:function(F){
if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){
return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){
this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){
return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){
n=setInterval(function(){
var K=o.timers;for(var J=0;J<K.length;J++){
if(!K[J]()){
K.splice(J--,1)}}if(!K.length){
clearInterval(n);n=g}},13)}},show:function(){
this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){
this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){
var G=e();if(H||G>=this.options.duration+this.startTime){
this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){
if(this.options.curAnim[F]!==true){
E=false}}if(E){
if(this.options.display!=null){
this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){
this.elem.style.display="block"}}if(this.options.hide){
o(this.elem).hide()}if(this.options.hide||this.options.show){
for(var I in this.options.curAnim){
o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{
var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{
speeds:{
slow:600,fast:200,_default:400},step:{
opacity:function(E){
o.attr(E.elem.style,"opacity",E.now)},_default:function(E){
if(E.elem.style&&E.elem.style[E.prop]!=null){
E.elem.style[E.prop]=E.now+E.unit}else{
E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){
o.fn.offset=function(){
if(!this[0]){
return{
top:0,left:0}}if(this[0]===this[0].ownerDocument.body){
return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{
top:I,left:H}}}else{
o.fn.offset=function(){
if(!this[0]){
return{
top:0,left:0}}if(this[0]===this[0].ownerDocument.body){
return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){
M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){
N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){
N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){
N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){
N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){
N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{
top:N,left:I}}}o.offset={
initialize:function(){
if(this.initialized){
return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={
position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){
F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){
o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){
G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{
top:G,left:F}}};o.fn.extend({
position:function(){
var I=0,H=0,F;if(this[0]){
var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{
top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={
top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){
var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){
E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){
var G="scroll"+E;o.fn[G]=function(H){
if(!this[0]){
return null}return H!==g?this.each(function(){
this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){
var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){
return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){
return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){
return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();

/////////////////////////////////////////////////////////////////////////////
// animatedcollapse.js

//** Animated Collapsible DIV v2.0- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com.
//** May 24th, 08'- Script rewritten and updated to 2.0.
//** June 4th, 08'- Version 2.01: Bug fix to work with jquery 1.2.6 (which changed the way attr() behaves).
//** March 5th, 09'- Version 2.2, which adds the following:
			//1) ontoggle($, divobj, state) event that fires each time a DIV is expanded/collapsed, including when the page 1st loads
			//2) Ability to expand a DIV via a URL parameter string, ie: index.htm?expanddiv=jason or index.htm?expanddiv=jason,kelly

//** March 9th, 09'- Version 2.2.1: Optimized ontoggle event handler slightly.
//** July 3rd, 09'- Version 2.4, which adds the following:
			//1) You can now insert rel="expand[divid] | collapse[divid] | toggle[divid]" inside arbitrary links to act as DIV togglers
			//2) For image toggler links, you can insert the attributes "data-openimage" and "data-closedimage" to update its image based on the DIV state

var animatedcollapse={
divholders: {}, //structure: {div.id, div.attrs, div.$divref, div.$togglerimage}
divgroups: {}, //structure: {groupname.count, groupname.lastactivedivid}
lastactiveingroup: {}, //structure: {lastactivediv.id}
preloadimages: [],

show:function(divids){ //public method
	if (typeof divids=="object"){
		for (var i=0; i<divids.length; i++)
			this.showhide(divids[i], "show")
	}
	else
		this.showhide(divids, "show")
},

hide:function(divids){ //public method
	if (typeof divids=="object"){
		for (var i=0; i<divids.length; i++)
			this.showhide(divids[i], "hide")
	}
	else
		this.showhide(divids, "hide")
},

toggle:function(divid){ //public method
	if (typeof divid=="object")
		divid=divid[0]
	this.showhide(divid, "toggle")
},

addDiv:function(divid, attrstring){ //public function
	this.divholders[divid]=({id: divid, $divref: null, attrs: attrstring})
	this.divholders[divid].getAttr=function(name){ //assign getAttr() function to each divholder object
		var attr=new RegExp(name+"=([^,]+)", "i") //get name/value config pair (ie: width=400px,)
		return (attr.test(this.attrs) && parseInt(RegExp.$1)!=0)? RegExp.$1 : null //return value portion (string), or 0 (false) if none found
	}
	this.currentid=divid //keep track of current div object being manipulated (in the event of chaining)
	return this
},

showhide:function(divid, action){
	var $divref=this.divholders[divid].$divref //reference collapsible DIV
	if (this.divholders[divid] && $divref.length==1){ //if DIV exists
		var targetgroup=this.divgroups[$divref.attr('groupname')] //find out which group DIV belongs to (if any)
		if ($divref.attr('groupname') && targetgroup.count>1 && (action=="show" || action=="toggle" && $divref.css('display')=='none')){ //If current DIV belongs to a group
			if (targetgroup.lastactivedivid && targetgroup.lastactivedivid!=divid) //if last active DIV is set
				this.slideengine(targetgroup.lastactivedivid, 'hide') //hide last active DIV within group first
				this.slideengine(divid, 'show')
			targetgroup.lastactivedivid=divid //remember last active DIV
		}
		else{
			this.slideengine(divid, action)
		}
	}
},

slideengine:function(divid, action){
	var $divref=this.divholders[divid].$divref
	var $togglerimage=this.divholders[divid].$togglerimage
	if (this.divholders[divid] && $divref.length==1){ //if this DIV exists
		var animateSetting={height: action}
		if ($divref.attr('fade'))
			animateSetting.opacity=action
		$divref.animate(animateSetting, $divref.attr('speed')? parseInt($divref.attr('speed')) : 500, function(){
			if ($togglerimage){
				$togglerimage.attr('src', ($divref.css('display')=="none")? $togglerimage.data('srcs').closed : $togglerimage.data('srcs').open)
			}
			if (animatedcollapse.ontoggle){
				try{
					animatedcollapse.ontoggle(jQuery, $divref.get(0), $divref.css('display'))
				}
				catch(e){
					alert("An error exists inside your \"ontoggle\" function:\n\n"+e+"\n\nAborting execution of function.")
				}
			}
		})
		return false
	}
},

generatemap:function(){
	var map={}
	for (var i=0; i<arguments.length; i++){
		if (arguments[i][1]!=null){ //do not generate name/value pair if value is null
			map[arguments[i][0]]=arguments[i][1]
		}
	}
	return map
},

init:function(){
	var ac=this
	jQuery(document).ready(function($){
		animatedcollapse.ontoggle=animatedcollapse.ontoggle || null
		var urlparamopenids=animatedcollapse.urlparamselect() //Get div ids that should be expanded based on the url (['div1','div2',etc])
		var persistopenids=ac.getCookie('acopendivids') //Get list of div ids that should be expanded due to persistence ('div1,div2,etc')
		var groupswithpersist=ac.getCookie('acgroupswithpersist') //Get list of group names that have 1 or more divs with "persist" attribute defined
		if (persistopenids!=null) //if cookie isn't null (is null if first time page loads, and cookie hasnt been set yet)
			persistopenids=(persistopenids=='nada')? [] : persistopenids.split(',') //if no divs are persisted, set to empty array, else, array of div ids
		groupswithpersist=(groupswithpersist==null || groupswithpersist=='nada')? [] : groupswithpersist.split(',') //Get list of groups with divs that are persisted
		jQuery.each(ac.divholders, function(){ //loop through each collapsible DIV object
			this.$divref=$('#'+this.id)
			if ((this.getAttr('persist') || jQuery.inArray(this.getAttr('group'), groupswithpersist)!=-1) && persistopenids!=null){ //if this div carries a user "persist" setting, or belong to a group with at least one div that does
				var cssdisplay=(jQuery.inArray(this.id, persistopenids)!=-1)? 'block' : 'none'
			}
			else{
				var cssdisplay=this.getAttr('hide')? 'none' : null
			}
			if (urlparamopenids[0]=="all" || jQuery.inArray(this.id, urlparamopenids)!=-1){ //if url parameter string contains the single array element "all", or this div's ID
				cssdisplay='block' //set div to "block", overriding any other setting
			}
			else if (urlparamopenids[0]=="none"){
				cssdisplay='none' //set div to "none", overriding any other setting
			}
			this.$divref.css(ac.generatemap(['height', this.getAttr('height')], ['display', cssdisplay]))
			this.$divref.attr(ac.generatemap(['groupname', this.getAttr('group')], ['fade', this.getAttr('fade')], ['speed', this.getAttr('speed')]))
			if (this.getAttr('group')){ //if this DIV has the "group" attr defined
				var targetgroup=ac.divgroups[this.getAttr('group')] || (ac.divgroups[this.getAttr('group')]={}) //Get settings for this group, or if it no settings exist yet, create blank object to store them in
				targetgroup.count=(targetgroup.count||0)+1 //count # of DIVs within this group
				if (jQuery.inArray(this.id, urlparamopenids)!=-1){ //if url parameter string contains this div's ID
					targetgroup.lastactivedivid=this.id //remember this DIV as the last "active" DIV (this DIV will be expanded). Overrides other settings
					targetgroup.overridepersist=1 //Indicate to override persisted div that would have been expanded
				}
				if (!targetgroup.lastactivedivid && this.$divref.css('display')!='none' || cssdisplay=="block" && typeof targetgroup.overridepersist=="undefined") //if this DIV was open by default or should be open due to persistence								
					targetgroup.lastactivedivid=this.id //remember this DIV as the last "active" DIV (this DIV will be expanded)
				this.$divref.css({display:'none'}) //hide any DIV that's part of said group for now
			}
		}) //end divholders.each
		jQuery.each(ac.divgroups, function(){ //loop through each group
			if (this.lastactivedivid && urlparamopenids[0]!="none") //show last "active" DIV within each group (one that should be expanded), unless url param="none"
				ac.divholders[this.lastactivedivid].$divref.show()
		})
		if (animatedcollapse.ontoggle){
			jQuery.each(ac.divholders, function(){ //loop through each collapsible DIV object and fire ontoggle event
				animatedcollapse.ontoggle(jQuery, this.$divref.get(0), this.$divref.css('display'))
			})
		}
		//Parse page for links containing rel attribute
		var $allcontrols=$('a[rel]').filter('[rel^="collapse["], [rel^="expand["], [rel^="toggle["]') //get all elements on page with rel="collapse[]", "expand[]" and "toggle[]"
		$allcontrols.each(function(){ //loop though each control link
			this._divids=this.getAttribute('rel').replace(/(^\w+)|(\s+)/g, "").replace(/[\[\]']/g, "") //cache value 'div1,div2,etc' within identifier[div1,div2,etc]
			if (this.getElementsByTagName('img').length==1 && ac.divholders[this._divids]){ //if control is an image link that toggles a single DIV (must be one to one to update status image)
				animatedcollapse.preloadimage(this.getAttribute('data-openimage'), this.getAttribute('data-closedimage')) //preload control images (if defined)
				$togglerimage=$(this).find('img').eq(0).data('srcs', {open:this.getAttribute('data-openimage'), closed:this.getAttribute('data-closedimage')}) //remember open and closed images' paths
				ac.divholders[this._divids].$togglerimage=$(this).find('img').eq(0) //save reference to toggler image (to be updated inside slideengine()
				ac.divholders[this._divids].$togglerimage.attr('src', (ac.divholders[this._divids].$divref.css('display')=="none")? $togglerimage.data('srcs').closed : $togglerimage.data('srcs').open)
			}
			$(this).click(function(){ //assign click behavior to each control link
				var relattr=this.getAttribute('rel')
				var divids=(this._divids=="")? [] : this._divids.split(',') //convert 'div1,div2,etc' to array 
				if (divids.length>0){
					animatedcollapse[/expand/i.test(relattr)? 'show' : /collapse/i.test(relattr)? 'hide' : 'toggle'](divids) //call corresponding public function
					return false
				}
			}) //end control.click
		})// end control.each

		$(window).bind('unload', function(){
			ac.uninit()
		})
	}) //end doc.ready()
},

uninit:function(){
	var opendivids='', groupswithpersist=''
	jQuery.each(this.divholders, function(){
		if (this.$divref.css('display')!='none'){
			opendivids+=this.id+',' //store ids of DIVs that are expanded when page unloads: 'div1,div2,etc'
		}
		if (this.getAttr('group') && this.getAttr('persist'))
			groupswithpersist+=this.getAttr('group')+',' //store groups with which at least one DIV has persistance enabled: 'group1,group2,etc'
	})
	opendivids=(opendivids=='')? 'nada' : opendivids.replace(/,$/, '')
	groupswithpersist=(groupswithpersist=='')? 'nada' : groupswithpersist.replace(/,$/, '')
	this.setCookie('acopendivids', opendivids)
	this.setCookie('acgroupswithpersist', groupswithpersist)
},

getCookie:function(Name){ 
	var re=new RegExp(Name+"=[^;]*", "i"); //construct RE to search for target name/value pair
	if (document.cookie.match(re)) //if cookie found
		return document.cookie.match(re)[0].split("=")[1] //return its value
	return null
},

setCookie:function(name, value, days){
	if (typeof days!="undefined"){ //if set persistent cookie
		var expireDate = new Date()
		expireDate.setDate(expireDate.getDate()+days)
		document.cookie = name+"="+value+"; path=/; expires="+expireDate.toGMTString()
	}
	else //else if this is a session only cookie
		document.cookie = name+"="+value+"; path=/"
},

urlparamselect:function(){
	window.location.search.match(/expanddiv=([\w\-_,]+)/i) //search for expanddiv=divid or divid1,divid2,etc
	return (RegExp.$1!="")? RegExp.$1.split(",") : []
},

preloadimage:function(){
	var preloadimages=this.preloadimages
	for (var i=0; i<arguments.length; i++){
		if (arguments[i] && arguments[i].length>0){
			preloadimages[preloadimages.length]=new Image()
			preloadimages[preloadimages.length-1].src=arguments[i]
		}
	}
}
}



/***********************************************
 Fool-Proof Date Input Script with DHTML Calendar
 by Jason Moon - webmaster@moonfam.net
 ************************************************/
// Customizable variables
var DefaultDateTime = " "
var DefaultDateFormat = 'MM/DD/YYYY'; // If no date format is supplied, this will be used instead
var HideWait = 30; // Number of seconds before the calendar will disappear
var Y2kPivotPoint = 76; // 2-digit years before this point will be created in the 21st century
var FontSize = 11; // In pixels
var FontFamily = 'Tahoma';
var CellWidth = 20;
var CellHeight = 16;
var ImageURL = 'images/calendar.jpg';
var NextURL = 'images/next.gif';
var PrevURL = 'images/prev.gif';

var NextURLYear = 'images/nextYear.gif';
var PrevURLYear = 'images/prevYear.gif';

var CalBGColor = 'white';
var TopRowBGColor = 'buttonface';
var DayBGColor = 'lightgrey';

// Global variables
var ZCounter = 100;
var Today = new Date();
var WeekDays = new Array('S','M','T','W','T','F','S');
var MonthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var MonthNames = new Array('January','February','March','April','May','June','July','August','September','October','November','December');

var TimeBoxStyle="font-size:9px;background-color: #ffffff;"

// Write out the stylesheet definition for the calendar
with (document) {
   writeln('<style>');
   writeln('td.calendarDateInput {letter-spacing:normal;line-height:normal;font-family:' + FontFamily + ',Sans-Serif;font-size:' + FontSize + 'px;}');
   writeln('select.calendarDateInput {letter-spacing:.06em;font-family:Verdana,Sans-Serif;font-size:11px;}');
   writeln('input.calendarDateInput {letter-spacing:.06em;font-family:Verdana,Sans-Serif;font-size:11px;}');
   writeln('</style>');
}

// Only allows certain keys to be used in the date field
function NumOnly(e) {
   var KeyCode = (e.keyCode) ? e.keyCode : e.which;
   return ((KeyCode == 8) // backspace
        || (KeyCode == 9) // tab
        || (KeyCode == 37) // left arrow
        || (KeyCode == 39) // right arrow
        || (KeyCode == 46) // delete
        || ((KeyCode > 47) && (KeyCode < 58)) // 0 - 9
   );
}

// Gets the absolute pixel position of the supplied element
function GetTagPixels(StartTag, Direction) {
   var PixelAmt = (Direction == 'LEFT') ? StartTag.offsetLeft : StartTag.offsetTop;
   while ((StartTag.tagName != 'BODY') && (StartTag.tagName != 'HTML')) {
      StartTag = StartTag.offsetParent;
      PixelAmt += (Direction == 'LEFT') ? StartTag.offsetLeft : StartTag.offsetTop;
   }
   return PixelAmt;
}

// Is the specified select-list behind the calendar?
function BehindCal(SelectList, CalLeftX, CalRightX, CalTopY, CalBottomY, ListTopY) {
   var ListLeftX = GetTagPixels(SelectList, 'LEFT');
   var ListRightX = ListLeftX + SelectList.offsetWidth;
   var ListBottomY = ListTopY + SelectList.offsetHeight;
   return (((ListTopY < CalBottomY) && (ListBottomY > CalTopY)) && ((ListLeftX < CalRightX) && (ListRightX > CalLeftX)));
}

// For IE, hides any select-lists that are behind the calendar
function FixSelectLists(Over) {
   if (navigator.appName == 'Microsoft Internet Explorer') {
      var CalDiv = this.getCalendar();
      var CalLeftX = CalDiv.offsetLeft;
      var CalRightX = CalLeftX + CalDiv.offsetWidth;
      var CalTopY = CalDiv.offsetTop;
      var CalBottomY = CalTopY + (CellHeight * 9);
      var FoundCalInput = false;
      formLoop :
      for (var j=this.formNumber;j<document.forms.length;j++) {
         for (var i=0;i<document.forms[j].elements.length;i++) {
            if (typeof document.forms[j].elements[i].type == 'string') {
               if ((document.forms[j].elements[i].type == 'hidden') && (document.forms[j].elements[i].name == this.hiddenFieldName)) {
                  FoundCalInput = true;
                  i += 3; // 3 elements between the 1st hidden field and the last year input field
               }
               if (FoundCalInput) {
                  if (document.forms[j].elements[i].type.substr(0,6) == 'select') {
                     ListTopY = GetTagPixels(document.forms[j].elements[i], 'TOP');
                     if (ListTopY < CalBottomY) {
                        if (BehindCal(document.forms[j].elements[i], CalLeftX, CalRightX, CalTopY, CalBottomY, ListTopY)) {
                           document.forms[j].elements[i].style.visibility = (Over) ? 'hidden' : 'visible';
                        }
                     }
                     else break formLoop;
                  }
               }
            }
         }
      }
   }
}

// Displays a message in the status bar when hovering over the calendar days
function DayCellHover(Cell, Over, Color, HoveredDay) {
   Cell.style.backgroundColor = (Over) ? DayBGColor : Color;
   if (Over) {
      if ((this.yearValue == Today.getFullYear()) && (this.monthIndex == Today.getMonth()) && (HoveredDay == Today.getDate())) self.status = 'Click to select today';
      else {
         var Suffix = HoveredDay.toString();
         switch (Suffix.substr(Suffix.length - 1, 1)) {
            case '1' : Suffix += (HoveredDay == 11) ? 'th' : 'st'; break;
            case '2' : Suffix += (HoveredDay == 12) ? 'th' : 'nd'; break;
            case '3' : Suffix += (HoveredDay == 13) ? 'th' : 'rd'; break;
            default : Suffix += 'th'; break;
         }
         self.status = 'Click to select ' + this.monthName + ' ' + Suffix;
      }
   }
   else self.status = '';
   return true;
}

// Sets the form elements after a day has been picked from the calendar
function PickDisplayDay(ClickedDay) {
   this.show();
   var MonthList = this.getMonthList();
   var DayList = this.getDayList();
   var YearField = this.getYearField();
   FixDayList(DayList, GetDayCount(this.displayed.yearValue, this.displayed.monthIndex));
   // Select the month and day in the lists
   for (var i=0;i<MonthList.length;i++) {
      if (MonthList.options[i].value == this.displayed.monthIndex) MonthList.options[i].selected = true;
   }
   for (var j=1;j<=DayList.length;j++) {
      if (j == ClickedDay) DayList.options[j-1].selected = true;
   }
   this.setPicked(this.displayed.yearValue, this.displayed.monthIndex, ClickedDay);
   // Change the year, if necessary
   YearField.value = this.picked.yearPad;
   YearField.defaultValue = YearField.value;
}

// Builds the HTML for the calendar days
function BuildCalendarDays() {
   var Rows = 5;
   if (((this.displayed.dayCount == 31) && (this.displayed.firstDay > 4)) || ((this.displayed.dayCount == 30) && (this.displayed.firstDay == 6))) Rows = 6;
   else if ((this.displayed.dayCount == 28) && (this.displayed.firstDay == 0)) Rows = 4;
   var HTML = '<table width="' + (CellWidth * 7) + '" cellspacing="0" cellpadding="1" style="cursor:default">';
   for (var j=0;j<Rows;j++) {
      HTML += '<tr>';
      for (var i=1;i<=7;i++) {
         Day = (j * 7) + (i - this.displayed.firstDay);
         if ((Day >= 1) && (Day <= this.displayed.dayCount)) {
            if ((this.displayed.yearValue == this.picked.yearValue) && (this.displayed.monthIndex == this.picked.monthIndex) && (Day == this.picked.day)) {
               TextStyle = 'color:white;font-weight:bold;'
               BackColor = DayBGColor;
            }
            else {
               TextStyle = 'color:black;'
               BackColor = CalBGColor;
            }
            if ((this.displayed.yearValue == Today.getFullYear()) && (this.displayed.monthIndex == Today.getMonth()) && (Day == Today.getDate())) TextStyle += 'border:1px solid darkred;padding:0px;';
            HTML += '<td align="center" class="calendarDateInput" style="cursor:default;height:' + CellHeight + ';width:' + CellWidth + ';' + TextStyle + ';background-color:' + BackColor + '" onClick="' + this.objName + '.pickDay(' + Day + ')" onMouseOver="return ' + this.objName + '.displayed.dayHover(this,true,\'' + BackColor + '\',' + Day + ')" onMouseOut="return ' + this.objName + '.displayed.dayHover(this,false,\'' + BackColor + '\')">' + Day + '</td>';
         }
         else HTML += '<td class="calendarDateInput" style="height:' + CellHeight + '">&nbsp;</td>';
      }
      HTML += '</tr>';
   }
   return HTML += '</table>';
}

// Determines which century to use (20th or 21st) when dealing with 2-digit years
function GetGoodYear(YearDigits) {
   if (YearDigits.length == 4) return YearDigits;
   else {
      var Millennium = (YearDigits < Y2kPivotPoint) ? 2000 : 1900;
      return Millennium + parseInt(YearDigits,10);
   }
}

// Returns the number of days in a month (handles leap-years)
function GetDayCount(SomeYear, SomeMonth) {
   return ((SomeMonth == 1) && ((SomeYear % 400 == 0) || ((SomeYear % 4 == 0) && (SomeYear % 100 != 0)))) ? 29 : MonthDays[SomeMonth];
}

// Highlights the buttons
function VirtualButton(Cell, ButtonDown) {
   if (ButtonDown) {
      Cell.style.borderLeft = 'buttonshadow 1px solid';
      Cell.style.borderTop = 'buttonshadow 1px solid';
      Cell.style.borderBottom = 'buttonhighlight 1px solid';
      Cell.style.borderRight = 'buttonhighlight 1px solid';
   }
   else {
      Cell.style.borderLeft = 'buttonhighlight 1px solid';
      Cell.style.borderTop = 'buttonhighlight 1px solid';
      Cell.style.borderBottom = 'buttonshadow 1px solid';
      Cell.style.borderRight = 'buttonshadow 1px solid';
   }
}

// Mouse-over for the previous/next month buttons
function NeighborHover(Cell, Over, DateObj) {
   if (Over) {
      VirtualButton(Cell, false);
      self.status = 'Click to view ' + DateObj.fullName;
   }
   else {
      Cell.style.border = 'buttonface 1px solid';
      self.status = '';
   }
   return true;
}

// Adds/removes days from the day list, depending on the month/year
function FixDayList(DayList, NewDays) {
   var DayPick = DayList.selectedIndex + 1;
   if (NewDays != DayList.length) {
      var OldSize = DayList.length;
      for (var k=Math.min(NewDays,OldSize);k<Math.max(NewDays,OldSize);k++) {
         (k >= NewDays) ? DayList.options[NewDays] = null : DayList.options[k] = new Option(k+1, k+1);
      }
      DayPick = Math.min(DayPick, NewDays);
      DayList.options[DayPick-1].selected = true;
   }
   return DayPick;
}

// Resets the year to its previous valid value when something invalid is entered
function FixYearInput(YearField) {
   var YearRE = new RegExp('\\d{' + YearField.defaultValue.length + '}');
   if (!YearRE.test(YearField.value)) YearField.value = YearField.defaultValue;
}

// Displays a message in the status bar when hovering over the calendar icon
function CalIconHover(Over) {
   var Message = (this.isShowing()) ? 'hide' : 'show';
   self.status = (Over) ? 'Click to ' + Message + ' the calendar' : '';
   return true;
}

// Starts the timer over from scratch
function CalTimerReset() {
   eval('clearTimeout(' + this.timerID + ')');
   eval(this.timerID + '=setTimeout(\'' + this.objName + '.show()\',' + (HideWait * 1000) + ')');
}

// The timer for the calendar
function DoTimer(CancelTimer) {
   if (CancelTimer) eval('clearTimeout(' + this.timerID + ')');
   else {
      eval(this.timerID + '=null');
      this.resetTimer();
   }
}

// Show or hide the calendar
function ShowCalendar() {
   if (this.isShowing()) {
      var StopTimer = true;
      this.getCalendar().style.zIndex = --ZCounter;
      this.getCalendar().style.visibility = 'hidden';
      this.fixSelects(false);
   }
   else {
      var StopTimer = false;
      this.fixSelects(true);
      this.getCalendar().style.zIndex = ++ZCounter;
      this.getCalendar().style.visibility = 'visible';
   }
   this.handleTimer(StopTimer);
   self.status = '';
}

// Hides the input elements when the "blank" month is selected
function SetElementStatus(Hide) {
   this.getDayList().style.visibility = (Hide) ? 'hidden' : 'visible';
   this.getYearField().style.visibility = (Hide) ? 'hidden' : 'visible';
   this.getCalendarLink().style.visibility = (Hide) ? 'hidden' : 'visible';
}

// Sets the date, based on the month selected
function CheckMonthChange(MonthList) {
   var DayList = this.getDayList();
   if (MonthList.options[MonthList.selectedIndex].value == '') {
      DayList.selectedIndex = 0;
      this.hideElements(true);
      this.setHidden('');
   }
   else {
      this.hideElements(false);
      if (this.isShowing()) {
         this.resetTimer(); // Gives the user more time to view the calendar with the newly-selected month
         this.getCalendar().style.zIndex = ++ZCounter; // Make sure this calendar is on top of any other calendars
      }
      var DayPick = FixDayList(DayList, GetDayCount(this.picked.yearValue, MonthList.options[MonthList.selectedIndex].value));
      this.setPicked(this.picked.yearValue, MonthList.options[MonthList.selectedIndex].value, DayPick);
   }
}

// Sets the date, based on the day selected
function CheckDayChange(DayList) {
   if (this.isShowing()) this.show();
   this.setPicked(this.picked.yearValue, this.picked.monthIndex, DayList.selectedIndex+1);
}

// Changes the date when a valid year has been entered
function CheckYearInput(YearField) {
   if ((YearField.value.length == YearField.defaultValue.length) && (YearField.defaultValue != YearField.value)) {
      if (this.isShowing()) {
         this.resetTimer(); // Gives the user more time to view the calendar with the newly-entered year
         this.getCalendar().style.zIndex = ++ZCounter; // Make sure this calendar is on top of any other calendars
      }
      var NewYear = GetGoodYear(YearField.value);
      var MonthList = this.getMonthList();
      var NewDay = FixDayList(this.getDayList(), GetDayCount(NewYear, this.picked.monthIndex));
      this.setPicked(NewYear, this.picked.monthIndex, NewDay);
      YearField.defaultValue = YearField.value;
   }
}

// Holds characteristics about a date
function dateObject() {
   this.date = (arguments.length == 1) ? new Date(arguments[0]) : new Date(arguments[0], arguments[1], arguments[2]);
   this.yearValue = this.date.getFullYear();
   this.monthIndex = this.date.getMonth();
   this.monthName = MonthNames[this.monthIndex];
   this.fullName = this.monthName + ' ' + this.yearValue;
   this.day = this.date.getDate();
   this.dayCount = GetDayCount(this.yearValue, this.monthIndex);
   var FirstDate = new Date(this.yearValue, this.monthIndex, 1);
   this.firstDay = FirstDate.getDay();

}

// Keeps track of the date that goes into the hidden field
function storedMonthObject(DateFormat, DateYear, DateMonth, DateDay) {
   dateObject.call(this, DateYear, DateMonth, DateDay);
   this.yearPad = this.yearValue.toString();
   this.monthPad = (this.monthIndex < 9) ? '0' + String(this.monthIndex + 1) : this.monthIndex + 1;
   this.dayPad = (this.day < 10) ? '0' + this.day.toString() : this.day;
   this.monthShort = this.monthName.substr(0,3).toUpperCase();
   // Formats the year value
   if (DateFormat != 'YYYYMMDD') {
      DateFormat.match(/(Y{2,4})$/);
      if (RegExp.$1.length == 2) this.yearPad = this.yearPad.substr(2);
   }
   // Formats the date
   if (/YYYYMMDD/.test(DateFormat)) this.formatted = this.yearPad + this.monthPad + this.dayPad;
   else {
      if (/MM?\/DD?\/Y{2,4}/.test(DateFormat)) var FirstPart = this.monthPad + '/' + this.dayPad + '/' + this.yearPad;
      else if (/DD?\/MM?\/Y{2,4}/.test(DateFormat)) var FirstPart = this.dayPad + '/' + this.monthPad + '/' + this.yearPad;
      else if (/DD?-((MON)|(MMM))-Y{2,4}/.test(DateFormat)) var FirstPart = this.dayPad + '-' + this.monthShort + '-' + this.yearPad;
      else if (/((MON)|(MMM))-DD?-Y{2,4}/.test(DateFormat)) var FirstPart = this.monthShort + '-' + this.dayPad + '-' + this.yearPad;
      else if (/^(Y{2,4})\/(MM?)\/(DD?)$/.test(DateFormat)) var FirstPart = this.yearPad + '/' + this.monthPad + '/' + this.dayPad;
	  this.formatted = FirstPart;
	  
	  
   }
}

// Object for the current displayed month
function displayMonthObject(ParentObject, DateYear, DateMonth, DateDay) {
   dateObject.call(this, DateYear, DateMonth, DateDay);
   this.displayID = ParentObject.hiddenFieldName + '_Current_ID';
   this.getDisplay = new Function('return document.getElementById(this.displayID)');
   this.dayHover = DayCellHover;
   this.goCurrent = new Function(ParentObject.objName + '.getCalendar().style.zIndex=++ZCounter;' + ParentObject.objName + '.setDisplayed(Today.getFullYear(),Today.getMonth());');
   if (ParentObject.formNumber >= 0) this.getDisplay().innerHTML = this.fullName;
}

// Object for the previous/next buttons
function neighborMonthObject(ParentObject, IDText, DateMS) {
   dateObject.call(this, DateMS);
   this.buttonID = ParentObject.hiddenFieldName + '_' + IDText + '_ID';
   this.hover = new Function('C','O','NeighborHover(C,O,this)');
   this.getButton = new Function('return document.getElementById(this.buttonID)');
   this.go = new Function(ParentObject.objName + '.getCalendar().style.zIndex=++ZCounter;' + ParentObject.objName + '.setDisplayed(this.yearValue,this.monthIndex);');
   if (ParentObject.formNumber >= 0) this.getButton().title = this.monthName;
}

// Sets the currently-displayed month object
function SetDisplayedMonth(DispYear, DispMonth) {
   this.displayed = new displayMonthObject(this, DispYear, DispMonth, 1);
   // Creates the previous and next month objects
   this.previous = new neighborMonthObject(this, 'Previous', this.displayed.date.getTime() - 86400000);
   this.next = new neighborMonthObject(this, 'Next', this.displayed.date.getTime() + (86400000 * (this.displayed.dayCount + 1)));
   // Creates the HTML for the calendar
   if (this.formNumber >= 0) this.getDayTable().innerHTML = this.buildCalendar();
}

// Sets the current selected date
function SetPickedMonth(PickedYear, PickedMonth, PickedDay) {
   this.picked = new storedMonthObject(this.format, PickedYear, PickedMonth, PickedDay);
   this.setHidden(this.picked.formatted);
   this.setDisplayed(PickedYear, PickedMonth);
   //document.getElementById(this.hiddenFieldName).value=this.picked.formatted
   //*****  Ase *****//
	if (document.getElementById(this.DateTimeHH))
		DateTime = document.getElementById(this.DateTimeHH).value + ":" + document.getElementById(this.DateTimeMM).value + ":" + document.getElementById(this.DateTimeSS).value
    else
		DateTime=DefaultDateTime
    
	//alert(DateTime)
	
	if (DateTime=="::")
		document.getElementById(this.hiddenFieldName).value=this.picked.formatted
	else	
		document.getElementById(this.hiddenFieldName).value=this.picked.formatted + " " + DateTime

   //*****  Ase *****//
}

// The calendar object
function calendarObject(DateName, DateFormat, DefaultDate,DefaultTimeDate) {
    
    
   /* Properties */
   this.hiddenFieldName = DateName;
   this.DateTimeHH  = DateName + '_HH';
   this.DateTimeMM  = DateName + '_MM';
   this.DateTimeSS  = DateName + '_SS';
   
   this.monthListName = DateName + '_Month';
   this.dayListID = DateName + '_Day_ID';
   this.yearFieldID = DateName + '_Year_ID';
   this.monthDisplayID = DateName + '_Current_ID';
   this.calendarID = DateName + '_ID';
   this.dayTableID = DateName + '_DayTable_ID';
   this.calendarLinkID = this.calendarID + '_Link';
   this.timerID = this.calendarID + '_Timer';
   this.objName = DateName + '_Object';
   this.format = DateFormat;
   this.formNumber = -1;
   this.picked = null;
   this.displayed = null;
   this.previous = null;
   this.next = null;

   /* Methods */
   this.setPicked = SetPickedMonth;
   this.setDisplayed = SetDisplayedMonth;
   this.checkYear = CheckYearInput;
   this.fixYear = FixYearInput;
   this.changeMonth = CheckMonthChange;
   this.changeDay = CheckDayChange;
   this.resetTimer = CalTimerReset;
   this.hideElements = SetElementStatus;
   this.show = ShowCalendar;
   this.handleTimer = DoTimer;
   this.iconHover = CalIconHover;
   this.buildCalendar = BuildCalendarDays;
   this.pickDay = PickDisplayDay;
   this.fixSelects = FixSelectLists;
   this.setHidden = new Function('D','if (this.formNumber >= 0) this.getHiddenField().value=D');
   // Returns a reference to these elements
   this.getHiddenField = new Function('return document.forms[this.formNumber].elements[this.hiddenFieldName]');
   this.getMonthList = new Function('return document.forms[this.formNumber].elements[this.monthListName]');
   this.getDayList = new Function('return document.getElementById(this.dayListID)');
   this.getYearField = new Function('return document.getElementById(this.yearFieldID)');
   this.getCalendar = new Function('return document.getElementById(this.calendarID)');
   this.getDayTable = new Function('return document.getElementById(this.dayTableID)');
   this.getCalendarLink = new Function('return document.getElementById(this.calendarLinkID)');
   this.getMonthDisplay = new Function('return document.getElementById(this.monthDisplayID)');
   this.isShowing = new Function('return !(this.getCalendar().style.visibility != \'visible\')');

   /* Constructor */
   // Functions used only by the constructor
   function getMonthIndex(MonthAbbr) { // Returns the index (0-11) of the supplied month abbreviation
      for (var MonPos=0;MonPos<MonthNames.length;MonPos++) {
         if (MonthNames[MonPos].substr(0,3).toUpperCase() == MonthAbbr.toUpperCase()) break;
      }
      return MonPos;
   }
   function SetGoodDate(CalObj, Notify) { // Notifies the user about their bad default date, and sets the current system date
      CalObj.setPicked(Today.getFullYear(), Today.getMonth(), Today.getDate());
      if (Notify) {document.getElementById(DateName).value=DefaultDate}//alert('WARNING: The supplied date is not in valid \'' + DateFormat + '\' format: ' + DefaultDate + '.\nTherefore, the current system date will be used instead: ' + CalObj.picked.formatted);
   }
   // Main part of the constructor
   if (DefaultDate == 'undefined') SetGoodDate(this, false);
   else {
      if (this.format == 'YYYYMMDD') {
         (/^\d{8}$/.test(DefaultDate)) ? this.setPicked(DefaultDate.substr(0,4), parseInt(DefaultDate.substr(4,2),10)-1, DefaultDate.substr(6,2)) : SetGoodDate(this, true);
      }
      else {
         if (/\//.test(this.format)) {
            if (/^(\d{1,2})\/(\d{1,2})\/(\d{2,4})$/.test(DefaultDate)) {
               if (this.format.substr(0,1) == 'M') {
                  var MonPart = RegExp.$1;
                  var DayPart = RegExp.$2;
               }
               else {
                  var MonPart = RegExp.$2;
                  var DayPart = RegExp.$1;
               }
               this.setPicked(GetGoodYear(RegExp.$3), parseInt(MonPart,10)-1, DayPart);
            }
            else SetGoodDate(this, true);
         }
         else if (/-/.test(this.format)) {
            var REMonths = '';
            for (var j=0;j<MonthNames.length;j++) {
               if (j > 0) REMonths += '|';
               REMonths += MonthNames[j].substr(0,3).toUpperCase();
            }
            if (this.format.substr(0,1) == 'D') {
               var DateRE = new RegExp('^(\\d{1,2})-(' + REMonths + ')-(\\d{2,4})$', 'i');
               (DateRE.test(DefaultDate)) ? this.setPicked(GetGoodYear(RegExp.$3), getMonthIndex(RegExp.$2), RegExp.$1) : SetGoodDate(this, true);
            }
            else {
               var DateRE = new RegExp('^(' + REMonths + ')-(\\d{1,2})-(\\d{2,4})$', 'i');
               (DateRE.test(DefaultDate)) ? this.setPicked(GetGoodYear(RegExp.$3), getMonthIndex(RegExp.$1), RegExp.$2) : SetGoodDate(this, true);
            }
         }
      }
   }
}

// Main function that creates the form elements
function DateInput(DateName, Required, DateFormat, DefaultDateTemp) {
   DefaultDateTemp = DefaultDateTemp.split(" ")
   DefaultDate=DefaultDateTemp[0]
	if (DefaultDateTemp[1]) {
		DefaultDateTime=DefaultDateTemp[1]
		timeObj=DefaultDateTemp[1].split(":")
		timeObjHH=timeObj[0]
		timeObjMM=timeObj[1]
		timeObjSS=timeObj[2]
	}
	else {
		timeObjHH=''
		timeObjMM=''
		timeObjSS=''
		DefaultDateTime=''
	}

	
   if (DateName == undefined) document.writeln('<span style="color:red;font-size:' + FontSize + 'px;font-family:' + FontFamily + ';">ERROR: Missing required parameter in call to \'DateInput\': [name of hidden date field].</span>');
   else {
      if (Required == undefined) Required = false;
      if (DateFormat == undefined) DateFormat = DefaultDateFormat;
      else if ((/^YYYYMMDD$/i.test(DateFormat)) || (/^(Y{2,4})\/(MM?)\/(DD?)$/i.test(DateFormat)) || (/^((MM?)|(DD?))\/((MM?)|(DD?))\/Y{2,4}$/i.test(DateFormat)) || (/^((DD?)|((MON)|(MMM)))-((DD?)|((MON)|(MMM)))-Y{2,4}$/i.test(DateFormat))) DateFormat = DateFormat.toUpperCase();
      else {
         var AlertMessage = 'WARNING: The supplied date format for the \'' + DateName + '\' field is not valid: ' + DateFormat + '\nTherefore, the default date format will be used instead: ' + DefaultDateFormat;
         var CurrentDate = new storedMonthObject(DefaultDateFormat, Today.getFullYear(), Today.getMonth(), Today.getDate());
         if (DefaultDate != undefined) AlertMessage += '\n\nThe supplied date cannot be interpreted with the invalid format.\nTherefore, the current system date will be used instead: ' + CurrentDate.formatted;
         DateFormat = DefaultDateFormat;
         DefaultDate = CurrentDate.formatted;
         alert(AlertMessage);
      }


      // Creates the calendar object!
      eval(DateName + '_Object=new calendarObject(\'' + DateName + '\',\'' + DateFormat + '\',\'' + DefaultDate + '\',\'' + DefaultDateTime + '\')');

      if ((!Required) && (DefaultDate == undefined)) {
         var InitialStatus = ' style="visibility:hidden"';
         var InitialDate = '';
      }
      else {
         var InitialStatus = '';
         var InitialDate = eval(DateName + '_Object.picked.formatted');
      }
      	
      if ((Required) && (DefaultDate == undefined)) DefaultDate = eval(DateName + '_Object.picked.formatted');




      // Create the form elements
      with (document) {
         writeln('<input type="hidden" name="' + DateName + '" value="' + InitialDate + '">');
         // Find this form number
         for (var f=0;f<forms.length;f++) {
            for (var e=0;e<forms[f].elements.length;e++) {
               if (typeof forms[f].elements[e].type == 'string') {
                  if ((forms[f].elements[e].type == 'hidden') && (forms[f].elements[e].name == DateName)) {
                     eval(DateName + '_Object.formNumber='+f);
                     break;
                  }
               }
            }
         }

         writeln('<table cellpadding="0" cellspacing="2"><tr>' + String.fromCharCode(13) + '<td valign="middle">');
//*****  Ase *****//
         writeln('<select style="display:none" ' + InitialStatus + ' class="calendarDateInput" id="' + DateName + '_Day_ID" onChange="' + DateName + '_Object.changeDay(this)">');
         for (var j=1;j<=eval(DateName + '_Object.picked.dayCount');j++) {
            DaySelected = ((DefaultDate != undefined) && eval(DateName + '_Object.picked.day=='+j)) ? ' selected' : '';
            writeln('<option' + DaySelected + '>' + j + '</option>');
         }
         writeln('</select>' + String.fromCharCode(13) + '</td>' + String.fromCharCode(13) + '<td valign="middle">');
         writeln('<select style="display:none" name="' + DateName + '_Month" class="calendarDateInput" onChange="' + DateName + '_Object.changeMonth(this)">');
         if (!Required) {
            var NoneSelected = (DefaultDate == undefined) ? ' selected' : '';
            writeln('<option value=""' + NoneSelected + '></option>');
         }
         for (var i=0;i<12;i++) {
            MonthSelected = ((DefaultDate != undefined) && (eval(DateName + '_Object.picked.monthIndex=='+i))) ? ' selected' : '';
            writeln('<option value="' + i + '"' + MonthSelected + '>' + MonthNames[i].substr(0,3) + '</option>');
         }
         writeln('</select>' + String.fromCharCode(13) + '</td>' + String.fromCharCode(13) + '<td valign="middle">');
         writeln('<input style="display:none"' + InitialStatus + ' class="calendarDateInput" type="text" id="' + DateName + '_Year_ID" size="' + eval(DateName + '_Object.picked.yearPad.length') + '" maxlength="' + eval(DateName + '_Object.picked.yearPad.length') + '" title="Year" value="' + eval(DateName + '_Object.picked.yearPad') + '" onKeyPress="return NumOnly(event)" onKeyUp="' + DateName + '_Object.checkYear(this)" onBlur="' + DateName + '_Object.fixYear(this)">');
//*****  Ase *****//
         write('<td valign="middle">' + String.fromCharCode(13) + '<a' + InitialStatus + ' id="' + DateName + '_ID_Link" href="javascript:' + DateName + '_Object.show()" onMouseOver="return ' + DateName + '_Object.iconHover(true)" onMouseOut="return ' + DateName + '_Object.iconHover(false)"><img src="' + ImageURL + '" align="baseline" title="Calendar" width="16" height="15" border="0"></a>&nbsp;');
         writeln('<span id="' + DateName + '_ID" style="position:absolute;visibility:hidden;width:' + (CellWidth * 7) + 'px;background-color:' + CalBGColor + ';border:1px solid dimgray;" onMouseOver="' + DateName + '_Object.handleTimer(true)" onMouseOut="' + DateName + '_Object.handleTimer(false)">');
         writeln('<table width="' + (CellWidth * 7) + '" cellspacing="0" cellpadding="1">' + String.fromCharCode(13) + '<tr style="background-color:' + TopRowBGColor + ';">');

//         writeln('<td id="' + DateName + '_Previous_ID" style="cursor:default" align="center" class="calendarDateInput" style="height:' + CellHeight + '" onClick="" onMouseDown="VirtualButton(this,true)" onMouseUp="VirtualButton(this,false)" onMouseOver="return ' + DateName + '_Object.previous.hover(this,true)" onMouseOut="return ' + DateName + '_Object.previous.hover(this,false)" ><img src="' + PrevURLYear + '" width="5" height="9"></td>');
writeln('<td id="' + DateName + '_Previous_ID" style="cursor:default" align="center" class="calendarDateInput" style="height:' + CellHeight + '" onClick=chgYear(' + DateName + '_Object' + ',"-1") onMouseDown="VirtualButton(this,true)" onMouseUp="VirtualButton(this,false)" onMouseOver="return ' + DateName + '_Object.previous.hover(this,true)" onMouseOut="return ' + DateName + '_Object.previous.hover(this,false)" ><img src="' + PrevURLYear + '" width="5" height="9"></td>');
         
         writeln('<td id="' + DateName + '_Previous_ID" style="cursor:default" align="center" class="calendarDateInput" style="height:' + CellHeight + '" onClick="' + DateName + '_Object.previous.go()" onMouseDown="VirtualButton(this,true)" onMouseUp="VirtualButton(this,false)" onMouseOver="return ' + DateName + '_Object.previous.hover(this,true)" onMouseOut="return ' + DateName + '_Object.previous.hover(this,false)" title="' + eval(DateName + '_Object.previous.monthName') + '"><img src="' + PrevURL + '" width="5" height="9"></td>');
         writeln('<td id="' + DateName + '_Current_ID" style="cursor:pointer" align="center" class="calendarDateInput" style="height:' + CellHeight + '" colspan="3" onClick="' + DateName + '_Object.displayed.goCurrent()" onMouseOver="self.status=\'Click to view ' + eval(DateName + '_Object.displayed.fullName') + '\';return true;" onMouseOut="self.status=\'\';return true;" title="Show Current Month">' + eval(DateName + '_Object.displayed.fullName') + '</td>');
         writeln('<td id="' + DateName + '_Next_ID" style="cursor:default" align="center" class="calendarDateInput" style="height:' + CellHeight + '" onClick="' + DateName + '_Object.next.go()" onMouseDown="VirtualButton(this,true)" onMouseUp="VirtualButton(this,false)" onMouseOver="return ' + DateName + '_Object.next.hover(this,true)" onMouseOut="return ' + DateName + '_Object.next.hover(this,false)" title="' + eval(DateName + '_Object.next.monthName') + '"><img src="' + NextURL + '" width="5" height="9"></td>'); //</tr> + String.fromCharCode(13) + '<tr>');
         
//         writeln('<td id="' + DateName + '_Next_ID" style="cursor:default" align="center" class="calendarDateInput" style="height:' + CellHeight + '" onClick="" onMouseDown="VirtualButton(this,true)" onMouseUp="VirtualButton(this,false)" onMouseOver="return ' + DateName + '_Object.next.hover(this,true)" onMouseOut="return ' + DateName + '_Object.next.hover(this,false)" ><img src="' + NextURLYear + '" width="5" height="9"></td></tr>' + String.fromCharCode(13) + '<tr>');
writeln('<td id="' + DateName + '_Next_ID" style="cursor:default" align="center" class="calendarDateInput" style="height:' + CellHeight + '" onClick=chgYear(' + DateName + '_Object' + ',"+1") onMouseDown="VirtualButton(this,true)" onMouseUp="VirtualButton(this,false)" onMouseOver="return ' + DateName + '_Object.next.hover(this,true)" onMouseOut="return ' + DateName + '_Object.next.hover(this,false)" ><img src="' + NextURLYear + '" width="5" height="9"></td></tr>' + String.fromCharCode(13) + '<tr>');         

         for (var w=0;w<7;w++) writeln('<td width="18" align="center" class="calendarDateInput" style="height:' + CellHeight + ';width:' + CellWidth + ';font-weight:bold;border-top:1px solid dimgray;border-bottom:1px solid dimgray;">' + WeekDays[w] + '</td>');
         writeln('</tr>' + String.fromCharCode(13) + '</table>' + String.fromCharCode(13) + '<span id="' + DateName + '_DayTable_ID">' + eval(DateName + '_Object.buildCalendar()') + '</span>' )
//*****  Ase *****//
		if (DefaultDateTime!=""){
		writeln('<div style="font-size:10;font-weight:normal;padding:1px;border-top:1px solid dimgray;">')
		//writeln('HH:<input name="' + DateName + '_HH" type=text style="'+TimeBoxStyle+'width=20px;" maxlength=2 value="'+timeObjHH+'" style="width:50px;">')
		//writeln('MM:<input name="' + DateName + '_MM" type=text style="'+TimeBoxStyle+'width=20px;" maxlength=2 value="'+timeObjMM+'" style="width:50px;">')
		//writeln('SS:<input name="' + DateName + '_SS" type=text style="'+TimeBoxStyle+'width=20px;" maxlength=2 value="'+timeObjSS+'" style="width:50px;">')
		
		writeln('Time : <br><center>')
		writeln('<select name="' + DateName + '_HH" type=text style="'+TimeBoxStyle+'width=35px;">')
		for (t=0;t<=23;t++){
			if (t<10)
				writeln('<option value="0'+t+'">0'+t+'</option>')
			else
				writeln('<option value="'+t+'">'+t+'</option>')
			writeln('</option>')
			}
		writeln('</select>')

		writeln('<select name="' + DateName + '_MM" type=text style="'+TimeBoxStyle+'width=35px;">')
		for (t=0;t<=60;t++){
			if (t<10)
				writeln('<option value="0'+t+'">0'+t+'</option>')
			else
				writeln('<option value="'+t+'">'+t+'</option>')
			}
		writeln('</select>')
		
		writeln('<select name="' + DateName + '_SS" type=text style="'+TimeBoxStyle+'width=35px;">')
		for (t=0;t<=60;t++){
			if (t<10)
				writeln('<option value="0'+t+'">0'+t+'</option>')
			else
				writeln('<option value="'+t+'">'+t+'</option>')
			}
		writeln('</select>')
		
		document.getElementById(DateName + '_HH').selectedIndex=eval(timeObjHH)
		document.getElementById(DateName + '_MM').selectedIndex=eval(timeObjMM)
		document.getElementById(DateName + '_SS').selectedIndex=eval(timeObjSS)
		
		writeln('</center>')
		writeln('</div>')
		}
//*****  Ase *****//         
         writeln(String.fromCharCode(13) + '</span>' + String.fromCharCode(13) + '</td>' + String.fromCharCode(13) + '</tr>' + String.fromCharCode(13) + '</table>');
      }
   }
}

String.prototype.trim = function() {
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

// --------------------------
// Reformatting 
// Added by Iraqi - 2010/01/13

// Change date format from DD/MM/YYYY to YYYY/MM/DD
// Use in onclick of submit button
// parameters
//	formname	the form
//	field		the input element that includes the date
function checkDateD2Y(formname, field)
{
	fromdate = 	document.forms[formname].elements[field][0].value;
	
	if(fromdate == '') return;
	
	fromdate = fromdate.trim();
	fromdate = fromdate.split("/");

	document.forms[formname].elements[field][0].value=fromdate[2]+"/"+fromdate[1]+"/"+fromdate[0]
	document.forms[formname].elements[field][1].value=fromdate[2]+"/"+fromdate[1]+"/"+fromdate[0]
	
	
   	// removed by Iraqi: Form submit causes problems
   	// form should submit by itself
   	//document.forms[formname].submit();
}

// Change date format from YYYY/MM/DD to DD/MM/YYYY
// use on initializing date to revert date format to its original date
// parameter
//		date 	the date value in YYYY/MM/DD format
// return 		date with the DD/MM/YYYY format
function changeDateY2D(date) {
	if(date == "") return date;
	temp = date.split("/");
	date = temp[2] + "/" + temp[1] + "/" + temp[0];
	return date;
}

/*
function chgYear(objDateIn,vChg){
	//alert(objDateIn);
	objDate = objDateIn;
	//obj = objDateIn.yearFieldID;
	obj = objDateIn.getYearField();
	//alert(obj);
	//obj=document.getElementById(objDate + '_Year_ID')
	obj.value=eval(obj.value)+eval(vChg);
	//objDate=objDate + "_Object"
	//objDate = eval(objDate);  //try this if it is not working
	objDate.checkYear(obj)
	objDate.fixYear(obj)
	
}

*/

function chgYear(objDate,vChg){	
	//alert(objDate);
	//objDate=objDate + "_Object";
	//objDate = eval(objDate);
	objDate.setDisplayed(eval(objDate.displayed.yearValue+vChg), objDate.displayed.monthIndex);
	objDate.handleTimer(true);
}


/****************************************
	Sends a server request to the ajax 
*****************************************/
function requestServer(url, locale) {
	xmlHttp=GetXmlHttpObject();
	if(xmlHttp==null)
		return;
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET", url, true);
	xmlHttp.setRequestHeader("Content-Language", locale);
	xmlHttp.setRequestHeader("Accept-Language", locale);
	
	xmlHttp.send(null);
}

/**********************************************
	Replaces the div contents with the response
**********************************************/
function stateChanged() {
	if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
		document.getElementById(div).innerHTML=xmlHttp.responseText;
	} else {
		document.getElementById('errorMsg').innerHTML = msg;
	}
}

/**********************************************
	Creates AJAX request object
**********************************************/

function GetXmlHttpObject() {
	var xmlHttp=null;
	 if (window.ActiveXObject) {
		// Internet Explorer
		try {
	        xmlHttp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
		} catch(e) {
			try {
				xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
			} catch (e) {
				xmlHttp = false;
			}
		}
	}else if (window.XMLHttpRequest) {
		// Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }
		
	// Check if browser supports Ajax or not
	if(xmlHttp==null) {
		alert("Your browser does not support AJAX!");
		return;
	}
	
	return xmlHttp;
}

function isNumberKey(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode;
	if(charCode > 31 && (charCode < 48 || charCode > 57))
		return false
		
	return true;
}

