/*
 * jQuery 1.2.6 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
 * $Rev: 5685 $
 */
(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var 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 timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,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(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
/*
 * positionBy 1.0.7 (2008-01-29)
 *
 * Copyright (c) 2006,2007 Jonathan Sharp (http://jdsharp.us)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://jdsharp.us/
 *
 * Built upon jQuery 1.2.2 (http://jquery.com)
 * This also requires the jQuery dimensions plugin
 */
(function($){var A=function(a,b,c,d){this.x1=a;this.x2=c;this.y1=b;this.y2=d};A.prototype.contains=function(a){return(this.x1<=a.x1&&a.x2<=this.x2)&&(this.y1<=a.y1&&a.y2<=this.y2)};A.prototype.transform=function(x,y){return new A(this.x1+x,this.y1+y,this.x2+x,this.y2+y)};$.fn.positionBy=function(q){var r=new Date();if(this.length==0){return this}var q=$.extend({target:null,targetPos:null,elementPos:null,x:null,y:null,positions:null,addClass:false,force:false,container:window},q);if(q.x!=null){var s=q.x;var t=q.y;var u=0;var v=0}else{var w=$($(q.target)[0]);var u=w.outerWidth();var v=w.outerHeight();var x=w.offset();var s=x.left;var t=x.top}var y=s+u;var z=t+v;return this.each(function(){var c=$(this);if(!c.is(':visible')){c.css({left:-3000,top:-3000}).show()}var d=c.outerWidth();var e=c.outerHeight();var f=[];var g=[];f[0]=new A(y,t,y+d,t+e);g[0]=[1,7,4];f[1]=new A(y,z-e,y+d,z);g[1]=[0,6,4];f[2]=new A(y,z,y+d,z+e);g[2]=[1,3,10];f[3]=new A(y-d,z,y,z+e);g[3]=[1,6,10];f[4]=new A(s,z,s+d,z+e);g[4]=[1,6,9];f[5]=new A(s-d,z,s,z+e);g[5]=[6,4,9];f[6]=new A(s-d,z-e,s,z);g[6]=[7,1,4];f[7]=new A(s-d,t,s,t+e);g[7]=[6,0,4];f[8]=new A(s-d,t-e,s,t);g[8]=[7,9,4];f[9]=new A(s,t-e,s+d,t);g[9]=[0,7,4];f[10]=new A(y-d,t-e,y,t);g[10]=[0,7,3];f[11]=new A(y,t-e,y+d,t);g[11]=[0,10,3];f[12]=new A(y-d,t,y,t+e);g[12]=[13,7,10];f[13]=new A(y-d,z-e,y,z);g[13]=[12,6,3];f[14]=new A(s,z-e,s+d,z);g[14]=[15,1,4];f[15]=new A(s,t,s+d,t+e);g[15]=[14,0,9];if(q.positions!==null){var h=q.positions[0]}else if(q.targetPos!=null&&q.elementPos!=null){var h=[];h[0]=[];h[0][0]=15;h[0][1]=7;h[0][2]=8;h[0][3]=9;h[1]=[];h[1][0]=0;h[1][1]=12;h[1][2]=10;h[1][3]=11;h[2]=[];h[2][0]=2;h[2][1]=3;h[2][2]=13;h[2][3]=1;h[3]=[];h[3][0]=4;h[3][1]=5;h[3][2]=6;h[3][3]=14;var h=h[q.targetPos][q.elementPos]}var i=f[h];var j=h;if(!q.force){$window=$(window);var k=$window.scrollLeft();var l=$window.scrollTop();var m=new A(k,l,k+$window.width(),l+$window.height());var n;if(q.positions){n=q.positions}else{n=[h]}var o=[];while(n.length>0){var p=n.shift();if(o[p]){continue}o[p]=true;if(!m.contains(f[p])){if(q.positions===null){n=jQuery.merge(n,g[p])}}else{i=f[p];break}}}c.parents().each(function(){var a=$(this);if(a.css('position')!='static'){var b=a.offset();i=i.transform(-b.left,-b.top);return false}});c.css({left:i.x1,top:i.y1});if(q.addClass){c.removeClass('positionBy0 positionBy1 positionBy2 positionBy3 positionBy4 positionBy5 '+'positionBy6 positionBy7 positionBy8 positionBy9 positionBy10 positionBy11 '+'positionBy12 positionBy13 positionBy14 positionBy15').addClass('positionBy'+p)}})}})(jQuery);

/*
 * jdMenu 1.4.0 (2008-01-25)
 *
 * Copyright (c) 2006,2007 Jonathan Sharp (http://jdsharp.us)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://jdsharp.us/
 *
 * Built upon jQuery 1.2.1 (http://jquery.com)
 * This also requires the jQuery dimensions >= 1.2 plugin
 */
$(function() {
	$('ul.jd_menu').jdMenu();
});

(function($){
	$.jdMenu = {
		settings: 	[],
		getSettings: 	function( element ) {
							var t = $(element).parents('ul.jd_menu:eq(0)')[0];
							return this.settings[ t && t.$jdSettings ? t.$jdSettings : 0 ];	
						}
	};
	
	function activateMenu(ul) {
		var ul = $(ul);
		var li = ul.parent();
		ul	.trigger('jdMenuShow')
			.positionBy({ 	target: 	li[0], 
							targetPos: 	( li.parent().is('.jd_menu') ? 3 : 1 ), 
							elementPos: 0 
							});
		li	.addClass('jdm_active')
			// Hide any adjacent menus
			.siblings('li').find('ul:eq(0):visible')
				.each(function(){
					hideMenu( this ); 
				});
	}
	
	function hideMenu(ul) {
		$(ul)
			.filter(':not(.jd_menu)')
			.find('> li ul:eq(0):visible')
				.each(function() {
					hideMenu( this );
				})
			.end()
			.hide()
			.trigger('jdMenuHide')
			.parents('li:eq(0)')
				.removeClass('jdm_active jdm_hover')
			.end()
				.find('> li')
				.removeClass('jdm_active jdm_hover');
	}
	
	function getSettings(element) {
		return $.data( $(element).is('.jd_menu') ? element : $(element).parents('ul.jd_menu')[0], 'jdMenuSettings');;
	}
	
	// Public methods
	$.fn.jdMenu = function(settings) {
		var settings = $.extend({	activateDelay: 	500,
					showDelay: 		450, 
					hideDelay: 		1000
					}, settings);
		return this.filter('ul.jd_menu').each(function() {
			$.data(this, 'jdMenuSettings', settings);
			$('li', this)
				.bind('mouseenter.jdmenu', function() {
					$(this).addClass('jdm_hover');
					var ul = $('ul:eq(0)', this);
					if ( ul.length == 1 ) {
						var me = this;
						clearTimeout( this.$jdTimer );
						this.$jdTimer = setTimeout(function() {
							activateMenu( ul );
						}, getSettings(this).showDelay );
					}
				})
				.bind('mouseleave.jdmenu', function(){
					$(this).removeClass('jdm_hover');
					var ul = $('ul:eq(0)', this);
					if ( ul.length == 1 ) {
						var settings = $.jdMenu.getSettings( this );
						var me = this;
						clearTimeout( this.$jdTimer );
						this.$jdTimer = setTimeout(function() {
							hideMenu( ul );
						}, getSettings(this).hideDelay );
					}
				})
				.bind('click.jdmenu', function(evt) {
					var ul = $('> ul', this);
					if ( ul.length == 1 ) {				// Bayasaa
						//activateMenu( ul );
						//return false;
						var a = this.childNodes[0];
						window.open( a.href, a.target || '_self' );
					}
					
					// The user clicked the li and we need to trigger a click for the a
					if ( evt.target == this ) {
						var link = $('> a', evt.target).not('.accessible');
						if ( link.length > 0 ) {
							var a = link[0];
							if ( !a.onclick ) {
								window.open( a.href, a.target || '_self' );
							} else {
								$(a).trigger('click');
							}
						}
					}
					$(this).parent().jdMenuHide();
					evt.stopPropagation();
				})
				.bind('keydown.jdmenu', function(e) {
					if ( e.which == 27 ) {
						if ( !$(this).parent().is('.jd_menu') ) {
							hideMenu( $(this).parent()[0] );
						}
						$(this).parents('li:eq(0)').find('a:eq(0)').trigger('focus');
						return false;
					}
				})
				.find('> a')
					.bind('focus.jdmenu', function() {
						$(this).parents('li:eq(0)').addClass('jdm_hover');
					})
					.bind('blur.jdmenu', function() {
						$(this).parents('li:eq(0)').removeClass('jdm_hover');
					})
					.filter('.accessible')
						.bind('click.jdmenu', function(evt) {
							evt.preventDefault();
						});
		});
	};
	
	$.fn.jdMenuUnbind = function() {
		$('li', this)
			.unbind('mouseenter.jdmenu mouseleave.jdmenu click.jdmenu keydown.jdmenu')
			.find('> a').unbind('focus.jdmenu blur.jdmenu click.jdmenu');
		return this;
	};
	
	$.fn.jdMenuHide = function() {
		return this.filter('ul').each(function(){ hideMenu( this ); });
	};

	// Private methods and logic
	$(window)
		// Bind a click event to hide all visible menus when the document is clicked
		.bind('click.jdmenu', function(){
			$('ul.jd_menu ul:visible').jdMenuHide();
		});
})(jQuery);

	function GetEl(id){
		return document.getElementById(id);
	}
	var text = "";
	var currentChar = 1;
	var loaderimage = "loader.gif";
	var loadsplash;
	var tempHtml;
	var typeFlag;
	function type(divId, typeText)
	{
		var dest = document.getElementById(divId);
		if (dest && typeFlag == 1){
			dest.innerHTML = typeText.substr(0, currentChar);
			currentChar++;
			if (currentChar > typeText.length){
				currentChar = 1;
				setTimeout("type('"+divId+"', '" + typeText + "')", 1000);
			}
			else{
				setTimeout("type('"+divId+"', '" + typeText + "')", 100);
			}
		}
		else return;
	}
	function StartTyping(divId, typeText)
	{
		loadsplash = "<img src='/images/" + loaderimage + "' align='absmiddle'> <span id='load'></span>";
		var dest = document.getElementById(divId);
		tempHtml = dest.innerHTML;
		dest.innerHTML = loadsplash;
		typeFlag = 1;
		type('load', typeText);
	}
	
	function StopTyping(divId){
		var dest = document.getElementById(divId);
		typeFlag = 0;
		dest.innerHTML = tempHtml;
	}
	/*
	 * @param 
	 */
	function AjaxEditBox(parentDivId, id, defaultText, textStyle, atype, size){
		var thisControl = this;
		this.atype = atype;					// Parse dugaar
		this.textStyle = textStyle;			// Textiin classiin ner
		this.size = ( size == undefined )? 0: size;					// Max temdegtiin too
		parentDiv = GetEl(parentDivId);
		parentDiv.innerHTML = "";
		this.layer = document.createElement('div');
		this.id = id;
		this.state = 0;
		this.layer.innerHTML = defaultText;
		this.textValue = defaultText;
		this.layer.className = "AjaxEditBoxDivNormal " + textStyle;
		this.layer.id = "AjaxEditBoxLayer" + id;
		this.editbox = null;
		this.layer.onclick = function(e){
			if (!e) var e = window.event;
			if( thisControl.state == 0 ){
				elText = document.createElement('input');
				elText.type = "text";
				elText.value = this.innerHTML;
				elText.className = "AjaxEditBoxText";
				elText.onkeydown = thisControl.OnKeyDown;
				thisControl.editbox = elText;
				if( thisControl.size != 0 ) elText.size = thisControl.size;
				elBtnSave = document.createElement('input');
				elBtnSave.type = "button";
				elBtnSave.value = "Хадгал";
				elBtnSave.className = "AjaxEditBoxButton";
				elBtnSave.onclick = thisControl.OnSave;
				elBtnCancel = document.createElement('input');
				elBtnCancel.type = "button";
				elBtnCancel.value = "Боль";
				elBtnCancel.className = "AjaxEditBoxButton";
				elBtnCancel.onclick = thisControl.OnCancel;
				while (this.childNodes[0]) {
					this.removeChild(this.childNodes[0]);
				}
				this.appendChild(elText);
				this.appendChild(elBtnSave);
				this.appendChild(elBtnCancel);
				thisControl.state = 1;
				elText.focus();
				elText.select();				
				thisControl.layer.className = "AjaxEditBoxDivEditText " + thisControl.textStyle;
			}
		}		
		this.OnKeyDown = function(e){
			if (!e) var e = window.event;
			if( e.keyCode == 13 ) {
				thisControl.SaveText();
			}
		}
		this.OnSave = function(e){
			thisControl.SaveText();
		}
		this.SaveText = function(){
			StartTyping(thisControl.layer.id, 'Хадгалж байна...');
			//$.getJSON("/ajaxControl.php?action=AjaxEditBox&value=" + thisControl.editbox.value + "&type="+thisControl.atype + "&id=" + thisControl.id,
			$.post("/ajaxControl.php", {action:'AjaxEditBox',value:thisControl.editbox.value, type:thisControl.atype, id:thisControl.id},  
				function(json){
					if(json.errorMsg == ""){
						MessageBox("Текстийг хадгаллаа");
						thisControl.textValue = json.text;
						thisControl.Cancel();
					}
					else {
						MessageBoxError(json.errorMsg);
						thisControl.Cancel();
					}
				}, "json"
			)
		}
		this.OnCancel = function(e){
			thisControl.Cancel();
		}
		this.Cancel = function(){
			thisControl.layer.innerHTML = thisControl.textValue;
			thisControl.state = 0;
			thisControl.layer.className = "AjaxEditBoxDivNormal " + thisControl.textStyle;
		}
		parentDiv.appendChild(this.layer);
	}
	
	function AjaxTextArea(parentDivId, id, defaultText, textStyle, atype, size){
		var thisControl = this;
		this.atype = atype;					// Parse dugaar
		this.textStyle = textStyle;			// Textiin classiin ner
		this.size = ( size == undefined )? 0: size;					// Max temdegtiin too
		parentDiv = GetEl(parentDivId);
		parentDiv.innerHTML = "";
		this.layer = document.createElement('div');
		this.id = id;
		this.state = 0;
		//this.layer.innerHTML = defaultText;
		if(defaultText.length > 100) this.layer.innerHTML = "<b>Товч: </b>" + stripbr(defaultText.substring(0, 100)) + "...";
		else this.layer.innerHTML += stripbr(defaultText);
		this.textValue = defaultText;
		this.layer.className = "AjaxEditBoxDivNormal " + textStyle;
		this.layer.id = "AjaxTextAreaLayer" + id;
		this.editbox = null;
		this.layer.onclick = function(e){
			if (!e) var e = window.event;
			if( thisControl.state == 0 ){
				elText = document.createElement('textarea');
				elText.innerHTML = br2nl(thisControl.textValue);
				elText.className = "AjaxTextAreaText";
				//elText.onkeydown = thisControl.OnKeyDown;
				thisControl.editbox = elText;
				if( thisControl.size != 0 ) elText.size = thisControl.size;
				elBtnSave = document.createElement('input');
				elBtnSave.type = "button";
				elBtnSave.value = "Хадгал";
				elBtnSave.className = "AjaxEditBoxButton";
				elBtnSave.onclick = thisControl.OnSave;
				elBtnCancel = document.createElement('input');
				elBtnCancel.type = "button";
				elBtnCancel.value = "Боль";
				elBtnCancel.className = "AjaxEditBoxButton";
				elBtnCancel.onclick = thisControl.OnCancel;
				while (this.childNodes[0]) {
					this.removeChild(this.childNodes[0]);
				}
				this.appendChild(elText);
				this.appendChild(elBtnSave);
				this.appendChild(elBtnCancel);
				thisControl.state = 1;
				elText.focus();
				elText.select();				
				thisControl.layer.className = "AjaxEditBoxDivEditText " + thisControl.textStyle;
			}
		}		
		this.OnSave = function(e){
			thisControl.SaveText();
		}
		this.SaveText = function(){
			StartTyping(thisControl.layer.id, 'Хадгалж байна...');
			$.post("/ajaxControl.php", {action:'AjaxEditBox',value:thisControl.editbox.value, type:thisControl.atype, id:thisControl.id},  
				function(json){
					if(json.errorMsg == ""){
						MessageBox("Текстийг хадгаллаа");
						thisControl.textValue = json.text;
						thisControl.Cancel();
					}
					else {
						MessageBoxError(json.errorMsg);
						thisControl.Cancel();
					}
				}, "json"
			)
		}
		this.OnCancel = function(e){
			thisControl.Cancel();
		}
		this.Cancel = function(){
			//thisControl.layer.innerHTML = thisControl.textValue;
			if( thisControl.textValue.length > 100 ) thisControl.layer.innerHTML = "<b>Товч: </b>" + stripbr(thisControl.textValue.substring(0, 100)) + "...";
			else thisControl.layer.innerHTML = stripbr(thisControl.textValue);		
			thisControl.state = 0;
			thisControl.layer.className = "AjaxEditBoxDivNormal " + thisControl.textStyle;
		}
		parentDiv.appendChild(this.layer);
	}
	
	function AjaxComment(parentDivId, id, title, comment, point){		
		var thisControl = this;
		
		this.Cancel = function(){
			thisControl.commandLayer.className = "AjaxCommentCommand";
			if( thisControl.point < 0 && thisControl.expand == 0 ){
				expand = document.createElement('a');
				expand.onclick = function(e){
					thisControl.commentLayer.className = "AjaxCommentComment";
					thisControl.expand = 1;
					thisControl.Cancel();
				}
				expand.innerHTML = "Сэтгэгдлийг унших";
				while (thisControl.commandLayer.childNodes[0]) {
					thisControl.commandLayer.removeChild(thisControl.commandLayer.childNodes[0]);
				}
				thisControl.commandLayer.appendChild(expand);
			}
			else {
				elLink = document.createElement('a');
				thisControl.elLink = elLink;			
				elLink.onclick = function(e){
					if( LOGGED == 0 ) { ShowLoginLayer(thisControl); return; }
					else {			
						thisControl.elTextArea = document.createElement('textarea');
						thisControl.elTextArea.className = "AjaxCommentTextArea";
	   
						elBtnSave = document.createElement('input');
						elBtnSave.type = "button";
						elBtnSave.value = "Хадгал";
						elBtnSave.className = "AjaxEditBoxButton";
						elBtnSave.onclick = thisControl.OnSave;
						elBtnCancel = document.createElement('input');
						elBtnCancel.type = "button";
						elBtnCancel.value = "Боль";
						elBtnCancel.className = "AjaxEditBoxButton";
						elBtnCancel.onclick = thisControl.OnCancel;
						while (thisControl.commandLayer.childNodes[0]) {
							thisControl.commandLayer.removeChild(thisControl.commandLayer.childNodes[0]);
						}
						brElement = document.createElement('br');
						thisControl.commandLayer.innerHTML = "<span class='title'>Хариу:</span><br>";
						thisControl.commandLayer.appendChild(thisControl.elTextArea);
						thisControl.commandLayer.appendChild(brElement);
						thisControl.commandLayer.appendChild(elBtnSave);
						thisControl.commandLayer.appendChild(elBtnCancel);
						//elTextArea.focus();
					}
				}
				elLink.innerHTML = "Хариулах";
				while (thisControl.commandLayer.childNodes[0]) {
					thisControl.commandLayer.removeChild(thisControl.commandLayer.childNodes[0]);
				}
				thisControl.commandLayer.appendChild(elLink);
			}			
		}
		parentDiv = GetEl(parentDivId);
		this.mainLayer = document.createElement('div');
		if ( parentDivId == "commentWrapper" ){
			this.mainLayer.className = "AjaxComment";
		}
		else
		{
			this.mainLayer.className = "AjaxComment-LastChild";
		}
		
		this.objID = id;
		this.parentID = parentDivId;
		this.layer = document.createElement('div');
		this.layer.id = "ID"+id;
		this.replyState = 0;
		this.point = point;
		this.expand = 0;
		this.layer.lasttChild = null;
		
		this.titleLayer = document.createElement('div');
		this.titleLayer.innerHTML = title;
		this.titleLayer.id = "AjaxCommentTitle" + id;
		this.commentLayer = document.createElement('div');		 
		this.commentLayer.innerHTML = comment;
		if(point < 0) {
			this.titleLayer.className = "AjaxCommentTitleRed";
			this.commentLayer.className = "AjaxCommentCommentHidden";
		}
		else {
			this.titleLayer.className = "AjaxCommentTitle";
			this.commentLayer.className = "AjaxCommentComment";
		}		
		this.commandLayer = document.createElement('div');
		this.commandLayer.id = "command" + id;
		thisControl.Cancel();
		this.childLayer = document.createElement('div');
		this.childLayer.id = "child" + id;
		this.childLayer.className = "AjaxCommentChild";
		
		this.layer.appendChild(this.titleLayer);
		this.layer.appendChild(this.commentLayer);
		this.layer.appendChild(this.commandLayer);
		this.layer.appendChild(this.childLayer);
		
		this.mainLayer.appendChild(this.layer);
		parentDiv.appendChild(this.mainLayer);
		
		if( parentDiv.lasttChild ){
			parentDiv.lasttChild.className = "AjaxComment-Child";
		}
		if( parentDivId != "commentWrapper" ){
			parentDiv.lasttChild = this.mainLayer;
		}
		
		this.OnSave = function(e){
			thisControl.SaveComment();
		}
		
		this.SaveComment = function(){
			thisControl.pendingValue = thisControl.elTextArea.value;
			
			StartTyping(thisControl.commandLayer.id, 'Хадгалж байна...');
			$.getJSON("/ajaxControl.php?action=replyComment&id=" + this.objID + "&comment=" + this.pendingValue,
		        function(data){
		        	if(data.errorMsg == '')
		        		newComment = new AjaxComment("child" + thisControl.objID, data.id, 
		        		"<span class=\"AjaxCommentTitleText\">хэн: " +
							"<font class=\"AjaxCommentTitleUserName\">" +
								"<a href=\"/profile/"+data.membername+"\">"+data.membername+"</a>" +
							"</font> хэзээ: "+data.date+
						"</span> " +
						"<span class=\"commentPoint\">" +
							"оноо: <strong><font id=\"commentPointDiv"+data.id+"\"><font style=\"color: green\">+0</font> <font style=\"color: red\">-0</font></font></strong> " +
							"<img src=\"/images/thumbs-up.gif\" onClick=\"AjaxCommentGivePoint("+data.id+",1);\"> " +
							"<img src=\"/images/thumbs-down.gif\" onClick=\"AjaxCommentGivePoint("+data.id+",-1);\"> " +											
						"</span>", data.comment, 0);
		        	else 
		        		//alert(data.errorMsg);
						MessageBoxError(data.errorMsg);
		        	thisControl.Cancel();
		        }
		    );
		}
		this.OnCancel = function(e){
			thisControl.Cancel();
		}
		
		this.OnOk = function(reply){
			var json = eval(reply);
			newComment = new AjaxComment("child" + thisControl.objID, json.id, json.membername + json.date, json.comment);
			
			thisControl.Cancel();
		}
		this.OnError = function(){
			thisControl.Cancel();
		}		
	}
	
	function AjaxCommentGivePoint(id, point){
		$.getJSON("/ajaxControl.php?action=pointComment&id=" + id + "&point=" + point,
		        function(data){
		        	if(data.errorMsg == ''){
		        		divvv = 'commentPointDiv'+id;
		        		document.getElementById(divvv).innerHTML = "<font style=\"color: green\">+" + data.pointplus + "</font> <font style=\"color: red\">-" + data.pointminus + "</font>";
		        		titleLayer = document.getElementById("AjaxCommentTitle"+id);
		        		if( data.pointplus - data.pointminus > 0){
		        			titleLayer.className = "AjaxCommentTitle";
		        		}
		        		else {
		        			titleLayer.className = "AjaxCommentTitleRed";
		        		}
		        	}		        		
		        	else 
		        		MessageBoxError(data.errorMsg);
		        }
		    );
	}
	
	function AjaxNewComment(id){
		var thisControl = this;
		this.Cancel = function(){
			thisControl.commandLayer.className = "AjaxCommentNew";
			elLink = document.createElement('a');	
			thisControl.elLink = elLink;	
			elLink.onclick = function(e){						
				if( LOGGED == 0 ) { ShowLoginLayer(thisControl); return;}
				else {
					thisControl.elTextArea = document.createElement('textarea');
					thisControl.elTextArea.className = "AjaxCommentTextArea";
   
					elBtnSave = document.createElement('input');
					elBtnSave.type = "button";
					elBtnSave.value = "Хадгал";
					elBtnSave.className = "AjaxEditBoxButton";
					elBtnSave.onclick = thisControl.OnSave;
					elBtnCancel = document.createElement('input');
					elBtnCancel.type = "button";
					elBtnCancel.value = 'Боль';
					elBtnCancel.className = "AjaxEditBoxButton";
					elBtnCancel.onclick = thisControl.OnCancel;
					while (thisControl.commandLayer.childNodes[0]) {
						thisControl.commandLayer.removeChild(thisControl.commandLayer.childNodes[0]);
					}
					brElement = document.createElement('br');
					thisControl.commandLayer.innerHTML = "<span class='title'>Таны сэтгэгдэл:</span><br>";
					thisControl.commandLayer.appendChild(thisControl.elTextArea);
					thisControl.commandLayer.appendChild(brElement);
					thisControl.commandLayer.appendChild(elBtnSave);
					thisControl.commandLayer.appendChild(elBtnCancel);
					elTextArea.focus();
				}
			}
			elLink.innerHTML = "Сэтгэгдэл бичих";
			while (thisControl.commandLayer.childNodes[0]) {
				thisControl.commandLayer.removeChild(thisControl.commandLayer.childNodes[0]);
			}
			thisControl.commandLayer.appendChild(elLink);
		}
		
		this.layer = document.getElementById('commentNew');
		this.commandLayer = document.createElement('div');
		this.commandLayer.id = 'newCommentCommandLayer';
		thisControl.Cancel();
		this.layer.appendChild(this.commandLayer);
		
		this.OnSave = function(e){
			thisControl.SaveComment();
		}
		this.SaveComment = function(){
			thisControl.pendingValue = thisControl.elTextArea.value;
			//thisControl.commandLayer.innerHTML = "Saving...";
			StartTyping('newCommentCommandLayer', 'Хадгалж байна...');
			$.getJSON("/ajaxControl.php?action=newComment&id=" + id + "&comment=" + thisControl.pendingValue,
		        function(data){
		        	if(data.errorMsg == ''){
		        		newComment = new AjaxComment("commentWrapper", data.id,
		        		["<span class=\"AjaxCommentTitleText\">хэн: ",
							"<font class=\"AjaxCommentTitleUserName\">",
								"<a href=\"/profile/", data.membername, "\">", data.membername, "</a>",
							"</font> хэзээ: ", data.date, 
						"</span> ", 
						"<span class=\"commentPoint\">", 
							"оноо: <strong><font id=\"commentPointDiv", data.id, "\"><font style=\"color: green\">+0</font> <font style=\"color: red\">-0</font></font></strong> ", 
							"<img src=\"/images/thumbs-up.gif\" align=\"absmiddle\" onClick=\"AjaxCommentGivePoint(", data.id, ",1);\" title='Сайн' class='thumbIcon'>", 
							"<img src=\"/images/thumbs-down.gif\" align=\"absmiddle\" onClick=\"AjaxCommentGivePoint(", data.id, ",-1);\" title='Муу' class='thumbIcon'>", 											
						"</span>"].join(''), data.comment, 0);
		        	}
		        	else 
		        		//alert(data.errorMsg);
						MessageBoxError(data.errorMsg);
		        	
		        	thisControl.Cancel();
		        }
		    );
		}
		this.OnCancel = function(e){
			thisControl.Cancel();
		}
		this.OnOk = function(reply){
			var replyArray = reply.split("'");
			newComment = new AjaxComment("commentWrapper", replyArray[0], replyArray[1] + " " + replyArray[2], replyArray[3]);
			while (thisControl.commandLayer.childNodes[0]) {
				thisControl.commandLayer.removeChild(thisControl.commandLayer.childNodes[0]);
			}
			thisControl.Cancel();
		}
		this.OnError = function(){
			thisControl.Cancel();
		}
	}
	
	function urlencode(str) {
		str = escape(str);
		str = ReplaceAll(str, '+', '%2B');
		str = ReplaceAll(str, '%20', '+');
		str = ReplaceAll(str, '*', '%2A');
		str = ReplaceAll(str, '/', '%2F');
		str = ReplaceAll(str, '@', '%40');		
		return str;
	}
	function ReplaceAll(str, findstr, replacestr){
		while( str.indexOf(findstr) >= 0){
			str = str.replace(findstr, replacestr);
		}
		return str;		
	}
	
	
	
	function br2nl(text) 
	{
		var re = /(<br\/>|<br>|<BR>|<BR\/>|<br \/>|<BR \/>)/g;
		var s = text.replace(re, "\n");
		return s;
	}
	
	function stripbr(text) 
	{
		var re = /(<br\/>|<br>|<BR>|<BR\/>|<br \/>|<BR \/>)/g;
		var s = text.replace(re, "");
		return s;
	}
	
	function NewItem(){
		$.getJSON("/ajaxControl.php?action=newItem",
		        function(json){
		        	itemArray[json.id] = new Item(json.id, json.title, json.content, json.point, json.membername, json.website, json.commentcount, json.memberimage, json.thumbpic);
					document.getElementById("maincontent").innerHTML += itemArray[json.id].GenerateHTML();
				}
			);
	}
	
	var itemArray = new Array();
	var deletedItems = new Array();
	var itemCounter = 0;
	
	function Item(
					id, 
					title, 
					content, 
					point, 
					membername, 
					website, 
					commentcount, 
					memberimage, 
					thumbpic, 
					position, 
					url, 
					fav, 
					category, 
					catalias,
					date,
					priv)
	{
		thisControl = this;
		this.position = position;
		this.id = id;
		this.title = title;
		this.content = content;
		this.point = point;
		this.membername = membername;
		this.website = website;
		this.commentcount = commentcount;
		this.memberimage = memberimage;
		this.thumbpic = thumbpic;
		this.url = url;
		this.favid = fav;
		this.category = category;
		this.catalias = catalias;
		this.date = date;
		this.GenerateHTML = function(){
			if(this.thumbpic == 1) tempthumbpic = "<a href='"+this.url+"' onClick=\"javascript: pageTracker._trackPageview('/outgoing/" + this.website + "'); LinkVisit("+this.id+"); \" target='_blank'><img src='/thumbpics/"+this.id+".jpg' align='left' class='thumbpic' alt='"+this.title+"'></a>";
        	else tempthumbpic = "";
			if(this.favid == 0 ){
				var fav = "<img src='/images/heart_add.png' align='absmiddle'> <a href='javascript:AddToFav("+this.id+");'>Дуртай хаягруу нэм</a>";
			}
			else {
				var fav = "<img src='/images/heart_delete.png' align='absmiddle'> <a href='javascript:RemoveFromFav("+this.id+");'>Дуртай хаягаас хас</a>";
			}
			html = "<script>var label = new ListBox('bury-"+this.id+"', "+this.id+", \"{'text':'Устга', 'items':[{'name': 'Урьд орсон мэдээ', 'value':'1'},{'name': 'Спам', 'value':'2'},{'name': 'Бүлэг буруу', 'value':'3'},{'name': 'Зүй зохисгүй', 'value':'4'},{'name': 'Сонирхолгүй', 'value':'5'}]}\", \"/ajaxControl.php?action=bury&id="+this.id+"\");</script><div id='item'><div class='pointdiv-wrapper'><div class='pointdiv'>"+
					"	<div class='point' id='itemPoint"+this.id+"'>"+this.point+"</div>"+
					"</div><div class='link'>"+
					"	<a href='javascript:AddPoint("+this.id+")'>Оноо+</a>"+
					"</div></div><div class='itemtext'>"+
					tempthumbpic +
					"<div>"+
					"	<a class='itemTitle' href='"+this.url+"' target='_blank' onClick=\"javascript: pageTracker._trackPageview('/outgoing/" + this.website + "'); LinkVisit("+this.id+");\">"+this.title+"</a>"+
					"&nbsp;&nbsp;&nbsp;-&nbsp;" + this.date + "&nbsp;&nbsp;&nbsp;(<a href='/mediaType/all/"+this.catalias+"'>"+this.category+"</a>)" + 
					"</div><div class='description'>"+
					"	<font class='website'> "+this.website+" - </font>"+ 
					this.content + " &nbsp;&nbsp;&nbsp;<a href='/item/"+this.id+"' >Цааш...</a>" + 
					" </div><div class='itemStatus'>"+
					"	<img src='/images/comments.jpg' align='absmiddle'/> <span id='itemComment"+this.id+"'>"+this.commentcount+"</span> <a href='/item/"+this.id+"' >Сэтгэгдэл</a>&nbsp;&nbsp;&nbsp;"+
					"	<img src='"+this.memberimage+"' align='absmiddle'/ class='thumbpic'>  Нэмсэн: <a href='/profile/"+this.membername+"' >"+this.membername+"</a>&nbsp;&nbsp;&nbsp;"+
					"	<span class='itemDescription' id='favoriteLink"+this.id+"'>" + fav + "</span>&nbsp;&nbsp;&nbsp;"+ 
					"	<img src='/images/close.gif' align='absmiddle'/> <a id='bury-"+this.id+"' class='listBoxText'></a>&nbsp;&nbsp;&nbsp;";
			if (priv > 0 ) html += "	<img src='/images/edit.png' align='absmiddle'/> <a href='/editlink/"+this.id+"'>Засах</a>&nbsp;&nbsp;&nbsp;";
			html +=		"</div></div></div>";
			return html;
		}
		this.Refresh = function(){
			$("#itemWrap" + this.id).html(this.GenerateHTML());
		}
		this.Delete = function(){
			//$("#itemWrap" + this.position).hide('slow');
		}
	}
	var messageObj = null;
	function InitItems(mediaType, category, Type, Page, lastTime){
				
		eval("var jsonArray = " + jsonData); 
		html = "";
		$.each(jsonArray, 
			function(i, json){
				itemCounter++;
				itemArray.push(new Item(json.id, json.title, json.content, json.point, json.membername, json.website, json.commentcount, json.memberimage, json.thumbpic, itemCounter, json.url, json.favid, json.category, json.catalias, json.date, json.priv));
				html += "<div id='itemWrap" + json.id + "'>" + itemArray[itemArray.length-1].GenerateHTML() + "</div>";
				//itemIdArray[itemCounter] = json.id;
			}
		);
		$('#itemContainer').prepend(html);
		if( REALTIMEUPDATE == 1 ) 
		{
			messageObj = new Message(mediaType, category, Type, Page, lastTime);
			setTimeout("messageObj.Run()", 5000);
		}
	}
	
	Array.prototype.add = function(item, pos){
		this.push(item);
		if( this.length-1 == pos ) return;
		for( i = this.length - 2; i >= pos; i-- ) this[i+1] = this[i];
		this[pos] = item;
	}
	Array.prototype.remove = function(from, to) {
		var rest = this.slice((to || from) + 1 || this.length);
		this.length = from < 0 ? this.length + from : from;
		return this.push.apply(this, rest);
	};
	Array.prototype.finditem = function(value){
		var pos;
		for( pos = 0; pos < this.length; pos++ ){
			if( this[pos] == value ) return pos;
		}
		return -1;
	}
	function RequestItem(itemid, pos){
		$.getJSON("/ajaxControl.php?action=requestitem&id=" + itemid,
			function(jsonArray){
				if( deletedItems.finditem(jsonArray.id) == -1 ){
					var tempItem = new Item(jsonArray.id, jsonArray.title, jsonArray.content, jsonArray.point, jsonArray.membername, jsonArray.website, jsonArray.commentcount, jsonArray.memberimage, jsonArray.thumbpic, itemCounter, jsonArray.url, jsonArray.favid, jsonArray.category, jsonArray.catalias, jsonArray.date, jsonArray.priv);
					html = "<div id='itemWrap" + jsonArray.id + "' style='display:none'>" + tempItem.GenerateHTML() + "</div>";
					if( pos == itemArray.length ) $("#itemContainer").append(html);
					else $("#itemWrap"+itemArray[pos].id).before(html);
					itemArray.add(tempItem, pos);
					messageObj.Run();
					$("#itemWrap" + jsonArray.id).fadeIn(1000);		
					messageObj.Run();
				}
				else messageObj.Run();
				return;
			}			
		);
	}
	
	// Vndsen tsesiin awtomat shinechleltiig hiih function 
	function Message(mt, cat, type, page, lasttime){
		var itemContainer = document.getElementById('itemContainer');
		var thisControl = this;
		this.mt = mt;
		this.cat = cat;
		this.type = type;
		this.page = page;
		this.intervalID = 0;
		this.runFlag = 0;
		this.lasttime = lasttime;
		this.page = page;
		this.stopFlag = 0;
		this.Run = function(){
			$.getJSON("/ajaxControl.php?action=message&mt=" + this.mt + "&cat=" + this.cat + "&lasttime=" + this.lasttime + "&page=" + this.page,
				function(jsonArray){
					if (this.stopFlag == 1) {
						this.stopFlag = 2;
						return;
					}
					var tempIDArray = new Array();
					$.each(jsonArray, function(i, json){				
						tempIDArray.push(json.id);
					});					
					// Ustah yostoi item uudiig olj ustgana
					for( i = 0; i < itemArray.length; i++){
						currIndex = tempIDArray.finditem(itemArray[i].id);
						if( currIndex == -1 ){							
							//itemContainer.removeChild(itemContainer.childNodes[i]);
							display = $("#itemWrap"+itemArray[i].id).css("display");
							if (display != "none") {
								tempChild = itemContainer.childNodes[i];
								$("#itemWrap" + itemArray[i].id).fadeOut(1000, function(){
									itemContainer.removeChild(tempChild);
									return;
								});
							}
							else {
								itemContainer.removeChild(itemContainer.childNodes[i]);
							}
							itemArray[i] = null;
							itemArray.remove(i);
						}						
					}
					newItem = 0;
					$.each(jsonArray, function(j, json){
						// Item haragdaj baigaa eshiig shalgaad baihgvi bol duudaj awna						
						if(newItem > 0) return;
						newItemFlag = 0;
						for( i = 0; i < itemArray.length; i++ ){
							if( itemArray[i].id == json.id ){
								newItemFlag = 1;
								break;
							}
						}
						if( newItemFlag == 0 && deletedItems.finditem(json.id) == -1 ){
							RequestItem(json.id, j);
							newItem++;
							return;
						}
					});
					if( newItem > 0 ) return;
					$.each(jsonArray, function(i, json){
						// Odoogiin baigaa bairlal n shineer irsenees zuruutei baiwal bairlaliig solino
						if( itemArray[i].id != json.id){
							currPos = 0;
							for( j = i; j < itemArray.length; j++ ){
								if( itemArray[j].id == json.id ){
									currPos = j; 
									break;
								}
							}
							tempItem = itemArray[currPos];							
							itemContainer.removeChild(itemContainer.childNodes[currPos]);
							itemArray.remove(currPos);
							html = "<div id='itemWrap" + tempItem.id + "'>" + tempItem.GenerateHTML() + "</div>";
							$("#itemWrap"+itemArray[i].id).before(html);	
							itemArray.add(tempItem, i);
						}
						if( json.commentcount != itemArray[i].commentcount ){
							itemArray[i].commentcount = json.commentcount;
							itemArray[i].Refresh();
						}
						if( json.point != itemArray[i].point ){
							itemArray[i].point = json.point;
							itemArray[i].Refresh();
						}
					});
					messageObj.lasttime = jsonArray.lasttime;
					if( REALTIMEUPDATE == 1 ) setTimeout("messageObj.Run()", UPDATESPEED );
				}
			);
		}
	}
	
	var commentRunner = null;
	function InitItem(lid, lasttime){
		commentRunner = new NewComments(lid, lasttime);
		commentRunner.stopFlag = false;
		setTimeout("commentRunner.Run()", 5000);
	}
	function NewComments(lid, lasttime){
		this.lid = lid;
		this.lasttime = lasttime;
		this.interval = null;
		this.stopFlag = false;
		this.Run = function(){
			this.stopFlag = false;
			$.getJSON("/ajaxControl.php?action=newcomments&lid=" + this.lid + "&lasttime=" + this.lasttime,
				function(jsonArray){
					try{
						if( this.stopFlag == true ) return;
						$.each(jsonArray.comments, 
							function(i, json){
								if( json.pid > 0 ) wraplayer = "child" + json.pid;
								else wraplayer = "commentWrapper";
								newComment = new AjaxComment( wraplayer, json.id, 
									"<span class=\"AjaxCommentTitleText\">хэн: " +
										"<font class=\"AjaxCommentTitleUserName\">" +
											"<a href=\"/profile/"+json.membername+"\">"+json.membername+"</a>" +
										"</font> хэзээ: "+json.date+
									"</span> " +
									"<span class=\"commentPoint\">" +
										"оноо: <strong><font id=\"commentPointDiv"+json.id+"\"><font style=\"color: green\">+0</font> <font style=\"color: red\">-0</font></font></strong> " +
										"<img src=\"/images/thumbs-up.gif\" onClick=\"AjaxCommentGivePoint("+json.id+",1);\"> " +
										"<img src=\"/images/thumbs-down.gif\" onClick=\"AjaxCommentGivePoint("+json.id+",-1);\"> " +											
									"</span>", json.comment);
							}
						);
					}
					catch(e){}
					try{
						if( this.stopFlag == true ) return;
						$.each(jsonArray.commentpoints, 
							function(i, json){
					        	div = document.getElementById('commentPointDiv'+json.id);
					        	div.innerHTML = "<font style=\"color: green\">+" + json.pointplus + "</font> <font style=\"color: red\">-" + json.pointminus + "</font>";
					        	titleLayer = document.getElementById("AjaxCommentTitle"+json.id);
				        		if( json.pointplus - json.pointminus > 0){
				        			titleLayer.className = "AjaxCommentTitle";
				        		}
				        		else {
				        			titleLayer.className = "AjaxCommentTitleRed";
				        		}
							}
						);
					}
					catch(e){}
					commentRunner.lasttime = jsonArray.lasttime;
					setTimeout("commentRunner.Run();", UPDATESPEED );
				}
			);
		}
		this.Stop = function(){
			this.stopFlag = true;
			//clearInterval(this.interval);
		}
	}
	
	var activedList = null;
	function ListBox(divid, id,  data, url){
		var itemContainer = document.getElementById('itemContainer');
		var listControl = this;
		this.id = id;
		this.divid = divid;		
		eval("var json =" + data);
		this.data = json;
		this.url = url;
		this.itemdiv = document.createElement('ul');
		this.itemdiv.className = 'listBoxItems';
		this.itemdiv.id = 'ListBoxItems';
		try{
		$.each(this.data.items, 
			function(i, json){
				var span = document.createElement("li");
				span.className = 'listBoxItem';
				var a = document.createElement("a");				
				a.innerHTML = json.name;
				a.style.zIndex = 100000;
				if( i != listControl.data.items.length - 1 ) a.className = 'listBoxItem listBoxItemMid';
				else a.className = 'listBoxItem';
				span.appendChild(a);
				a.style.zIndex = 9999;
				a.onmousedown = function(){
					listControl.SendRequest(json.value);
				}	
				listControl.itemdiv.appendChild(span);				
			}
		);
		}
		catch(e){}
			
		
		text = document.createElement("a");
		text.innerHTML = this.data.text;
		document.getElementById(divid).appendChild(text);
		var arrowSpan = document.createElement("span");
		arrowSpan.className = 'listBoxArrow';
		arrowSpan.onclick = function(){
			listControl.Toggle();
		}
		document.getElementById(divid).appendChild(arrowSpan);				
		document.getElementById(divid).appendChild(this.itemdiv);
		this.itemdiv.style.marginLeft = "-" + (document.getElementById(divid).offsetWidth + 10) + "px";
		this.itemdiv.style.zIndex = 9999;
				
		text.onclick = function(){
			listControl.SendRequest(0);
		}		
		
		this.Toggle = function(){
			if(this.itemdiv.className != 'listBoxItemsActive'){
				if( activedList != null ) activedList.Toggle();		
				activedList = this;
				this.itemdiv.className = 'listBoxItemsActive';
			}
			else {
				activedList = null;
				this.itemdiv.className = 'listBoxItems';
			}
		}
		
		this.SendRequest = function(value){
			if( LOGGED == 0 ){
				MessageBoxError("Энэ үйлдлийг хийхийн тулд гишүүнээр холбох шаардлагатай");
				return;
			}
			//$("#itemWrap" + this.id).fadeOut(500);
			//messageObj.stopFlag = 1;
			deletedItems.push(this.id);
			for (k = 0; k < itemArray.length; k++) {
				if (itemArray[k].id == this.id) {					
					$("#itemWrap" + itemArray[k].id).fadeOut(500, function(){
						itemContainer.removeChild(itemContainer.childNodes[k]);
					});
					itemArray[k] = null;
					itemArray.remove(k);
					break;
				}
			}
			$.getJSON(this.url + "&type=" + value, 
				function(jsonArray){
					if(jsonArray.errorMsg == '') {
						/*$("#itemWrap" + this.id).fadeOut(1000, function(){
							for (k = 0; k < itemArray.length; k++) {
								if (itemArray[k].id == this.id) {					
									itemContainer.removeChild(itemContainer.childNodes[k]);
									//itemArray[k] = null;
									//itemArray.remove(k);
									break;
								}
							}
						});*/
					}
					else MessageBoxError(jsonArray.errorMsg);
				}
			);					
		}
	}
	
	document.onmousedown = function(e){
		if( activedList != null ) activedList.Toggle('');
	}
	
	function AddPoint(id) {
		var oldValue = $("#itemPoint"+id).html();
		var loader = "<img src='/templates/template2/images/point-loader.gif'/>";
		$("#itemPoint"+id).html(loader);
		$.getJSON("/ajaxControl.php?action=addpoint&lid=" + id,
			function(jsonArray){				
				if(jsonArray.errorMsg != "" ) {
					MessageBoxError(jsonArray.errorMsg);
					$("#itemPoint"+id).html(oldValue);
				}
				else {
					$("#itemPoint"+jsonArray.id).html(jsonArray.point);
				}
			}
		);
	}
	
	function AddToFav(id) {
		$.getJSON("/ajaxControl.php?action=addtofav&lid=" + id,
			function(jsonArray){
				if(jsonArray.errorMsg != "" ) MessageBoxError(jsonArray.errorMsg);
				else {
					$("#favoriteLink"+jsonArray.id).html("<img src='/images/heart_delete.png'  align='absmiddle'> <a href=\"javascript:RemoveFromFav("+jsonArray.id+");\">Дуртай хаягаас хас</a>");
					MessageBox("Хаягыг хадгаллаа");
				}
			}
		);
	}
	
	function RemoveFromFav(id) {
		$.getJSON("/ajaxControl.php?action=removefromfav&lid=" + id,
			function(jsonArray){
				if(jsonArray.errorMsg != "" ) MessageBoxError(jsonArray.errorMsg);
				else{
					$("#favoriteLink"+jsonArray.id).html("<img src='/images/heart_add.png'  align='absmiddle'> <a href=\"javascript:AddToFav("+jsonArray.id+");\">Дуртай хаягруу нэм</a>");
					MessageBox("Хаягыг устгалаа");
				}
			}
		);
	}
	
	messageCounter = 0;	
	function MessageBox(message){
		MoveMessageLayer();
		messageCounter++;
		var id = messageCounter;
		var div = ['<div class="msg" id="msg',id,'">', message, '</div>'].join('');
		container = document.getElementById("messageContainer");
		container.innerHTML += div;
		$("#msg" + id).show('slide',{ direction: 'up' });
		setTimeout(
			function(){
				$("#msg" + id).hide('slide',{ direction: 'up' });
			}, 1500);
	}
	function MessageBoxError(message){
		MoveMessageLayer();
		messageCounter++;
		var id = messageCounter;
		var div = ['<div class="msg" id="msg',id,'"><font color=red>', message, '</font></div>'].join('');
		container = document.getElementById("messageContainer");
		container.innerHTML += div;
		$("#msg" + id).show('slide',{ direction: 'up' });
		setTimeout(
			function(){
				$("#msg" + id).hide('slide',{ direction: 'up' });
			}, 1500);
	}
	
	function MoveMessageLayer(){
		theTop = 0;
		theLeft = 0;
		container = document.getElementById("messageContainer");
		if (document.documentElement && document.documentElement.scrollTop){
			theTop = document.documentElement.scrollTop;
			theLeft = document.documentElement.scrollLeft;
		}
		else if (document.body){
			theTop = document.body.scrollTop;
			theLeft = document.body.scrollLeft;
		}
		container.style.left = pageWidth() / 2 - 125 + document.body.scrollLeft + "px";
		container.style.top  = theTop  + "px";
	}
	
	function ShowLogoLoader(divContainer){
		/*var dest = document.getElementById(divId);
		divContainer = document.getElementById(divContainer);
		var leftmargin = Math.floor(divContainer.clientWidth/2 - 30);
		var topmargin = Math.floor(divContainer.clientHeight/2 - 30);
		dest.innerHTML = "<img src='/images/logo_loader.gif' style='position: absolute; margin-left: "+leftmargin+"px; margin-top: 170px'>";*/
		var dest = document.createElement("div");		
		var divContainer = document.getElementById(divContainer);
		dest.id = "logoDiv";
		dest.style.position = "absolute";
		dest.style.top = "25px";
		dest.style.left = "0px";
		dest.style.height = divContainer.clientHeight + "px";
		dest.style.width = divContainer.clientWidth + "px";
		dest.style.backgroundColor = "#fff";
		var leftmargin = Math.floor(divContainer.clientWidth/2 - 30);
		var topmargin = Math.floor(divContainer.clientHeight/2 - 30);
		dest.innerHTML = "<img src='/images/logo_loader.gif' style='position: absolute; margin-left: "+leftmargin+"px; margin-top: "+topmargin+"px'>";
		divContainer.appendChild(dest);
	}
	function HideLogoLoader(divContainer){
		var divContainer = document.getElementById(divContainer);
		if( divContainer.lastChild.id == "logoDiv" ) divContainer.removeChild(divContainer.lastChild);
	}
var activeControl;
function HideLoginLayer(){
	$("#loginlayer").dialog("destroy");
}
function ShowLoginLayer(control){
	var loginLayer = LoginLayerHTML();
	document.body.innerHTML += loginLayer;
	activeControl = control;
	layer = document.getElementById("loginlayer");
	layer.style.display = "inline";
	$("#loginlayer").dialog({height:280, width: 240, maxWidth:240, maxHeight: 280, minWidth:240, minHeight: 280, close:function(){$("#loginlayer").dialog("destroy");document.body.removeChild( document.getElementById("loginlayer") );}});
	
	document.getElementById("loginusername").onkeyup=function(e){ if(e.which == 13) Login(); }
	document.getElementById("loginpassword").onkeyup=function(e){ if(e.which == 13) Login(); } 
}
function Login(){
    var loginName = document.getElementById("loginusername");
    var loginPass = document.getElementById("loginpassword");
    var autologin = "";
    if( document.getElementById("autologin").checked == true || document.getElementById("autologin").checked == "checked")
	autologin = "checked";
    $.post('/ajaxControl.php', 
		   { "action": "login",
		   "username": loginName.value,
		   "password": loginPass.value,
		   "autologin": autologin},
		   		function(json){
					if(json.errorMsg == "") {
						HideLoginLayer();
						$("#banner-menu").html(json.bannerMenu);
						LOGGED = 1;
						if( activeControl != null )
							activeControl.elLink.onclick();
						MessageBox("Амжилттай холбогдлоо");
					}
					else MessageBoxError(json.errorMsg);
				}, "json"
		   );
}
function LoginLayerHTML()
{
	str =  ["<div id='loginlayer' title='Гишүүний нэрээр холбогдох' class='flora'>",
		"Гишүүний нэр:<br />",
		"<input type=\"text\" name=\"loginusername\" id=\"loginusername\" style='padding: 3px' /><br /><br />",
		"Нууц үг:<br />",
		"<input type=\"password\" name=\"loginpassword\" id=\"loginpassword\" style='padding: 3px' /><br /><br />",
		"<label for='autologin'>Намайг сана</label><input type='checkbox' name='autologin' align='absmiddle' id='autologin' checked=\"checked\" /><br /><br />",
		"<span style='display:block; text-align:center'><input type=\"submit\" name=\"loginSubmit\" id=\"loginSubmit\" value=\"Холбогдох\" onClick='Login()' style='margin-bottom: 5px'/><br/><a href='/signup'><img src='/images/signup.png' border=0></a></span>",
	"</div>"].join('');
	return str;
}

function LinkVisit(linkId)
{
	$.post('/ajaxControl.php', 
		   { "action": "linkVisit","linkid": linkId},
		   		function(json){
		   			return;
				}
		   );
}
function pageWidth() {return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ?       document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;} 
function pageHeight() {return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;} 
function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;} 
function posTop() {return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;} 
function posRight() {return posLeft()+pageWidth();} 
function posBottom() {return posTop()+pageHeight();}

/*

highlight v1

Highlights arbitrary terms.

<http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html>

MIT license.

Johann Burkard
<http://johannburkard.de>
<mailto:jb@eaio.com>

*/

$(function() {
 jQuery.highlight = document.body.createTextRange ? 

/*
Version for IE using TextRanges.
*/
  function(node, te) {
   var r = document.body.createTextRange();
   r.moveToElementText(node);
   for (var i = 0; r.findText(te); i++) {
    r.pasteHTML('<span class="highlight">' +  r.text + '<\/span>');
    r.collapse(false);
   }
  }

 :

/*
 (Complicated) version for Mozilla and Opera using span tags.
*/
  function(node, te) {
   var pos, skip, spannode, middlebit, endbit, middleclone;
   skip = 0;
   if (node.nodeType == 3) {
    pos = node.data.toUpperCase().indexOf(te);
    if (pos >= 0) {
     spannode = document.createElement('span');
     spannode.className = 'highlight';
     middlebit = node.splitText(pos);
     endbit = middlebit.splitText(te.length);
     middleclone = middlebit.cloneNode(true);
     spannode.appendChild(middleclone);
     middlebit.parentNode.replaceChild(spannode, middlebit);
     skip = 1;
    }
   }
   else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
    for (var i = 0; i < node.childNodes.length; ++i) {
     i += $.highlight(node.childNodes[i], te);
    }
   }
   return skip;
  }

 ;
});

jQuery.fn.removeHighlight = function() {
 return this.find("span.highlight").each(function() {
  this.parentNode.replaceChild(this.firstChild, this).normalize();
 });
};


jQuery.extend({
	

    createUploadIframe: function(id, uri)
	{
			//create frame
            var frameId = 'jUploadFrame' + id;
            
            if(window.ActiveXObject) {
                var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
                if(typeof uri== 'boolean'){
                    io.src = 'javascript:false';
                }
                else if(typeof uri== 'string'){
                    io.src = uri;
                }
            }
            else {
                var io = document.createElement('iframe');
                io.id = frameId;
                io.name = frameId;
            }
            io.style.position = 'absolute';
            io.style.top = '-1000px';
            io.style.left = '-1000px';

            document.body.appendChild(io);

            return io			
    },
    createUploadForm: function(id, fileElementId)
	{
		//create form	
		var formId = 'jUploadForm' + id;
		var fileId = 'jUploadFile' + id;
		var form = $('<form  action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');	
		var oldElement = $('#' + fileElementId);
		var newElement = $(oldElement).clone();
		$(oldElement).attr('id', fileId);
		$(oldElement).before(newElement);
		$(oldElement).appendTo(form);
		//set attributes
		$(form).css('position', 'absolute');
		$(form).css('top', '-1200px');
		$(form).css('left', '-1200px');
		$(form).appendTo('body');		
		return form;
    },

    ajaxFileUpload: function(s) {
        // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout		
        s = jQuery.extend({}, jQuery.ajaxSettings, s);
        var id = new Date().getTime()        
		var form = jQuery.createUploadForm(id, s.fileElementId);
		var io = jQuery.createUploadIframe(id, s.secureuri);
		var frameId = 'jUploadFrame' + id;
		var formId = 'jUploadForm' + id;		
        // Watch for a new set of requests
        if ( s.global && ! jQuery.active++ )
		{
			jQuery.event.trigger( "ajaxStart" );
		}            
        var requestDone = false;
        // Create the request object
        var xml = {}   
        if ( s.global )
            jQuery.event.trigger("ajaxSend", [xml, s]);
        // Wait for a response to come back
        var uploadCallback = function(isTimeout)
		{			
			var io = document.getElementById(frameId);
            try 
			{				
				if(io.contentWindow)
				{
					 xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
                	 xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
					 
				}else if(io.contentDocument)
				{
					 xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
                	xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
				}						
            }catch(e)
			{
				jQuery.handleError(s, xml, null, e);
			}
            if ( xml || isTimeout == "timeout") 
			{				
                requestDone = true;
                var status;
                try {
                    status = isTimeout != "timeout" ? "success" : "error";
                    // Make sure that the request was successful or notmodified
                    if ( status != "error" )
					{
                        // process the data (runs the xml through httpData regardless of callback)
                        var data = jQuery.uploadHttpData( xml, s.dataType );    
                        // If a local callback was specified, fire it and pass it the data
                        if ( s.success )
                            s.success( data, status );
    
                        // Fire the global callback
                        if( s.global )
                            jQuery.event.trigger( "ajaxSuccess", [xml, s] );
                    } else
                        jQuery.handleError(s, xml, status);
                } catch(e) 
				{
                    status = "error";
                    jQuery.handleError(s, xml, status, e);
                }

                // The request was completed
                if( s.global )
                    jQuery.event.trigger( "ajaxComplete", [xml, s] );

                // Handle the global AJAX counter
                if ( s.global && ! --jQuery.active )
                    jQuery.event.trigger( "ajaxStop" );

                // Process result
                if ( s.complete )
                    s.complete(xml, status);

                jQuery(io).unbind()

                setTimeout(function()
									{	try 
										{
											$(io).remove();
											$(form).remove();	
											
										} catch(e) 
										{
											jQuery.handleError(s, xml, null, e);
										}									

									}, 100)

                xml = null

            }
        }
        // Timeout checker
        if ( s.timeout > 0 ) 
		{
            setTimeout(function(){
                // Check to see if the request is still happening
                if( !requestDone ) uploadCallback( "timeout" );
            }, s.timeout);
        }
        try 
		{
           // var io = $('#' + frameId);
			var form = $('#' + formId);
			$(form).attr('action', s.url);
			$(form).attr('method', 'POST');
			$(form).attr('target', frameId);
            if(form.encoding)
			{
                form.encoding = 'multipart/form-data';				
            }
            else
			{				
                form.enctype = 'multipart/form-data';
            }			
            $(form).submit();

        } catch(e) 
		{			
            jQuery.handleError(s, xml, null, e);
        }
        if(window.attachEvent){
            document.getElementById(frameId).attachEvent('onload', uploadCallback);
        }
        else{
            document.getElementById(frameId).addEventListener('load', uploadCallback, false);
        } 		
        return {abort: function () {}};	

    },

    uploadHttpData: function( r, type ) {
        var data = !type;
        data = type == "xml" || data ? r.responseXML : r.responseText;
        // If the type is "script", eval it in global context
        if ( type == "script" )
            jQuery.globalEval( data );
        // Get the JavaScript object, if JSON is used.
        if ( type == "json" )
            eval( "data = " + data );
        // evaluate scripts within html
        if ( type == "html" )
            jQuery("<div>").html(data).evalScripts();
			//alert($('param', data).each(function(){alert($(this).attr('value'));}));
        return data;
    }
})


/*
	jQuery Plugin listbox
	(c) 2008 Bayasgalan Davaajav (bayasaa.com)
	$Id: listbox.js,v 0.0 2008/04/26
*/

$.fn.listbox = function(settings) {
	var listbox = this;
	listbox.lastid = settings.lastid;
	listbox.totalItem = settings.totalItem;
	listbox.list = document.createElement("div");
	listbox.list.id = listbox[0].id + "_list";
	listbox.loader = document.createElement("div");
	listbox.curItem = 0;
	listbox.push = settings.push;	
	
	listbox.list.className = "listbox";
	var height = document.getElementById(listbox[0].id).clientHeight - 20;
	listbox.list.style.height = height + "px";
	listbox.loader.style.height = "20px";
	listbox.append(listbox.list);
	listbox.append(listbox.loader);
	listbox.firstTime = true;
	
	if( settings.totalItem ) listbox.loader.innerHTML = "Үлдсэн: " + settings.totalItem; 
	if (!settings.ajax) {
		alert("An AJAX URL must be set for the listbox to work.");
		return;
	}
	
	listbox.MakeRequest = function(){
		listbox.loader.innerHTML = "<img src='/images/loader.gif' align='absmiddle'> Loading..."; 
		$.post(settings.ajax, {lastid:listbox.lastid, rowcount:settings.rowcount},   
			function(json){
				$.each(json.items, 
					function(i, item){
						listbox.push(item);
						//listbox.list.innerHTML += item.html;
						listbox.curItem += 1;
					}
				);
				leftItem = settings.totalItem - listbox.curItem				
				listbox.lastid = json.lastid;
				if (settings.totalItem) {
					if (listbox.lastid == "last") {
						listbox.loader.innerHTML = "Үлдсэн: 0";
					}
					else {
						listbox.loader.innerHTML = "Үлдсэн: " + leftItem;
					}
				}
				else {
					listbox.loader.innerHTML = "";
				}
				if( listbox.list.scrollHeight <= listbox.list.clientHeight ){
					listbox.MakeRequest();
				}
			}, "json"
		);
	}
	
	listbox.list.onscroll = function(){ 
		if (listbox.list.scrollTop == listbox.list.scrollHeight - listbox.list.clientHeight && listbox.lastid != "last")
			listbox.MakeRequest();
	}
};

