/*!
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
;

var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} };

/**
 * Set the variable that indicates if JavaScript behaviors should be applied
 */
Drupal.jsEnabled = document.getElementsByTagName && document.createElement && document.createTextNode && document.documentElement && document.getElementById;

/**
 * Attach all registered behaviors to a page element.
 *
 * Behaviors are event-triggered actions that attach to page elements, enhancing
 * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors
 * object as follows:
 * @code
 *    Drupal.behaviors.behaviorName = function () {
 *      ...
 *    };
 * @endcode
 *
 * Drupal.attachBehaviors is added below to the jQuery ready event and so
 * runs on initial page load. Developers implementing AHAH/AJAX in their
 * solutions should also call this function after new page content has been
 * loaded, feeding in an element to be processed, in order to attach all
 * behaviors to the new content.
 *
 * Behaviors should use a class in the form behaviorName-processed to ensure
 * the behavior is attached only once to a given element. (Doing so enables
 * the reprocessing of given elements, which may be needed on occasion despite
 * the ability to limit behavior attachment to a particular element.)
 *
 * @param context
 *   An element to attach behaviors to. If none is given, the document element
 *   is used.
 */
Drupal.attachBehaviors = function(context) {
  context = context || document;
  if (Drupal.jsEnabled) {
    // Execute all of them.
    jQuery.each(Drupal.behaviors, function() {
      this(context);
    });
  }
};

/**
 * Encode special characters in a plain-text string for display as HTML.
 */
Drupal.checkPlain = function(str) {
  str = String(str);
  var replace = { '&': '&amp;', '"': '&quot;', '<': '&lt;', '>': '&gt;' };
  for (var character in replace) {
    var regex = new RegExp(character, 'g');
    str = str.replace(regex, replace[character]);
  }
  return str;
};

/**
 * Translate strings to the page language or a given language.
 *
 * See the documentation of the server-side t() function for further details.
 *
 * @param str
 *   A string containing the English string to translate.
 * @param args
 *   An object of replacements pairs to make after translation. Incidences
 *   of any key in this array are replaced with the corresponding value.
 *   Based on the first character of the key, the value is escaped and/or themed:
 *    - !variable: inserted as is
 *    - @variable: escape plain text to HTML (Drupal.checkPlain)
 *    - %variable: escape text and theme as a placeholder for user-submitted
 *      content (checkPlain + Drupal.theme('placeholder'))
 * @return
 *   The translated string.
 */
Drupal.t = function(str, args) {
  // Fetch the localized version of the string.
  if (Drupal.locale.strings && Drupal.locale.strings[str]) {
    str = Drupal.locale.strings[str];
  }

  if (args) {
    // Transform arguments before inserting them
    for (var key in args) {
      switch (key.charAt(0)) {
        // Escaped only
        case '@':
          args[key] = Drupal.checkPlain(args[key]);
        break;
        // Pass-through
        case '!':
          break;
        // Escaped and placeholder
        case '%':
        default:
          args[key] = Drupal.theme('placeholder', args[key]);
          break;
      }
      str = str.replace(key, args[key]);
    }
  }
  return str;
};

/**
 * Format a string containing a count of items.
 *
 * This function ensures that the string is pluralized correctly. Since Drupal.t() is
 * called by this function, make sure not to pass already-localized strings to it.
 *
 * See the documentation of the server-side format_plural() function for further details.
 *
 * @param count
 *   The item count to display.
 * @param singular
 *   The string for the singular case. Please make sure it is clear this is
 *   singular, to ease translation (e.g. use "1 new comment" instead of "1 new").
 *   Do not use @count in the singular string.
 * @param plural
 *   The string for the plural case. Please make sure it is clear this is plural,
 *   to ease translation. Use @count in place of the item count, as in "@count
 *   new comments".
 * @param args
 *   An object of replacements pairs to make after translation. Incidences
 *   of any key in this array are replaced with the corresponding value.
 *   Based on the first character of the key, the value is escaped and/or themed:
 *    - !variable: inserted as is
 *    - @variable: escape plain text to HTML (Drupal.checkPlain)
 *    - %variable: escape text and theme as a placeholder for user-submitted
 *      content (checkPlain + Drupal.theme('placeholder'))
 *   Note that you do not need to include @count in this array.
 *   This replacement is done automatically for the plural case.
 * @return
 *   A translated string.
 */
Drupal.formatPlural = function(count, singular, plural, args) {
  var args = args || {};
  args['@count'] = count;
  // Determine the index of the plural form.
  var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1);

  if (index == 0) {
    return Drupal.t(singular, args);
  }
  else if (index == 1) {
    return Drupal.t(plural, args);
  }
  else {
    args['@count['+ index +']'] = args['@count'];
    delete args['@count'];
    return Drupal.t(plural.replace('@count', '@count['+ index +']'));
  }
};

/**
 * Generate the themed representation of a Drupal object.
 *
 * All requests for themed output must go through this function. It examines
 * the request and routes it to the appropriate theme function. If the current
 * theme does not provide an override function, the generic theme function is
 * called.
 *
 * For example, to retrieve the HTML that is output by theme_placeholder(text),
 * call Drupal.theme('placeholder', text).
 *
 * @param func
 *   The name of the theme function to call.
 * @param ...
 *   Additional arguments to pass along to the theme function.
 * @return
 *   Any data the theme function returns. This could be a plain HTML string,
 *   but also a complex object.
 */
Drupal.theme = function(func) {
  for (var i = 1, args = []; i < arguments.length; i++) {
    args.push(arguments[i]);
  }

  return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args);
};

/**
 * Parse a JSON response.
 *
 * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message.
 */
Drupal.parseJson = function (data) {
  if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {
    return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
  }
  return eval('(' + data + ');');
};

/**
 * Freeze the current body height (as minimum height). Used to prevent
 * unnecessary upwards scrolling when doing DOM manipulations.
 */
Drupal.freezeHeight = function () {
  Drupal.unfreezeHeight();
  var div = document.createElement('div');
  $(div).css({
    position: 'absolute',
    top: '0px',
    left: '0px',
    width: '1px',
    height: $('body').css('height')
  }).attr('id', 'freeze-height');
  $('body').append(div);
};

/**
 * Unfreeze the body height
 */
Drupal.unfreezeHeight = function () {
  $('#freeze-height').remove();
};

/**
 * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of
 * drupal_urlencode() in PHP). This function should only be used on paths, not
 * on query string arguments.
 */
Drupal.encodeURIComponent = function (item, uri) {
  uri = uri || location.href;
  item = encodeURIComponent(item).replace(/%2F/g, '/');
  return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F');
};

/**
 * Get the text selection in a textarea.
 */
Drupal.getSelection = function (element) {
  if (typeof(element.selectionStart) != 'number' && document.selection) {
    // The current selection
    var range1 = document.selection.createRange();
    var range2 = range1.duplicate();
    // Select all text.
    range2.moveToElementText(element);
    // Now move 'dummy' end point to end point of original range.
    range2.setEndPoint('EndToEnd', range1);
    // Now we can calculate start and end points.
    var start = range2.text.length - range1.text.length;
    var end = start + range1.text.length;
    return { 'start': start, 'end': end };
  }
  return { 'start': element.selectionStart, 'end': element.selectionEnd };
};

/**
 * Build an error message from ahah response.
 */
Drupal.ahahError = function(xmlhttp, uri) {
  if (xmlhttp.status == 200) {
    if (jQuery.trim($(xmlhttp.responseText).text())) {
      var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText });
    }
    else {
      var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri, '@text': xmlhttp.responseText });
    }
  }
  else {
    var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status });
  }
  return message;
}

// Global Killswitch on the <html> element
if (Drupal.jsEnabled) {
  // Global Killswitch on the <html> element
  $(document.documentElement).addClass('js');
  // 'js enabled' cookie
  document.cookie = 'has_js=1; path=/';
  // Attach all behaviors.
  $(document).ready(function() {
    Drupal.attachBehaviors(this);
  });
}

/**
 * The default themes.
 */
Drupal.theme.prototype = {

  /**
   * Formats text for emphasized display in a placeholder inside a sentence.
   *
   * @param str
   *   The text to format (plain-text).
   * @return
   *   The formatted text (html).
   */
  placeholder: function(str) {
    return '<em>' + Drupal.checkPlain(str) + '</em>';
  }
};
;
Drupal.locale = { 'pluralFormula': function($n) { return Number((((($n%10)==1)&&(($n%100)!=11))?(0):((((($n%10)>=2)&&(($n%10)<=4))&&((($n%100)<10)||(($n%100)>=20)))?(1):2))); }, 'strings': { "Your server has been successfully tested to support this feature.": "Ваш сервер был успешно протестирован и может использовать эту функцию", "Your system configuration does not currently support this feature. The \x3ca href=\"http://drupal.org/node/15365\"\x3ehandbook page on Clean URLs\x3c/a\x3e has additional troubleshooting information.": "Конфигурация вашей системы на данный момент не поддерживает этой функции. Дополнительная информация доступна на \x3ca href=\"http://drupal.org/node/15365\"\x3eстраницы документации о Clean URLs\x3c/a\x3e.", "Testing clean URLs...": "Тестирование чистых URL-ов...", "Upload": "Загрузить", "Only files with the following extensions are allowed: %files-allowed.": "Прикреплять можно только файлы с расширениями: %files-allowed.", "Select all rows in this table": "Отметить все колонки таблицы", "Deselect all rows in this table": "Снять отметку со всех колонок таблицы", "Join summary": "Объединить анонс", "Split summary at cursor": "Отделить анонс от основного материала", "Unspecified error": "Не специфичная ошибка", "An HTTP error @status occurred. \n@uri": "Произошла HTTP ошибка @status. \r\n@uri", "Changes made in this table will not be saved until the form is submitted.": "Изменения, сделанные в списке не вступят в силу пока вы не сохраните их.", "Drag to re-order": "Переместите для изменения порядка", "An error occurred. \n@uri\n@text": "Возникла ошибка. \r\n@uri\r\n@text", "An error occurred. \n@uri\n(no information available).": "Возникла ошибка. \r\n@uri\r\n(нет доступной информации).", "The changes to these blocks will not be saved until the \x3cem\x3eSave blocks\x3c/em\x3e button is clicked.": "Изменения, сделанные в блоках не вступят в силу пока вы не нажмете кнопку \x3cem\x3eСохранить блоки\x3c/em\x3e." } };;
/* -------------------------------------------------- *
 * Tooltip
** -------------------------------------------------- */

function simple_tooltip(target_items,name, text){
	$(target_items).each(function(i){
		$(this).mouseover(function(){
					show_tooltip(name, text);
				}).mousemove(function(kmouse){
					track_tooltip(name,kmouse);
				}).mouseout(function(){
					hide_tooltip(name);
				});
	});
}

function show_tooltip(name, text){
	//hide_tooltip(name);

	$("body").append("<div class='"+name+"' id='"+name+"'><div><p>"+text+"</p></div><i></i></div>");
	$("#"+name).css({display:"block"});
}

function hide_tooltip(name){
	$("#"+name).remove();
}

function track_tooltip(name,kmouse){
	$("#"+name).css({left:kmouse.pageX,top:kmouse.pageY,marginTop:'-'+$("#"+name).height()/2+'px'});
}


function scrollbarWidth() {
	var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>');
	$('body').append(div);
	var w1 = $('div', div).innerWidth();
	div.css('overflow-y', 'scroll');
	var w2 = $('div', div).innerWidth();
	$(div).remove();
	return (w1 - w2);
}

/*
 * jquery.tools 1.1.2 - The missing UI library for the Web
 *
 * [tools.tabs-1.0.4, tools.tooltip-1.1.2]
 *
 * Copyright (c) 2009 Tero Piirainen
 * http://flowplayer.org/tools/
 *
 * Dual licensed under MIT and GPL 2+ licenses
 * http://www.opensource.org/licenses
 *
 * -----
 *
 * File generated: Wed Oct 07 13:30:25 GMT+00:00 2009
 */
(function(d){d.tools=d.tools||{};d.tools.tabs={version:"1.0.4",conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialIndex:0,event:"click",api:false,rotate:false},addEffect:function(e,f){c[e]=f}};var c={"default":function(f,e){this.getPanes().hide().eq(f).show();e.call()},fade:function(g,e){var f=this.getConf(),j=f.fadeOutSpeed,h=this.getPanes();if(j){h.fadeOut(j)}else{h.hide()}h.eq(g).fadeIn(f.fadeInSpeed,e)},slide:function(f,e){this.getPanes().slideUp(500);this.getPanes().eq(f).slideDown(1000,e)},ajax:function(f,e){this.getPanes().eq(0).load(this.getTabs().eq(f).attr("href"),e)}};var b;d.tools.tabs.addEffect("horizontal",function(f,e){if(!b){b=this.getPanes().eq(0).width()}this.getCurrentPane().animate({width:0},function(){d(this).hide()});this.getPanes().eq(f).animate({width:b},function(){d(this).show();e.call()})});function a(g,h,f){var e=this,j=d(this),i;d.each(f,function(k,l){if(d.isFunction(l)){j.bind(k,l)}});d.extend(this,{click:function(k,n){var o=e.getCurrentPane();var l=g.eq(k);if(typeof k=="string"&&k.replace("#","")){l=g.filter("[href*="+k.replace("#","")+"]");k=Math.max(g.index(l),0)}if(f.rotate){var m=g.length-1;if(k<0){return e.click(m,n)}if(k>m){return e.click(0,n)}}if(!l.length){if(i>=0){return e}k=f.initialIndex;l=g.eq(k)}if(k===i){return e}n=n||d.Event();n.type="onBeforeClick";j.trigger(n,[k]);if(n.isDefaultPrevented()){return}c[f.effect].call(e,k,function(){n.type="onClick";j.trigger(n,[k])});n.type="onStart";j.trigger(n,[k]);if(n.isDefaultPrevented()){return}i=k;g.removeClass(f.current);l.addClass(f.current);return e},getConf:function(){return f},getTabs:function(){return g},getPanes:function(){return h},getCurrentPane:function(){return h.eq(i)},getCurrentTab:function(){return g.eq(i)},getIndex:function(){return i},next:function(){return e.click(i+1)},prev:function(){return e.click(i-1)},bind:function(k,l){j.bind(k,l);return e},onBeforeClick:function(k){return this.bind("onBeforeClick",k)},onClick:function(k){return this.bind("onClick",k)},unbind:function(k){j.unbind(k);return e}});g.each(function(k){d(this).bind(f.event,function(l){e.click(k,l);return false})});if(location.hash){e.click(location.hash)}else{if(f.initialIndex===0||f.initialIndex>0){e.click(f.initialIndex)}}h.find("a[href^=#]").click(function(k){e.click(d(this).attr("href"),k)})}d.fn.tabs=function(i,f){var g=this.eq(typeof f=="number"?f:0).data("tabs");if(g){return g}if(d.isFunction(f)){f={onBeforeClick:f}}var h=d.extend({},d.tools.tabs.conf),e=this.length;f=d.extend(h,f);this.each(function(l){var j=d(this);var k=j.find(f.tabs);if(!k.length){k=j.children()}var m=i.jquery?i:j.children(i);if(!m.length){m=e==1?d(i):j.parent().find(i)}g=new a(k,m,f);j.data("tabs",g)});return f.api?g:this}})(jQuery);
/*
 * File:        chromatable.js
 * Version:     1.3.0
 * CVS:         $Id$
 * Description: Make a "sticky" header at the top of the table, so it stays put while the table scrolls
 * Author:      Zachary Siswick
 * Created:     Thursday 19 November 2009 8:53pm
 * Language:    Javascript
 *
 */
(function($){

	$.chromatable = {
		// Default options
		defaults: {
						//specify a pixel dimension, auto, or 100%
			width: "900px",
						height: "300px",
						scrolling: "yes"
		}

		};

		$.fn.chromatable = function(options){

		// Extend default options
		var options = $.extend({}, $.chromatable.defaults, options);

		return this.each(function(){

				// Add jQuery methods to the element
				var $this = $(this);
				var $uniqueID = $(this).attr("ID") + ("wrapper");


				//Add dimentsions from user or default parameters to the DOM elements
				$(this).css('width', options.width).addClass("_scrolling");

				$(this).wrap('<div class="scrolling_outer"><div id="'+$uniqueID+'" class="scrolling_inner"></div></div>');

				$(".scrolling_outer").css({'position':'relative'});
				$("#"+$uniqueID).css(

					 {
					 	'position':'relative',
						'overflow-x':'hidden',
						'overflow-y':'auto',
						'padding-right':'17px'
						});
				if($(this).height() > parseInt(options.height)) {
					$("#"+$uniqueID).css('height', options.height);
				}
				$("#"+$uniqueID).css('width', options.width);

				// clone an exact copy of the scrolling table and add to DOM before the original table
				// replace old class with new to differentiate between the two
				$(this).before($(this).clone().attr("id", "").addClass("_thead").css(

						{'width' : '100%',
						 //'display' : 'block',
						 'position':'absolute',
						 'left':'0'
						 //'border':'none',
						// 'border-bottom':'1px solid #CCC',
						// 'top':'1px'
							}));


				// remove all children within the cloned table after the thead element
				$('._thead').children('tbody').remove();


				$(this).each(function( $this ){

					// if the width is auto, we need to remove padding-right on scrolling container

					if (options.width == "100%" || options.width == "auto") {

						$("#"+$uniqueID).css({'padding-right':'0px'});
					}


					if (options.scrolling == "no") {

						$("#"+$uniqueID).before('<a href="#" class="expander" style="width:100%;">Expand table</a>');

						$("#"+$uniqueID).css({'padding-right':'0px'});

						$(".expander").each(


							function(int){

								$(this).attr("ID", int);

								$( this ).bind ("click",function(){

										$("#"+$uniqueID).css({'height':'auto'});

										$("#"+$uniqueID+" ._thead").remove();

										$(this).remove();

									});
								});


						//this is dependant on the jQuery resizable UI plugin
						$("#"+$uniqueID).resizable({ handles: 's' }).css("overflow-y", "hidden");

					}

				});


				// Get a relative reference to the "sticky header"
				$curr = $this.prev();

				//check to see if the width is set to auto, if not, we don't need to call the resizer function
				if (options.width == "100%" || "auto"){

						$("#"+$uniqueID).bind('scroll', function(event) {
							$curr.css('marginTop',$("#"+$uniqueID).scrollTop()+'px')
						});
					}
				});

	};


})(jQuery);;
/* -------------------------------------------------- *
 * Project scripts
 * -------------------------------------------------- *
 * Author: Morozov Igor
 * URL: http://www.morozoff.info/                    lp
 * Copyright: 2010 Morozov Igor
** -------------------------------------------------- */


/* Price scripts
** -------------------------------------------------- */
var semaphore = 0;
var prevValue = 0;
var oldValue = 0;
var timetitle = 0;
var currentSort = '';
var totsumm = 0;
var tids = '';
var tID = 0; 
var currentCID = 0;
var currentBID = 0;

$(document).ready(function() {
   
	$('.btn-style').hover(function() {
		$(this).addClass('btn-style-hover')
	}, function() {
		$(this).removeClass('btn-style-hover btn-style-click')
	}).bind('mousedown', function(event) {
		$(this).addClass('btn-style-click')
	}).bind('mouseup', function(event) {
		$(this).removeClass('btn-style-click')
	});
	$('.btn-style-big').hover(function() {
		$(this).addClass('btn-style-big-hover')
	}, function() {
		$(this).removeClass('btn-style-big-hover btn-style-click-big')
	}).bind('mousedown', function(event) {
		$(this).addClass('btn-style-click-big')
	}).bind('mouseup', function(event) {
		$(this).removeClass('btn-style-click-big')
	});


	if($('.b-main-tabs').length >0) {
		$(".b-main-tabs .b-tabs").tabs(".b-main-tabs .panes > .pane", {initialIndex: null});
	}

	if($('.b-main-tabs-help').length >0) {
		$(".b-main-tabs-help .b-tabs").tabs(".b-main-tabs-help .panes > .pane", {initialIndex: null});
	}


	if($('a.link-show-map').length >0) {
		$('a.link-show-map').click(function() {
			var attr = $(this).attr('href');
			$(attr).toggle();
			return false;
		});
	}
	$('.pp-help').delegate(".close", "click", function(){
		$('.overlay, .pp-help').css('display', 'none'); //!!!
		if($('.price-page').length > 0) {
			$('body,html').css('overflowY','hidden')
		}
		return false;
	});

    $('.pp-helponline').delegate(".aclose", "click", function(){
        var h =  $('.pp-helponline').css('height') ;
        var w =  $('.pp-helponline').css('width') ;
        var m =  $('.pp-helponline').css('margin-top') ;
        $('.pp-helponline').animate({
            opacity: 0.1,
            left: "150%",
            top:"40%",
            height: "10px",
            width: "10px"

        },  2000);

		 //!!!
        $('.overlay').css('display', 'none');



        setTimeout(function() {
            $('.pp-helponline').css('left', '50%');
            $('.pp-helponline').css('top', '');
            $('.pp-helponline').css('opacity', '');
            $('.pp-helponline').css('display', 'none');
            $('.pp-helponline').css('width', w) ;
            $('.pp-helponline').css('height', h)  ;
            $('.pp-helponline').css('margin-top', "-250") ;

            $('#hico').toggleClass('help-ico-b');
            setTimeout(function() {
               $('#hico').toggleClass('help-ico-b');
               setTimeout(function() {
                   $('#hico').toggleClass('help-ico-b');
                   setTimeout(function() {
                   $('#hico').toggleClass('help-ico-b');
                       setTimeout(function() {
               $('#hico').toggleClass('help-ico-b');
                           setTimeout(function() {
               $('#hico').toggleClass('help-ico-b');
            }, 500);
            }, 500);
                    }, 500);
                }, 500);
            }, 500);

        }, 2100) ;

        //!!!

		if($('.price-page').length > 0) {
			$('body,html').css('overflowY','hidden')
		}
		return false;
	});

    $('.pp-container').delegate(".close", "click", function(){
        $('.table-loader','#pp-cart').css('display', 'block');
        
        if (($('#history').html() == 1) && ($('#step').html() == 2)) {
          
            location.reload();
        }
        
		
        $('.overlay, .pp-container, .pp-help').css('display', 'none'); //!!!
        $('#cart-content').html('');
         //--
		if($('.price-page').length > 0) {
			$('body,html').css('overflowY','hidden');
            $('#hidden_area').css('display', 'block'); //---
		}
       
        
        $('.table-loader','#pp-cart').css('display', 'none');
		return false;
	});

	if($('a.link-pp').length > 0) {
		$('a.link-pp').click(function() {
			var attrhref = $(this).attr('href')
			$(attrhref).css('display', 'block'); //!!!
			$('.overlay').css('display', 'block'); //!!!
		});
	}

	if($('#table-order-scroll').length > 0) {
	//	cartstep2()
	}
    
    if($('a.link-show-order').length >0) {
		$('a.link-show-order').click(function() {
			var attr = $(this).attr('href');
			$(attr).toggle();
			return false;
		});
	}
    
    $('.link-cart').click(function() {
	    
        
        $('.b-heading').html('<a href="#" class="close">Закрыть не отправляя заказ</a>Корзина <small>Шаг 1 из 2</small>');
	   	
        $('#pp-cart').css('display', 'block'); //!!!
        $('.table-loader','#pp-cart').css('display', 'block'); //!!!
       
		
       if ($(window).height() < 600){
        $('#hidden_area').css('display', 'none'); //---
        $('body,html').css('overflowY','');
       }       
        
        
        requestCurrentCart();
        $('.overlay').css('display', 'block'); //!!!      
		return false;
	});

});


/* cart step 2 scripts
** -------------------------------------------------- */

function cartstep2() {

	if($('#table-order-scroll .s-tbl').height() > 300) {
	//	$('#table-order-scroll .s-tbl').css('height','300px');
	} 

//	$('#table-order-scroll .s-tbl').chromatable({width:'100%', height: "270px",scrolling: "yes"});
}

function initprice() {
 
	currentSort = $('#sort_price').val();
	currentSort = currentSort.split('_');
	currentSort = currentSort[0];

    if  	($('#price-rubricator a').hasClass('selected')) {
        //alert($('#price-rubricator a').attr("href"));
    } 

	$('body,html').css('overflowY','hidden')
	var timetitle = 0;
	$('.b-quest').click(function() {
	   
		var attrurl = $(this).attr('href')
		$(attrurl).show().css('marginTop','-'+($(attrurl).height()/2+44)+'px')
		$('.overlay').css('display', 'block'); //!!!
		return false;
	});

    $('.b-price-help').click(function() {

       // if  ($('.pp-helponline').css('display') == 'block')
            $('.pp-helponline').css('display', 'none');
		var attrurl = $(this).attr('href')
		$(attrurl).show().css('marginTop','-'+($(attrurl).height()/2+10)+'px')
		$('.overlay').css('display', 'block'); //!!!
		return false;
	})
    
	$('.pp-help .close').click(function() {
		$('.pp-help').css('display', 'none'); //!!!
		$('.overlay').css('display', 'none'); //!!!
		return false;
	});

	//height price
	var heightrubr = function() {
		var offsetrubr = $('#price-rubricator').offset();
		var offsettop = offsetrubr.top;
		var heightrubric = ($(window).height() - offsettop) - 12;
		return heightrubric
	}
	var heightprice = function() {
		var offsetprice = $('#table-price-wrap').offset();
		var offsettable = offsetprice.top;
		var height = ($(window).height() - offsettable) - $('.table-head').height() - 1;
		//console.info(height)
		return height
	}

	

	$('#price-rubricator').css('height',heightrubr)
	$('#table-price-wrap').css('height',heightprice)

	$(window).bind('resize', function() {
		$('#price-rubricator').css('height',heightrubr);
		$('#table-price-wrap').css('height',heightprice)
	});


	//events rubricator
	$('.b-group-events a').click(function() {
		if($(this).parent().hasClass('b-check-rubr')) {
           
            $('.table-notload').css('display', 'none');
            $('.table-upgrade').css('display', 'none');
            $('.table-search').css('display', 'none');
			$('#price-rubricator input[type=checkbox]').attr('checked','checked');
			$('#price-rubricator a').addClass('selected');
            
			save_tax_all(1);
		}
		else {
			$('#price-rubricator input[type=checkbox]').attr('checked','');
			$('#price-rubricator a').removeClass('selected');
			$('#table-wrapper tbody').css('display','none');
            $('#table-wrapper tbody').html('');
            $('.table-notload').css('display', 'block');
            $('.table-upgrade').css('display', 'block');
            $('.table-search').css('display', 'none');
		}
		return false;
	});


	$('.auto-refresh input','.b-price-setup').click(function() {
		save_price_auto_refresh(this.checked);
		$(this).parent().prev().toggleClass('active-refresh');

	});


	totsumm = $('#table-price-wrap .i-summ').length;

    

	price_set_auto();
	bindEvents();
	bindRubricator();



}

	function priceviewer(url,link){
		clearTimeout(timetitle);
        setCurrentCID(url);
		$('.group','#table-price-wrap').removeClass('active-th');
		var $t = link;
		var targeturl = $(url)
        targeturl.css('display','');
        var target = targeturl[0].offsetTop;
		if($t.hasClass('selected')) {

		//	var target = targeturl[0].offsetTop;
			$('.group',targeturl).addClass('active-th');
			$('#table-price-wrap').animate({scrollTop: target - 1}, 0, function(){
				timetitle = setTimeout(function(){
					$('.group',targeturl).removeClass('active-th');

					clearTimeout(timetitle)
				},500)
			});

		}
		else {

		//	targeturl.css('display','');
			var target = targeturl[0].offsetTop;
		//	$t.addClass('selected');
		//	$t.prev().attr('checked','checked');
            
			$('.group',targeturl).addClass('active-th');
			$('#table-price-wrap').animate({scrollTop: target - 1}, 0, function(){
				timetitle = setTimeout(function(){
					$('.group',targeturl).removeClass('active-th');

					clearTimeout(timetitle)
				},500)
			});
		}
        
	}

//

	

   
var getRequest;
var gAttr;
var gLink;

	function load_tax_content(attrhref, link){
	  //!!!
      
     
	 getRequest = {q: "load_tax_content"};
	 var htmlStr = $(attrhref).html();

     gAttr = attrhref;
     gLink = link;

	 getRequest['tid'] = attrhref;
     
     
     
     
	 if (htmlStr.length < 30 ) {
	    $('.table-loader','#table-price-wrap').css('display', 'block');
	 	getRequest['anyway'] = 1;
	 } else {
        priceviewer(gAttr,gLink); 
	 }
     
     if (tID) {
        tids =  tids + ',' + attrhref;
        clearTimeout(tID);
     } else {
        tids = attrhref;
      } 
      
	 tID = setTimeout( '_load()', 1000);

	}



function _load() {
    clearTimeout(tID);
    
   // var link = $(this).next();
	// var attrhref = link.attr('href');
   var reload_rubrics = false;
   
   if ($('#search_session').val() != '') {
    
        
    
        $('#table-wrapper tbody').css('display','none');
        $('#table-wrapper tbody').html('');
        reload_rubrics = true;
        $('#search_session').val('');
        $('#search').val('Поиск по всем разделам');
   }         
    getRequest['tid'] = tids;
    tids = '';
    $.ajax(
	 	{
	 			type:'GET',
	 			url:'/load_tax_content',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){
	 			   
                   
					if (data && data.result != 'false' ) {
					   
					   for (var key in data){
					       
                          // todo проверить в рубрикаторе линк хэз класс селектед тогда только показывать
                           var inp = 'i' + key.substring(5);
                           var tbody = key.substring(1);
                           $('input[name='+inp+']').attr('checked')
					       if (($(key).css('display') == 'none'  ) && ($('input[name='+inp+']').attr('checked'))){
                               $(key).css('display','');
                                
                            }
                            // todo проверить бывает ли вариант ложь 
                           if ((data[key] != 'false') && ($(key).css('display') != 'none'  )) {

                            $(key).html(data[key]); 
                           } 
					       
 					   }
					
						bindEvents();
					}
                    if (reload_rubrics == true) {
                        reload_rubricator();
                    } 
					totsumm = $('#table-price-wrap .i-summ').length
                  
				},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){ 
	 			   
                   $('.table-loader','#table-price-wrap').css('display', 'none');
	 			   },
	 			complete:function (XMLHttpRequest, textStatus){ 
	 			   if ($('.table-loader','#table-price-wrap').css('display') != 'none') {
	 			       $('.table-loader','#table-price-wrap').css('display', 'none');
	 			       priceviewer(gAttr,gLink);
                        
	 			   }
	 			    
                   
                   
                 
                   
                     /*!!!; */},
	 			timeout: 10000,
		       dataType:'json'
	 	}
	 ) ;
    
}
	/**
	 *
	 * @access public
	 * @return void
	 **/
	function remove_tax(attrhref, link){
		var getRequest = {q: "remove_tax"};
		getRequest['tid'] = attrhref;

		$.ajax(
	 	{
	 			type:'GET',
	 			url:'/remove_tax',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){	},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){  },
	 			complete:function (XMLHttpRequest, textStatus){ },
	 			timeout: 5000
	 	}
	 	);


	}



	function save_tax_all(checked){

		var getRequest = {};

		getRequest['auto'] =  checked ;
		$.ajax(
		 	{
		 			type:'GET',
		 			url:'/save_tax_all',
		 			cache:false,
					data:getRequest,
		 			success:function(){
                        $('#search_session').val('');
                        $('#search').val('Поиск по всем разделам');
                      
		 			},
		 			error:function(XMLHttpRequest, textStatus, errorThrown){ },
					complete:function (XMLHttpRequest, textStatus){
							if (checked == 1) {
								reload_price(2);
							}

						},
		 			timeout: 5000
		 	}
		)

	}



///////////////////
function price_set_auto(){
	intvlID = setInterval(
	function(){
	    
		if (($('#pp-cart').css('display') == 'none') && ($('#price-auto-refresh').attr('checked') =='checked' )) 
            reload_price(1)
	} , 5 * 60000);
    
}

function clear_form(){
	$.ajax(
	 	{
	 			type:'GET',
	 			url:'/clear_order',
	 			cache:true,
	 			timeout: 5000
	 	}
	 );


	$('#table-wrapper input[type=text]').val('');
	$('#b-quantity').val('');

}



function save_price_auto_refresh(checked){
	$.get('/savepar', { auto: ( checked ? 1 : 0 ) } );
}

/**
 *
 * @access public
 * @return void
 **/
function price_sort(sort_option){

	var getRequest = {q: "save_sort_price"};
		getRequest['sort_price'] = sort_option;
		sort = sort_option.split('_');
		sort = sort[0];

		$.ajax(
	 	{
	 			type:'GET',
	 			url:'/save_sort_price',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){	},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){  },
	 			complete:function (XMLHttpRequest, textStatus){ reload_price(2); if (sort != currentSort) {	currentSort = sort;	reload_rubricator();}},
	 			timeout: 5000
	 	}

	 );



}

/**
 * перегружает содержимое прайса
 * 1 - если версия прайса изменилась
 * 2 - в любом случае
 * @access public
 * @return void
 **/
 var stackData = [];
function reload_price(kind){
	if(semaphore) return;
	$('.table-loader','#table-price-wrap').css('display', 'block'); //!!!
	semaphore = 1; // prevent event crossing
	var today = new Date();

stackData = [];   
tmpData = '';
	var get_data = {};
	get_data = getAllSelectedProducts(get_data);
	get_data['datetime'] = $('#price-datetime').html(); //document.getElementById('price-datetime').innerHTML;
	get_data['kind'] = kind;



	$.ajax(
		{
		type:'GET',
		url:'/pricet',
		data:get_data,
		success:function(data){
			
			var strDate = 'Загружен в ' + data.date;
		    
			$('#price-date').html(strDate);
			if(  (document.getElementById('price-datetime').innerHTML != data.datetime) || (kind == 2)){
				if (data.html) {
				    
					$('#table-wrapper').html( data.html );
				}

				bindEvents();
			}
            $('#price-datetime').html(data.datetime);
         //   $('.table-loader','#table-price-wrap').css('display', 'none'); //!!!
		},
		error:function(XMLHttpRequest, textStatus, errorThrown){
		
            
            if (errorThrown.message == 'script stack space quota is exhausted'){
                document.location.reload();
                /*for (var i = 1; i < 15; i++) {
                   get_price_part(kind, i);
                }
               
                $('.table-loader','#table-price-wrap').css('display', 'none');
                semaphore = 0;
                bindEvents();
                */
            }
		 },
		 complete:function (XMLHttpRequest, textStatus){
		 	$('.table-loader','#table-price-wrap').css('display', 'none');
			semaphore = 0;
		},
		timeout: 60 * 1000,
		cache:false,
		dataType:'json'
		}
	);
    
    
   /* if ( stackData.length ) {
        for (var i = 1; i < stackData.length; i++) {
            tmpData = tmpData + stackData[i]; 
        }
        $('#table-wrapper').html(tmpData);
    }
    */
}

function get_price_part(kind, i) {
    var get_data = {};
                	get_data = getAllSelectedProducts(get_data);
                	get_data['datetime'] = $('#price-datetime').html(); //document.getElementById('price-datetime').innerHTML;
                	get_data['kind'] = kind;
                    get_data['parts'] = i;
                    $.ajax(
                    		{
                    		type:'GET',
                    		url:'/pricet',
                    		data:get_data,
                    		success:function(data){
                    		
                    			 
                					stackData[i] =  data.html;
                		
                    		
                    		},
                    		error:function(XMLHttpRequest, textStatus, errorThrown){
                    		 // alert(errorThrown.message);
                    		 },
                    		 complete:function (XMLHttpRequest, textStatus){
                    		
                    		},
                    		timeout: 60 * 1000,
                    		cache:false,
                    		dataType:'json'
                    		}
                    	);
    //return data.html;
}

/**
 *
 * @access public
 * @return void
 **/
function reload_rubricator(){
	$.ajax(
		{
		type:'GET',
		url:'/catst',
		success:function(data){
				if (data) {
					$('#price-rubricator').html(data);
					bindRubricator();
				}
		},
		error:function(XMLHttpRequest, textStatus, errorThrown){ },
		complete:function (XMLHttpRequest, textStatus){},
		timeout: 60 * 1000,
		cache:false
		}
	);
}


/*
 *
 * @access public
 * @return void
 **/

function keyPressEvent(event, clickel)
      {

		var charCode;
		event = event || window.event;
		charCode = (event.which) ? event.which : event.keyCode ;
		var gtindex = $('#table-price-wrap .i-summ').index(clickel);




        
		if ((charCode == 13) || (charCode == 40)) {
			focusdown(gtindex, clickel);
			return false;
		}
		if (charCode == 38) {
			focusup(gtindex, clickel);
		return false;

		}

		if( ((charCode==13)||(charCode >= 45 && charCode <= 46 ) || (charCode >= 35 && charCode <= 36 ) || (charCode >= 48 && charCode <= 57) || (charCode >= 37 && charCode <= 40) || (charCode == 8) || (charCode == 9) ) )
		{

			return true;
		}
		else {

		 return false;
		}


		return true;


      }
      
   function focusdown(gtindex, clickel) {
	   
		while (gtindex < totsumm) {
			if((gtindex < totsumm) &&  $('#table-price-wrap .i-summ:eq('+(gtindex+1)+')').parents('tbody').is(':visible') && $('#table-price-wrap .i-summ:eq('+(gtindex+1)+')').parents('tr').is(':visible')) {
	           $('#table-price-wrap .i-summ').eq(gtindex+1).focus();
	           break;
	       	} else {
	       		gtindex ++;
		   	}
	   	}
   	}
   	function focusup(gtindex, clickel) {
   	   
   		while(gtindex > 0 ){
   			if((gtindex > 0) &&  $('#table-price-wrap .i-summ:eq('+(gtindex-1)+')').parents('tbody').is(':visible') && $('#table-price-wrap .i-summ:eq('+(gtindex-1)+')').parents('tr').is(':visible')) {
                $('#table-price-wrap .i-summ').eq(gtindex-1).focus();
               break;
	       } else {
	       		gtindex --;
		   }
   		} // while


   }   
/**
 *
 * @access public
 * @return void
 **/


function keyUpEvent(newValue, event){
	var smValue = 0;

		if (isNaN( $('#b-quantity').val() ) || ($('#b-quantity').val() == '' )) {
			smValue = 0;

		} else {
			smValue = parseInt($('#b-quantity').val());
		}

		if (isNaN( prevValue ) || (prevValue == '' )) {
			prevValue = 0;
		} else {
			prevValue = parseInt(prevValue);
		}

		if (isNaN( newValue ) || (newValue == '' )) {
			newValue = 0;
		} else {
			newValue = parseInt(newValue);
		}

		smValue = smValue - prevValue + newValue;
		if (smValue <= 0) {
			smValue = '';
		}

		$('#b-quantity').val(smValue);
		prevValue = newValue;

}

/**
 *
 * @access public
 * @return void
 **/
function focusEvent(value, clickel){
    
  

    $('#table-wrapper tr').removeClass('selected-row');
    $(clickel).parent().parent().addClass('selected-row'); 
            
	if (isNaN( value ) || (value == '' )) {
		oldValue = 0;
		prevValue = 0;
	} else {
		oldValue = value;
		prevValue = value;
	}
}

/**
 *
 * @access public
 * @return void
 **/
var attempt = 0;
function blurEvent(value, nid, clickel){

    
  
  
    //$(clickel).parent().parent().removeClass('selected-row'); 
	attempt ++;
	if (isNaN( value ) || (value == '' )) {
		value = 0;
	}

	if (oldValue == value) {
	 	return;
	}




	var getRequest = {};

		getRequest['id'] = nid;
		getRequest['qty'] = value;

		$.ajax(
	 	{
	 			type:'GET',

	 			url:'/add_item_2cart',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){ var ttlSum = data; /*$('#b-quantity').val(ttlSum);*/ attempt = 0;	},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){ if (attempt < 3) { blurEvent(value, nid);} else {attempt = 0}},
	 			complete:function (XMLHttpRequest, textStatus){ attempt = 0; },
	 			timeout: 5000
	 	}
	 );


}



function add_item_2cart(nid, qty) {
    attempt ++;
    var getRequest = {};

		getRequest['id'] = nid;
		getRequest['qty'] = qty;

		$.ajax(
	 	{
	 			type:'GET',

	 			url:'/add_item_2cart',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){ var ttlSum = data; $('#b-quantity').val(ttlSum); attempt = 0; 
                 var attrhref = $(this).attr('href')
			$('#show-tocart').css('display', 'block');
            $('#cnt-incart').html(ttlSum) ;
			$('.overlay').css('display', 'block'); 	},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){ if (attempt < 3) { add_item_2cart(nid, qty);} else {attempt = 0}},
	 			complete:function (XMLHttpRequest, textStatus){ attempt = 0; },
	 			timeout: 5000
	 	}
	 );
    
}

/**
	 *
	 * @access public
	 * @return void
	 **/
	function bindRubricator(){
		$('#price-rubricator a').click(function() {
		var link = $(this)
		var attrhref = '#' + link.attr('name');

	//	var $t = link;
		var targeturl = $(attrhref);
        var htmlStr = $(attrhref).html();
  
        
        if (semaphore) return false;
	       
	    //   alert(htmlStr.length);
		if(link.hasClass('selected') && (htmlStr.length > 60)  ) {
			priceviewer(attrhref,link);
		} else {
		   $('.table-notload').css('display', 'none');
           $('.table-upgrade').css('display', 'none');
           $('.table-search').css('display', 'none');
           link.addClass('selected');
           link.prev().attr('checked','checked');
           // если там есть текст то показываем
           if (htmlStr.length > 60){
                $(attrhref).css('display','');
           }
		   load_tax_content(attrhref,link);
           
		}
        
		return false;
		});




		$('#price-rubricator input').click(function() {
        if (semaphore) return false;
		var link = $(this).next();
		var attrhref = '#' + link.attr('name');
        
        var htmlStr = $(attrhref).html();
		if(link.hasClass('selected')  ) {
			$(attrhref).css('display','none');
            $(attrhref).html('');
			link.removeClass('selected');
			link.prev().attr('checked','');
			remove_tax(attrhref, link);

		}
		else {
            $('.table-notload').css('display', 'none');
            $('.table-upgrade').css('display', 'none');
            $('.table-search').css('display', 'none');
            // если там есть текст то показываем
            if (htmlStr.length > 60){
                $(attrhref).css('display','');
		 	}
            link.addClass('selected');
            link.prev().attr('checked','checked');
            load_tax_content(attrhref,link);
            
		}
        
		});
	}
/**
	 *
	 * @access public
	 * @return void
	 **/
	function bindEvents(){

		/*
		simple_tooltip(".q-tip","tooltip", "Количество ограничено.");
		 */
        simple_tooltip(".q-res","tooltip-res", "Свяжитесь с менеджером чтобы купить этот товар. " + $('#mngInfo').html());
		
        simple_tooltip(".q-xls","tooltip-xls", "Формат xls. Размер ~420Kb");
    


		$('#table-wrapper input').focus( function(){
			focusEvent($(this).val(), $(this) );
		});

		$('#table-wrapper input').keypress( function(event){
			return keyPressEvent(event, $(this));
		});

		$('#table-wrapper input').keyup( function(){
			keyUpEvent($(this).val());
		});

		$('#table-wrapper input').unbind('blur');

		$('#table-wrapper input').blur( function(){
			blurEvent($(this).val(), $(this).attr('id'), $(this));
		});
        
        
            $('#table-wrapper tr').mousedown( function (){
           
            $('#table-wrapper tr').removeClass('selected-row');
            $(this).addClass('selected-row'); 
            
        } 
        
        ); 

    $('.ci').attr('title', 'Товар доступен для покупки в кредит');
    $('.ci').attr('alt', 'Товар доступен для покупки в кредит');

    $('.ii').attr('title', 'Посмотреть подробную информацию о товаре');
    $('.ii').attr('alt', 'Посмотреть подробную информацию о товаре');
    $('.q-tip').attr('title', 'Количество ограничено');

	//	$('#table-wrapper a').attr('tabindex', '-1' );
	}



function checkLogin () {
    var getRequest = {};
    
	getRequest['username'] = $('#edit-mount-login').attr('value');
    getRequest['uid'] = $('#edit-uid').attr('value');
    
	$.ajax(
 	{
 			type:'POST',

 			url:'/checkUsername',
 			data:getRequest,
 			cache:true,
 			success:function(data){ if (data == 1) 
                    $('#checkLink').html('<span class="c-rd">Имя занято</span>');
                else
                    $('#checkLink').html('<span class="c-gr">Имя свободно</span>');	},
 			error:function(XMLHttpRequest, textStatus, errorThrown){ },
 			complete:function (XMLHttpRequest, textStatus){ 
 			   
                
                
 			},
 			timeout: 5000
 	}
   );
    
}

function restoreLink () {
    $('#checkLink').html('<a href="#" onclick="checkLogin()">Проверить</a>');
    
}
    
function sendMsg( msg, important , variant){
    
    //    alert(variant);
    //    alert(important);
    
        
        var getRequest = {};

		
       
        if (important){
            
          
            
		  getRequest['important'] = 1;
        } else {
            
          getRequest['important'] = 0;
        }
        
        if (variant == 1) {
            if (($('#contact1').val() =='Ваш телефон' ) || ($('#contact1').val() == '' )) {
            alert('Заполните обязательное поле.');
            return;
            }  
            if ($('#contact1').val()) {
                contact = $('#contact1').val()+ "<br/>";
            } else {
                contact = "";
            }
            getRequest['msg'] = contact  + msg;
        } else {
            if (($('#contact2').val() =='Ваш телефон' ) || ($('#contact2').val() == '' )) {
            alert('Заполните обязательное поле.');
            return;
            } 
            if ($('#contact2').val()) {
                contact = $('#contact2').val()+ "<br/>";
            } else {
                contact = "";
            }
            getRequest['msg'] = contact  + msg;
        }
		$.ajax(
	 	{
	 			type:'POST',

	 			url:'/emailus',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){ 	},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){ },
	 			complete:function (XMLHttpRequest, textStatus){  },
	 			timeout: 5000
	 	}
	   );

        if (variant == 1){
            $('#contact1').val('Ваш телефон');
            $('#message1').val('Ваше сообщение');
            $('#contact').val('Ваш телефон');
        } else {
            $('#contact2').val('Ваш телефон');
            $('#message2').val('Ваше сообщение');
            $('#important').attr('checked','');
            $('#contact').val('Ваш телефон');
        }
        $('.pp-help').css('display', 'none'); //!!!
		$('.overlay').css('display', 'none'); //!!!
    }


function restoreL(){
   if ($('#edit-mount-login').val() == '')
    $('#edit-mount-login').val('Логин');
   if (($('#edit-mount-password').val() == '') && ($('#edit-name').val() == 'Логин'))
    $('#edit-mount-password').val('******'); 
    
}
function clearL(){
    if ($('#edit-mount-login').val() == 'Логин') {
     $('#edit-mount-login').val(''); 
     $('#edit-mount-password').val('');   
    }
}
function clearQ1(){
    if ($('#message1').val() == 'Ваше сообщение') {
     $('#message1').val(''); 
    
    }
}
function clearQ2(){
    if ($('#message2').val() == 'Ваше сообщение') {
     $('#message2').val(''); 
    
    }
}

function clearC1(){
    if ($('#contact1').val() == 'Ваш телефон') {
     $('#contact1').val(''); 
    
    }
}

function clearC2(){
    if ($('#contact2').val() == 'Ваш телефон') {
     $('#contact2').val(''); 
    
    }
}

function gF(){
     
    if( $('#edit-mount-phonelogin').val() == '(29) 555-55-55'){
        $('#edit-mount-phonelogin').val('');
       
    }
     $('#edit-mount-phonelogin').addClass('editable');
     $('#edit-mount-phonelogin').removeClass('error');
    
}

function lF(){
    if( $('#edit-mount-phonelogin').val() == ''){
        $('#edit-mount-phonelogin').val('(29) 555-55-55');
        $('#edit-mount-phonelogin').removeClass('editable');    
    }
    
}

function confirmAnonimOrder(variant) {
    
    
    
    if ( $('#chkd_field').val() != '') {
        return false;
    }
    if  ( $('#mount_phone').val() == '' && variant == 1)  {
        alert('Поле телефон обязательно для заполнения');
        return false;
    }
    var getRequest = {};
    getRequest['oid'] = $('#oid').html();
    if (variant == 1) {
        getRequest['mount_name'] = $('#mount_name').val();
        getRequest['mount_phonelogin'] = $('#mount_phone').val();
        getRequest['mount_email'] = $('#mount_email').val();
       
    } else {
        
        getRequest['mount_phonelogin'] = $('#mount_phonelogin').val();
        getRequest['mount_pass1'] = $('#mount_pass1').val();
        
    }
    $.ajax(
	 	{
	 			type:'GET',
	 			url:'/confirm_anonim_order',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){
	 			   
                 
					if ((data) && (data.indexOf("zakaz") == -1)) {
					   $('#anonym').html(data);
					   
					} else {
					   
                       if (data.indexOf("zakaz") != -1) {
                            document.location.href = 'zakaz';
                       }
                       
					}
				
                  
				},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){ 
	 			  },
	 			complete:function (XMLHttpRequest, textStatus){ 
	 			  },
 			   timeout: 15000,
		       
	 	}
	 ) ;
    
    
}
$.expr[':'].icontains = function(obj, index, meta, stack){
return (obj.textContent || obj.innerText || jQuery(obj).text() || '').toLowerCase().indexOf(meta[3].toLowerCase()) >= 0;
};

function setCurrentCID (newCID) {
   //alert(newCID);
    if (currentCID && currentCID != newCID) {
        var attrbody  = currentCID.substr(1);
        $("#" + attrbody + " tr").removeClass('hiddenRow');
        $('#filter').val('Фильтр по слову') ;
        $("#" + attrbody + " .group").removeClass('active-th');
        
      
    }
    
    $('#filter').attr('disabled', '');
    tmpCID = currentCID;
    currentCID = newCID;
    if (($('#filter').val() != 'Фильтр по слову') && (tmpCID != newCID)) {
        filterChange();
    }
    
    attrbody  = currentCID.substr(1);
    catName = $("#" + attrbody+ " th.th-2").html();
    catName = catName.substr(4);
    catName = catName.substr(0, catName.length - 5);
    $('#filterName').html( 'в разделе "' + catName + '"');
    //newFilter = ;
    
}
function filterChange(  ){
   
   if (currentCID) {
   var attrbody  = currentCID.substr(1);
        
       //newFilter = $('#filter').val(); 
       if ($('#filter').val()) {
         $("#" + attrbody + " .group").addClass('active-th');
         $("#" + attrbody + " td").parent().addClass('hiddenRow');
         $("#" + attrbody + " td:icontains('"+$('#filter').val()+"')").parent().removeClass('hiddenRow');
         
         
         
         var targeturl = $(currentCID)
        
        var target = targeturl[0].offsetTop;
		
			$('#table-price-wrap').animate({scrollTop: target - 1});
         
         ////////////
         
        } else {
            $("#" + attrbody + " td").parent().removeClass('hiddenRow');
            $("#" + attrbody + " .group").removeClass('active-th');
       }
   }
 
}

function filterFocus(  ){
    if ($('#filter').val() == 'Фильтр по слову') {
        $('#filter').val('');
    }
}

function filterBlur() {
    
    if ($('#filter').val() == ''){
        $('#filter').val('Фильтр по слову') ;
    } else {
    
        var getRequest = {};
        getRequest['tid'] = currentCID.substr(1);
      
        getRequest['keyword'] = $('#filter').val();
        $.ajax(
    	 	{
    	 			type:'GET',
    	 			url:'/update_keywords_stat',
    	 			data:getRequest,
    	 			cache:true,
    	 			success:{
    				
                      
    				},
    	 			error:function(XMLHttpRequest, textStatus, errorThrown){ 
    	 			  },
    	 			complete:function (XMLHttpRequest, textStatus){ 
    	 			  },
     			   timeout: 1000,
    		       
    	 	}
    	 ) ;
     }
    
}

function searchFocus() {
    if ($('#search').val() == 'Поиск по всем разделам') {
        $('#search').val('');
    }
}

function searchBlur() {
    if ($('#search').val() == ''){
        $('#search').val('Поиск по всем разделам') ;
    }
}
function hideAnonim(){
    	$('.table-anonim').css('display', 'none'); //!!
        var heightprice = function() {
    		var offsetprice = $('#table-price-wrap').offset();
    		var offsettable = offsetprice.top;
    		var height = ($(window).height() - offsettable) - $('.table-head').height() - 1;
    		//console.info(height)
    		return height
    	}
        $('#table-price-wrap').css('height',heightprice)
}
function hs(id){
  var div = $('#'+id);
  var href = $('#l'+id);
  
  if (div.css('display') == 'none') {
    div.css('display' , 'block');
    href.html('–');
  } else {
    div.css('display' , 'none');
    href.html('+');
  }
  
   
 };
var intvlID = null;
var semaphore = 0;
var selectedRow = 0;
var selectedColor = '';
var oldSup = '';
var ttlWidth = 0;


function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
  {
  keynum = e.keyCode;
  }
else if(e.which) // Netscape/Firefox/Opera
  {
  keynum = e.which;
  }
  if (keynum == 13) {
  		filter_price();
  		 return false;
  }

}



/**
 *
 * @access public
 * @return void
 **/

/**
  *
  * @access public
  * @return void
  **/
 function sL(nid){
	if (selectedRow) {

		elem = 'tid' + selectedRow;
		if (document.getElementById(elem)) {
			document.getElementById(elem).className = 'tid' + oldSup;
			elem = 'ttl' + selectedRow;
			document.getElementById(elem).className = 'ttl' + oldSup ;
			elem = 'tp' + selectedRow;
			document.getElementById(elem).className = 'tp' + oldSup;
			elem = 'tw' + selectedRow;
			document.getElementById(elem).className = 'tw' + oldSup;


			elem = 'tq' + selectedRow;
			document.getElementById(elem).className = 'tq' + oldSup;

			elem = 'ten' + selectedRow;
			document.getElementById(elem).className = 'ten' + oldSup;






		}
	}

		selectedRow = nid;
		elem = 'tid' + nid;
		var e = document.getElementById(elem);

		oldSup = e.className;
		oldSup = oldSup.substring(3);

		document.getElementById(elem).className = 'rowSelected';
		elem = 'ttl' + nid;
		document.getElementById(elem).className = 'rowSelected';
		elem = 'tp' + nid;
		document.getElementById(elem).className = 'rowSelectedP';
		elem = 'tw' + nid;
		document.getElementById(elem).className = 'rowSelected';

		elem = 'tq' + nid;

		document.getElementById(elem).className = 'rowSelected';
		elem = 'ten' + nid;
		document.getElementById(elem).className = 'rowSelected';

 }


/**
 *
 * @access public
 * @return void
 **/
function filter_price(){
	findWhat = document.getElementById('filter').value;
	findWhat = findWhat.toUpperCase();
	var f = document.getElementById('price_form');
	var width = 0;

	if (f) {
		for(var i=0; i < f.elements.length; i++){
			var nid = f.elements[i].name;
			if(nid.match(/sp_.*/)) {

					nid = nid.substring(3);//name_parts[2];
					var  elem = 'ttl' + nid;
					var elemRow = 'tr' + nid;
					if (findWhat.length) {
						var title = document.getElementById(elem).innerHTML;
						if (title.search('</a>') > 0) {
							title = title.substring(title.search('</a>') + 4);
						}

						title = title.toUpperCase();


						if (title.search(findWhat) > -1 ) {
							document.getElementById(elemRow).style.display = 'table-row-group';
							if ( !document.getElementById(elem).style.width ) {
								document.getElementById(elem).style.width = ttlWidth;
							}
						} else  {
						 	document.getElementById(elemRow).style.display = 'none';
						 	}
					} else {
						document.getElementById(elemRow).style.display = 'table-row-group';
						if ( !document.getElementById(elem).style.width ) {
									document.getElementById(elem).style.width = ttlWidth;
						}

					}

			}

		} // end for



	} //end if ()
return false;

}

function clearfilter(id){
	if ( id.value=="Фильтр по наименованию"){
		id.value="";

	}
}


/**
 *
 * @access public
 * @return void
 **/



function requestCurrentNode(nid){

	var getRequest = {q: "viewProd", nid: nid};


	 $.ajax(
	 	{
	 			type:'GET',
	 			url:'/viewProd',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){
	 				currentCartRequestAttempt = 1;
	 				document.getElementById('prod_content').innerHTML = data;

	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
	 				if (currentCartRequestAttempt < 5) {
	 					currentCartRequestAttempt++;
	 					document.getElementById('prod_content').innerHTML = document.getElementById('prod_loading').innerHTML + '<div style="text-align: center;">Попытка соединиться №' + currentCartRequestAttempt + '</div>';
	 					requestCurrentNode(nid);

	 				} else {
	 					currentCartRequestAttempt = 1;
	 					document.getElementById('prod_content').innerHTML = '<div style="text-align: center;">Сервер неотвечает<br>Возможно он перегружен либо у Вас отсутствует связь с интернетом.</div>' + '<div style="display: none;">' + textStatus + '</div>';
					}
	 			},
	 			complete:function (XMLHttpRequest, textStatus){

	 			},
	 			timeout: 10000
	 	}
	 );


}
function showNode(){
	document.getElementById('prod_content').innerHTML = document.getElementById('prod_loading').innerHTML;
	var dialogWidth = "500px";
	if($.browser.msie){
		dialogWidth = "493px";
	}
	$("#raw_prod").dialog({
		title: "Товар",
		width: dialogWidth,
		height: "320px"
	});
}
/**
 *
 * @access public
 * @return void
 **/
function hideProd(){
	$("#raw_prod").dialog("close");
}

function requestCurrentBalance(){

	var getRequest = {q: "viewBalanceInfo"};


	 $.ajax(
	 	{
	 			type:'GET',
	 			url:'/viewBalanceInfo',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){
					currentCartRequestAttempt++;
	 				document.getElementById('balance_content').innerHTML = data;

	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
	 				if (currentCartRequestAttempt < 5) {
	 					currentCartRequestAttempt++;
	 					document.getElementById('balance_content').innerHTML = document.getElementById('balance_loading').innerHTML + '<div style="text-align: center;">Попытка соединиться №' + currentCartRequestAttempt + '</div>';
	 					requestCurrentBalance();

	 				} else {
	 					currentCartRequestAttempt = 1;
	 					document.getElementById('balance_content').innerHTML = '<div style="text-align: center;">Сервер неотвечает<br>Возможно он перегружен либо у Вас отсутствует связь с интернетом.</div>' + '<div style="display: none;">' + textStatus + '</div>';
					}
	 			},
	 			complete:function (XMLHttpRequest, textStatus){

	 			},
	 			timeout: 5000
	 	}
	 );


}

function showBalance(){
	document.getElementById('balance_content').innerHTML = document.getElementById('balance_loading').innerHTML;
	var dialogWidth = "530px";
	if($.browser.msie){
		dialogWidth = "523px";
	}
	$("#raw_balance").dialog({
		title: "Информация о балансе",
		width: dialogWidth,
		height: "200px"
	});
}

function hideBalance(){
	$("#raw_balance").dialog("close");
}

function requestHelp(){

	var getRequest = {q: "viewHelp"};


	 $.ajax(
	 	{
	 			type:'GET',
	 			url:'/viewHelp',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){
					currentCartRequestAttempt++;
	 				document.getElementById('help_content').innerHTML = data;

	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
	 				if (currentCartRequestAttempt < 5) {
	 					currentCartRequestAttempt++;
	 					document.getElementById('help_content').innerHTML = document.getElementById('help_loading').innerHTML + '<div style="text-align: center;">Попытка соединиться №' + currentCartRequestAttempt + '</div>';
	 					requestHelp();

	 				} else {
	 					currentCartRequestAttempt = 1;
	 					document.getElementById('help_content').innerHTML = '<div style="text-align: center;">Сервер неотвечает<br>Возможно он перегружен либо у Вас отсутствует связь с интернетом.</div>' + '<div style="display: none;">' + textStatus + '</div>';
					}
	 			},
	 			complete:function (XMLHttpRequest, textStatus){

	 			},
	 			timeout: 5000
	 	}
	 );


}
function showHelp(){
	document.getElementById('help_content').innerHTML = document.getElementById('help_loading').innerHTML;
	var dialogWidth = "530px";
	if($.browser.msie){
		dialogWidth = "523px";
	}
	$("#raw_help").dialog({
		title: "Информация",
		width: dialogWidth,
		height: "480px"
	});
}

function hideHelp(){
	$("#raw_help").dialog("close");
}
function price_update_force(){
	if(semaphore) return;
	semaphore = 1; // prevent event crossing

	clearInterval(intvlID);
	var tbl = document.getElementById('price');

	var get_data = {};
	//get_data['version'] = price_version;
	toggle_anim(1);
	$.ajax( { type:'GET', url:'/pricet_force', data:get_data,
	success:function(data){
		toggle_anim(1); document.getElementById('price-date').innerHTML = data.date;

		if(price_version != data.version){
			tbl.id = 'price-gone'; document.getElementById('prod-table').innerHTML = data.html;
			price_version = data.version
		}
	}, error:function(XMLHttpRequest, textStatus, errorThrown){  }, complete:function (XMLHttpRequest, textStatus){ tbl.id = 'price'; price_set_auto();	toggle_anim(0);	semaphore = 0; }, timeout:20000, cache:false, dataType:'json' } );

}

//kind = 1 refresh with checking version of price
function price_update(kind){
	if(semaphore) return;
	semaphore = 1; // prevent event crossing
	clearInterval(intvlID);
	var tbl = document.getElementById('price');

	var get_data = {};
	get_data = getAllSelectedProducts(get_data);
	get_data['version'] = price_version;
	get_data['kind'] = kind;
	get_data['groupby'] = document.getElementById('groupby').innerHTML;


	$.ajax(
		{ type:'GET', url:'/pricet?group=' + get_data['groupby'], data:get_data,
		success:function(data){
			toggle_anim(1);
			document.getElementById('price-date').innerHTML = data.date;

			if(  (price_version != data.version) || (kind == 2)){

				if (kind == 1) {
					var getRequest = {q: "cart"};
					getRequest = getAllSelectedProducts(getRequest);
					$.ajax(
						{
					 		type:'GET',
					 		url:'/cart',
					 		data:getRequest,
					 		cache:false
						}
						)
				}
				tbl.id = 'price-gone';
				toggle_anim(0);
				document.getElementById('prod-table').style.display = 'none';
				document.getElementById('prod-table').innerHTML = data.html;

				price_version = data.version;
				//$(".ttl0").width(ttlWidth);
				//$(".ttl450").width(ttlWidth);
				//$(".ttl392").width(ttlWidth);
			}
		},
		error:function(XMLHttpRequest, textStatus, errorThrown){
			toggle_anim(0);
			semaphore = 0;
			document.getElementById('prod-table').style.display = 'block';
			alert('Timeout. Возможно у Вас отсуствует связь с сервером. Если ошибка будет повторяться, сообщите администратору.');
		 },
		 complete:function (XMLHttpRequest, textStatus){
			 tbl.id = 'price';
			 price_set_auto();
			 toggle_anim(0);
			 document.getElementById('prod-table').style.display = 'block';
			 semaphore = 0;
		},
		timeout:60 * 1000,
		cache:false,
		dataType:'json'
		}
	);


}



function getAllSelectedProducts(selectedProducts){
	var f = document.getElementById('price_form');
	for(var i=0; i < f.elements.length; i++){
		var name = f.elements[i].name;
		if((name.match(/sp_.*/)) && (f.elements[i].value > 0)){
			var name_parts = name.split('_');
			selectedProducts[name] = f.elements[i].value;
		}
	}
	return selectedProducts;
}



function toggle_anim(show){
	var anim = document.getElementById('rld-anim');
if (anim) {
	if(show == 0){
		anim.style.display = 'none';
	}else{
		anim.style.top = (document.documentElement.scrollTop + screen.height/2 - 120) + 'px';
		anim.style.left = (document.documentElement.scrollLeft + screen.width/2) + 'px';
		anim.style.display = 'block';

	}
}

}

function oi(id, sid){
  	winPic = window.open('/info/' + id +'/'+sid,'pic' + id,'scrollbars=1,location=0,menubar=0,toolbar=0,resizable=0,height=480,width=640');
  	winPic.focus();
}

var first_tune = 1;

function tune_price_output(){

	var indnt1 = 130; var indnt2 = 180;
	if(($.browser.msie) && (first_tune )){
		indnt1+=7;
		indnt2+=9;
		document.getElementById("filter").style.display = 'none';

	}
//	if(($.browser.opera) && (first_tune )){

//		indnt1+=304;
//		indnt2+=307;
//	}

	document.getElementById("main").style.paddingBottom = 0;

	$("#prod-table").height( $(window).height() - indnt1);
	$("#shcuts").height( $(window).height() - indnt2);
	if($.browser.opera){
		document.getElementById("shcuts").style.overflow = "scroll";
		document.getElementById("prod-table").style.overflow = "scroll";
	}

	if(first_tune && $.browser.msie){
		$("#price").width( $("#price").width()  );
		$("#price-head").width( $("#price-head").width()  );
	}


//	document.getElementById('prod-table').style.display = 'block';


	var w = $("#price").width();

	if ($(".ten0").width()) {

		$("#th-en").width(75);

	} else {

		$("#th-en").width(75);
	}
	if ($(".qty").width()) {
		$("#th-qty").width(	$(".qty").width() );
		$("#th-qty").width(45);
	} else {
		$("#th-qty").width(45);
	}

	if ($(".tp0").width()) {
		$("#th-prc").width(	$(".tp0").width() );
		$("#th-prc").width(46);
	} else {
		$("#th-prc").width(46);
	}

	if ($(".tw0").width()) {
		$("#th-wty").width(	$(".tw0").width() );
		$("#th-wty").width(45);
	} else {
		$("#th-wty").width(45);
	}



	$("#th-id").width(0);

	$("#th-preced").width(0);

	$("#th-ttl").width( w - $("#th-id").width() - $("#th-prc").width() - $("#th-wty").width() - $("#th-qty").width() - $("#th-en").width() );

	$("#th-ttl").width( w - 35 - 45 - 50 - 40 - 40 - 80 + 60);
	if($.browser.opera){
		$("#th-wty").width(	$("#th-wty").width()-10);
		$("#th-prc").width($("#th-prc").width() -10);
		$("#th-qty").width($("#th-qty").width() + 10);
	}
	if($.browser.msie){
		$("#th-ttl").width( $("#th-ttl").width() - 65);
		$("#th-wty").width(	$("#th-wty").width()-10);
		$("#th-prc").width($("#th-prc").width() -10);
		$("#th-qty").width($("#th-qty").width() + 10);
	}
	ttlWidth = $("#th-ttl").width() + 20;
	$(".ttl0").width(ttlWidth);
	$(".ttl450").width(ttlWidth);
	$(".ttl392").width(ttlWidth);

	if (first_tune) {
		var elem = document.getElementById('refreshblock');
		if (document.getElementById('price-auto-refresh').checked ) {
			elem.className = 'refreshblock' + '_hover';
		}



	}
	first_tune = 0;

}

function hl_price_group(gid,evt){
//	var check = document.getElementById('check-' + gid );
	var elem = document.getElementById('group' + gid);
	if (elem) {
	//	elem.className = 'group-hl';
		elem.style.background = '#B1353f';

		setTimeout( function(){elem.style.background = '#8296c8';}, 500 );

	} else {

			document.getElementById("loadcats_button").style.background = '#B1353f';
			setTimeout( function(){document.getElementById("loadcats_button").style.background = '#adb8e7'}, 500 );
			popUp('t1', evt);

	}
}




function pw() {
	return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
};
function mouseX(evt) {
	return evt.clientX ? evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) : evt.pageX;
}
function mouseY(evt) {
	return evt.clientY ? evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) : evt.pageY
}
function popUp(oi, evt) {

	if (document.getElementById(oi)) {
		var wp = pw(); dm = document.getElementById(oi); ds = dm.style; st = ds.visibility;
		if (dm.offsetWidth) {
			ew = dm.offsetWidth;
		}else if (dm.clip.width) ew = dm.clip.width;

		tv = mouseY(evt) + 20; lv = mouseX(evt) - (ew/4);
		if (lv < 2) lv = 2; else if (lv + ew > wp) lv -= ew/2; lv += 'px';tv += 'px';  ds.left = lv; ds.top = tv; ds.visibility = "visible";
	} else {

	}
}

function popUpS(oi) {
	document.getElementById("loadcats_button").style.background = '#B1353f';
	setTimeout( function(){document.getElementById("loadcats_button").style.background = '#adb8e7'}, 500 );
	setTimeout( function(){document.getElementById("loadcats_button").style.background = '#B1353f'}, 1000 );
	setTimeout( function(){document.getElementById("loadcats_button").style.background = '#adb8e7'}, 1500 );
	setTimeout( function(){document.getElementById("loadcats_button").style.background = '#B1353f'}, 2000 );
	setTimeout( function(){document.getElementById("loadcats_button").style.background = '#adb8e7'}, 2500 );
	setTimeout( function(){document.getElementById("loadcats_button").style.background = '#B1353f'}, 3000 );
	setTimeout( function(){document.getElementById("loadcats_button").style.background = '#adb8e7'}, 3500 );

}
/**
 *
 * @access public
 * @return void
 **/
function PopDown(oi){
	if (document.getElementById(oi)) {
		var wp = pw(); dm = document.getElementById(oi); ds = dm.style; st = ds.visibility;
			ds.visibility = "hidden";
	}
}

function getAbsolutePosition(el) {
		var r = { x: el.offsetLeft, y: el.offsetTop };
		if (el.offsetParent) {
			var tmp = getAbsolutePosition(el.offsetParent);
			r.x += tmp.x;
			r.y += tmp.y;
		}
		return r;
}

;
function hl_menu(mid){
	var elem = document.getElementById(mid);

	if ((mid == 'menu-rma') || (mid=='menu-tnt') || (mid=='menu-forum')) {
		elem.className = 'item-hl';
		setTimeout( function(){elem.className = 'item'}, 1000 );
	} else {
		elem.className = 'item-hl';
	}
	//
}

/**
 *
 * @access public
 * @return void
 **/
function load_selected(){
	var needCartUpdate = false;
	document.getElementById('prod-table').style.display = 'none';
	toggle_anim(1);
	var f = document.getElementById('price_form');
	if (f) {
		needCartUpdate = true;
	
	}
	if (needCartUpdate) {
		var getRequest = {q: "cart"};
		getRequest = getAllSelectedProducts(getRequest);
		$.ajax(
			{
		 		type:'GET',
		 		url:'/cart',
		 		data:getRequest,
		 		cache:false,
		 		success:function(data){
		 			
		 			currentCartRequestAttempt = 1;
	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
					toggle_anim(0);
					document.getElementById('prod-table').style.display = 'block';
				 },
	 			complete:function (XMLHttpRequest, textStatus){
	 			//	toggle_anim(0);
	 			//	document.getElementById('prod-table').style.display = 'block';
					price_update(2);
	 			},
	 			timeout: 10000
		 	}
		 );
	} else {
		price_update(2);
	}

}




function save_uncondition_selected( checked){

	var getRequest = {};


	getRequest['uncondition'] = ( checked ? 1 : 0 );

	$.ajax(
	 	{
 			type:'GET',
 			url:'/save_unconditionstate_loading',
 			cache:false,
 			data:getRequest,
 			error:function(XMLHttpRequest, textStatus, errorThrown){
 				alert('Timeout. Возможно у Вас отсуствует связь с сервером. Если ошибка будет повторяться, сообщите администратору.');
 			},
 			timeout: 30000
	 	}
	)
	save_cats_all(3, 1);

}

function save_cats_selected(tid, checked,  vid){

	var getRequest = {};

	getRequest['tid'] = tid;
	getRequest['auto'] = ( checked ? 1 : 0 );
	getRequest['vid'] = vid;
	start = ( checked ? 0 : 1 );
	$.ajax(
	 	{
 			type:'GET',
 			url:'/save_tax_loading',
 			cache:false,
 			data:getRequest,
 			success:function(){
 					if (checked) {
 					}

				},
 			error:function(XMLHttpRequest, textStatus, errorThrown){
 				document.getElementById('check-' + tid).checked = start;
 				alert('Timeout. Возможно у Вас отсуствует связь с сервером. Если ошибка будет повторяться, сообщите администратору.');
 			},
 			timeout: 30000
	 	}
	)

}


;
$.ajaxSetup({timeout: 10000});


var currentCartRequestData = 0;
var currentCartRequestAttempt = 1;
var avHeight = 500;

/**
 *
 * @access public
 * @return void
 **/



function showCart(){
	$('#cart_content').html($('#cart_loading').html());
	var dialogWidth = "960px";
	if($.browser.msie){
		dialogWidth = "963px";
	}
	$('#raw_cart').dialog({
		title: "Корзина",
		width: dialogWidth,
		height: 506
	});
	avHeight = document.documentElement.clientHeight - 20;

}



function hideCart(){
	$("#raw_cart").dialog("close");
}


function showNewCartMsg(){
	document.getElementById('new_cart_content').innerHTML = document.getElementById('new_cart_loading').innerHTML;
	var dialogWidth = "400px";
	if($.browser.msie){
		dialogWidth = "403px";
	}
	$("#raw_new_cart").dialog({
		title: "Корзина",
		width: dialogWidth,
		height: "200px"
	});
}



function hideNewCartMsg(){
	$("#raw_new_cart").dialog("close");
}

function showVipHelpMsg(){
	document.getElementById('viphelp_content').innerHTML = document.getElementById('viphelp_loading').innerHTML;
	var dialogWidth = "500px";
	if($.browser.msie){
		dialogWidth = "503px";
	}
	$("#raw_viphelp").dialog({
		title: "Вип гарантия",
		width: dialogWidth,
		height: "570px"
	});
}

function hideVipHelpMsg(){
	$("#raw_viphelp").dialog("close");
}


function getAllSelectedProducts(selectedProducts){
	var f = document.getElementById('price_form');
	if (f) {
		for(var i=0; i < f.elements.length; i++){
			var name = f.elements[i].name;
			if((name.match(/sp_.*/)) && (f.elements[i].value > 0)){
				var name_parts = name.split('_');
				selectedProducts[name] = f.elements[i].value;
			}
		}
	}
	return selectedProducts;
}

function updateSelectedProductsInfo(){

	var f = document.getElementById('price_form');
	var cntGoods = 0;
	var smGoods = 0;
	for(var i=0; i < f.elements.length; i++){
		var name = f.elements[i].name;
		if((name.match(/sp_.*/))  && (f.elements[i].value > 0)){
			cntGoods = cntGoods + parseInt(f.elements[i].value);
		}
	}

	if (cntGoods > 0) {

		document.getElementById('b-quantity').value = cntGoods;


	} else {
		document.getElementById('b-quantity').value = '';
	}


}

function getAllCartProducts(selectedProducts){
	var f = document.getElementById('cart_form');
	if (f) {
		for(var i=0; i < f.elements.length; i++){
			var name = f.elements[i].name;

			if((name.match(/cart_item_.*/)) ){
				var name_parts = name.split('_');
				selectedProducts[name] = f.elements[i].value;
			}
		}
	}

	return selectedProducts;
}






function requestCurrentCart(merge){

	var getRequest = {};
	if (merge) {
		getRequest['merge_order'] = merge;
	}
	getRequest = getAllSelectedProducts(getRequest);



	 $.ajax(
	 	{
	 			type:'GET',
	 			url:'/cart',
	 			data:getRequest,
	 			cache:false,
	 			success:function(data){
	 			  
	 				currentCartRequestAttempt = 1;
                    
                    $('#cart-content').html(data);
                    if($('#table-cart-wrap').height() > 550) {
                    		$('#table-cart-wrap').css('height','550px');
                    	} 
	 				$('.table-loader','#pp-cart').hide();  
	 				if (merge){
						update_price_merge_order();
				    }
                     $('.b-vip').click(function() {
                	    var attrurl = $(this).attr('href')
                		$(attrurl).show().css('marginTop','-'+($(attrurl).height()/2+44)+'px')
                	    $('.overlay').show();
                		return false;
                	});
	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
	 				if (currentCartRequestAttempt < 3) {
	 					currentCartRequestAttempt++;
	 					$('#cart_content').html($('cart_loading').html() + '<div style="text-align: center;">Попытка соединиться №' + currentCartRequestAttempt + '</div>');
	 					requestCurrentCart(merge);
	 				} else {
	 					currentCartRequestAttempt = 1;
	 					$('#cart_content').html('<div style="text-align: center;">Сервер неотвечает<br>Возможно он перегружен либо у Вас отсутствует связь с интернетом.</div>' + '<div style="display: none;">' + textStatus + '</div>');
					}
	 			},
	 			complete:function (XMLHttpRequest, textStatus){

	 			},
	 			timeout: 20000
	 	}
	 );




}




function update_price_merge_order(){
	var f = document.getElementById('cart_form');
	var nid = 0;
	for(var i=0; i < f.elements.length; i++){
		var name = f.elements[i].name;
		if((name.match(/cart_item_.*/)) && (f.elements[i].value)){
			var name_parts = name.split('_');
			nid = name_parts[2];
			document.getElementById('sp_' + nid).value = f.elements[i].value;
		}
	}
}

var savingNow = false;
function saveCurrentCart(){

	var getRequest = {};
	var balance;
    if (savingNow) {
        return;
    }
    savingNow = true;
    $('#sbutton').attr('disabled', 'disabled');
    $('.table-loader','#pp-cart').show();
    
	

	getRequest = getAllCartProducts(getRequest);

	
    
    if (document.getElementById('merge_order_selector')){
        getRequest['merge_order'] = document.getElementById('merge_order_selector').options[document.getElementById('merge_order_selector').selectedIndex].value;    
    }
    
	if ($('#order_comments')) {
		getRequest['order_comments'] = $('#order_comments').val();
	}
	if ($('#order_cid')) {
		getRequest['order_cid'] = $('#order_cid').html();
	}
	if ($('#summary_delivery_cost')) {
		getRequest['order_delivery_cost'] = $('#summary_delivery_cost').html();
	}
	if ($('#summary_order_cost')) {
		getRequest['order_cost'] = $('#summary_order_cost').html();
	}
	if ($('#summary_total_cost')) {
		getRequest['order_payment'] = $('#summary_total_cost').html();
	}

	if (currentCartRequestAttempt == 1) {
		getRequest['first_attempt'] = true;
	} else {
		getRequest['first_attempt'] = false;
	}
	if (document.getElementById('order_nid')) {
		getRequest['order_nid'] = $('#order_nid').html();
	}
	if (($('#order_uid').html() == 5) && (getRequest['order_comments'] == 'контактные данные' || getRequest['order_comments'] == ''))  {
		$('#order_comments').style.border = "1px solid red";
		alert('Введите свои контактные данные.');
		return false;
	}
    
	

	$.ajax(
	 	{
	 			type:'GET',
	 			url:'/save_order',
	 			cache:false,
	 			data:getRequest,
	 			success:function(data){
	 				currentCartRequestAttempt = 1;
                   
	 				if ($('#price_form')){

						$('#table-wrapper input[type=text]').val('');
						$('#b-quantity').val('');
	 				}
					$('#cart-content').html(data);
                    	if($('#table-order-scroll').height() > 300) {
                    		$('#table-order-scroll').css('height','300px');
                    	} 
                    order_nid = getRequest['order_nid'];
                    
                    $('.b-heading').html('<a href="#" class="close">Закрыть </a>Корзина <small>Шаг 2 из 2</small><a href="#" class="step" onclick="requestCartEditOrder(order_nid);">На шаг назад</a>');
                    savingNow = false;
                    $('#sbutton').attr('disabled', '');
                    $('.table-loader','#pp-cart').hide(); 
	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){

					if (currentCartRequestAttempt < 3) {
	 					currentCartRequestAttempt++;
	 					$('#cart-content').html( '<div style="text-align: center;">Попытка соединиться №' + currentCartRequestAttempt + '</div>' );
	 					 savingNow = false;
                    
                         saveCurrentCart();
	 				} else {
	 					currentCartRequestAttempt = 1;
	 					savingNow = false;
                        $('#sbutton').attr('disabled', '');
	 					$('#cart-content').htmll('<div style="text-align: center;">Отсутствует связь с сервером. <br/>Ваш заказ будет отправлен как только связь восстановится.<br/>Вы получите уведомление на email о состоянии резерва.<br/>Если ошибка будет повторяться свяжитесь с администраторам сайта, отправив электронное сообщение на ящик admin@pcmount.com</div>');
	 				}
	 			},
	 			complete:function (XMLHttpRequest, textStatus){
	 			},
	 			timeout: 65000
	 	}
	 );

}


function requestCartViewOrder(order_id){
	var getRequest = {q: "cart", order_id: order_id, set_cart_type: 4};

	$.ajax(
	 	{
	 			type:'GET',
	 			url:'/cart',
	 			cache:false,
	 			data:getRequest,
	 			success:function(data){
	 				document.getElementById('cart_content').innerHTML = data;
	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
	 				alert('Timeout');
	 			},
	 			complete:function (XMLHttpRequest, textStatus){
	 			},
	 			timeout: 10000
	 	}
	 );

}


function requestCartPreEdit(){
    $('#cart-content').html('');
    //$('.b-heading').html('<a href="#" class="close">Закрыть не отправляя заказ</a>Корзина <small>Шаг 1 из 2</small>');
	$('#pp-cart').show(); 
    $('.table-loader','#pp-cart').show();     
	$('body,html').css('overflowY','');       
    $('.overlay').show(); 
  
}


function requestCartEditOrder(order_id, hidden_goods ){
    hidden_goods = hidden_goods || 0;
	var getRequest = {q: "cart", order_id: order_id, set_cart_type: 2, variant : hidden_goods}; //,
    $('.table-loader','#pp-cart').show();

	$.ajax(
	 	{
	 			type:'GET',
	 			url:'/cart',
	 			data:getRequest,
	 			cache:false,
	 			success:function(data){
	 			       
	 				$('#cart-content').html(data);
                    $('.b-vip').click(function() {
                	    var attrurl = $(this).attr('href')
                		$(attrurl).show().css('marginTop','-'+($(attrurl).height()/2+44)+'px')
                	    $('.overlay').show();
                		return false;
                	});
                    $('.b-heading').html('<a href="#" class="close">Закрыть не отправляя заказ</a>Корзина <small>Шаг 1 из 2</small>');
                    $('.table-loader','#pp-cart').hide();
	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
	 				alert('Timeout');
	 			},
	 			complete:function (XMLHttpRequest, textStatus){
	 			},
	 			timeout: 10000
	 	}
	 );
}


/**
 *
 * @access public
 * @return void
 **/
 
 
function deleteOrder(nid, mount_id){
     //,
    if (confirm("Вы действительно хотите удалить заказ " + mount_id + " ?")) {
        
    var getRequest = {q: "delete_order", nid: nid};
    $('.overlay, .pp-container').hide();
	if($('.price-page').length > 0) {
		$('body,html').css('overflowY','hidden');
	}
    var order = '#order-'+nid;
	if($(order).length > 0) {
		$(order).css('display','none');
	}
	$.ajax(
	 	{
	 			type:'GET',
	 			url:'/delete_order',
	 			data:getRequest,
	 			cache:false,
	 			success:function(data){
	 			   
	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
	 			   if($(order).length > 0) {
                		$(order).css('display','block');
                	}
	 				deleteOrder(nid, mount_id);
	 			},
	 			complete:function (XMLHttpRequest, textStatus){
	 			},
	 			timeout: 15000
	 	}
	 );
     }
    
} 
 
function __deleteProd( prod_id){
	if (document.getElementById('cart_item_' + prod_id)){
		document.getElementById('cart_item_' + prod_id).value = 0;
		UpdateReqCount(prod_id,"");
	}
}


/**
 *
 * @access public
 * @return void
 **/
function deleteProds(){

	var f = document.getElementById('cart_form');
	if (f) {
		for(var i=0; i < f.elements.length; i++){
			var name = f.elements[i].name;

			if((name.match(/cart_item_.*/))){
				var name_parts = name.split('_');
               // document.getElementById('cart_item_start_' + name_parts[2]).value = document.getElementById('cart_item_' + name_parts[2]).value ;
			    if (document.getElementById('cart_item_' + name_parts[2])){
                    document.getElementById('cart_item_' + name_parts[2]).value = 0;
                    UpdateReqCount(name_parts[2], 0);
                }
				//deleteProd(name_parts[2], true);
              //  UpdateReqCount(name_parts[2], 0);
			}
		}
	}

//	$('#b-quantity').val('');
    clear_form();
}

function deleteProd( prod_id, value){
	if (document.getElementById('cart_item_' + prod_id) ){
		if (value) {
			 document.getElementById('cart_item_start_' + prod_id).value = document.getElementById('cart_item_' + prod_id).value ;
			 document.getElementById('cart_item_' + prod_id).value = 0;
             
             
		} else {
			 document.getElementById('cart_item_' + prod_id).value =   document.getElementById('cart_item_start_' + prod_id).value;
		}
		UpdateReqCount(prod_id,  document.getElementById('cart_item_' + prod_id).value);
	}
}

function updateProdServ(nid, cnt, oid){
    var getRequest = {};

		getRequest['id'] = nid;
		getRequest['qty'] = cnt;
        getRequest['oid'] = oid;
		$.ajax(
	 	{
	 			type:'GET',

	 			url:'/add_item_2cart',
	 			data:getRequest,
	 			cache:true,
	 			success:function(data){ var ttlSum = data; $('#b-quantity').val(ttlSum); attempt = 0;	},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){ if (attempt < 3) { blurEvent(value, nid);} else {attempt = 0}},
	 			complete:function (XMLHttpRequest, textStatus){ attempt = 0; },
	 			timeout: 5000
	 	}
	 );
    
}
function UpdateReqCount(nid, cnt){
	if (isNaN(cnt) ) {
		if ( document.getElementById('cart_item_' + nid)){
			 document.getElementById('cart_item_' + nid).value = 0;

		}
		cnt = 0;
	}

	if ( document.getElementById('sp_' + nid)){
		if (cnt ==0) {
			 document.getElementById('sp_' + nid).value = "";
		} else {
			 document.getElementById('sp_' + nid).value = cnt ;
		}
	}
    
    

	var dWeight = document.getElementById('cart_item_weight_' + nid).innerHTML * cnt - document.getElementById('cart_item_weight_' + nid).innerHTML * document.getElementById('cart_item_start_' + nid).innerHTML;
	var dECost = document.getElementById('cart_item_extra_' + nid).innerHTML * cnt - document.getElementById('cart_item_extra_' + nid).innerHTML * document.getElementById('cart_item_start_' + nid).innerHTML;
	if (document.getElementById('delivery_KGCost_4')) {
		var tCost = Number(document.getElementById('cart_item_extra_' + nid).innerHTML * cnt +	document.getElementById('cart_item_weight_' + nid).innerHTML * cnt * Number(document.getElementById('delivery_KGCost_4').innerHTML).toFixed(2)).toFixed(2);
		if (document.getElementById('cart_item_tcost_' + nid)) {
			document.getElementById('cart_item_tcost_' + nid).innerHTML =  Number(tCost).toFixed(2);
		}

	}



	if (document.getElementById('item_cost_' + nid).innerHTML > 0){
		var dCost = document.getElementById('item_cost_' + nid).innerHTML*cnt - document.getElementById('total_item_cost_' + nid).innerHTML;
		document.getElementById('total_item_cost_' + nid).innerHTML = Number(document.getElementById('item_cost_' + nid).innerHTML*cnt).toFixed(2);
	}


	$('#order_cost').html ( (Number($('#order_cost').html()) + Number(dCost)).toFixed(2));
	$('#summary_order_cost').html ( Number($('#order_cost').html()).toFixed(2) ) ;
	$('#order_weight').html ((Number($('#order_weight').html()) + Number(dWeight)).toFixed(2));
	$('#order_ecost').html ( (Number($('#order_ecost').html()) + Number(dECost)).toFixed(2)) ;
	document.getElementById('cart_item_start_' + nid).innerHTML = cnt;

	UpdateSummaryWeight();
	UpdateSummaryCost();
    
     updateProdServ('sp_'+nid, cnt, $('#order_nid').html());
}

/**
 *
 * @access public
 * @return void
 **/
function UpdateSummaryWeight(){
	var f = document.getElementById('cart_form');

	if (f) {
		for(var i=0; i < f.elements.length; i++){
			var name = f.elements[i].id;

			if((name.match(/delivery_.*/))   ){
					var name_parts = name.split('_');
					var cid = name_parts[1];

					if (document.getElementById('delivery_cost_' + cid)) {
						var kgc = document.getElementById('delivery_KGCost_' + cid).innerHTML;
						var bc = document.getElementById('delivery_BCost_' + cid).innerHTML;
						var ec = document.getElementById('delivery_ECost_' + cid).innerHTML;

						document.getElementById('delivery_cost_' + cid ).innerHTML = (Number(ec)*Number($('#order_ecost').html()) + Number(bc) + Number($('#order_weight').html()) * Number (kgc)).toFixed(2) ;

						if (cid == $('#order_cid').html()) {
							$('#summary_delivery_cost').html ( document.getElementById('delivery_cost_' + cid ).innerHTML );
						}

					}

			}
		}
	}
}

/**
 *
 * @access public
 * @return void
 **/
function CheckNan(nid, cnt){
	if (isNaN(cnt) || cnt == 0) {
		if (document.getElementById('cart_item_' + nid)){
			document.getElementById('cart_item_' + nid).value = 0;
		}

	}
}
function UpdateReqExt(nid, v, perc){

	if (document.getElementById('item_cost_' + nid)){
		if (v == true) {
			document.getElementById('item_cost_' + nid).innerHTML = (Number(document.getElementById('item_cost_' + nid).innerHTML) + Number(document.getElementById('item_cost_' + nid).innerHTML * perc / 100)).toFixed(2);
			document.getElementById('cart_item_vip_' + nid).value = 1;
		} else {
			document.getElementById('item_cost_' + nid).innerHTML = Number(document.getElementById('item_start_cost_' + nid).innerHTML).toFixed(2) ;
			document.getElementById('cart_item_vip_' + nid).value = 0;
		}
	}
	UpdateReqCount(nid,document.getElementById('cart_item_' + nid).value);
	UpdateSummaryCost();
}

function UpdateReqDelivery(id, kgc, value){

	if (document.getElementById('delivery_' + id)){

		document.getElementById('order_cid').innerHTML = id;
		document.getElementById('deliveryInfo').innerHTML = document.getElementById('delivery_text_' + id).innerHTML;
	}
	var ec = Number(document.getElementById('delivery_ECost_' + id).innerHTML).toFixed(2);
	document.getElementById('summary_delivery_cost').innerHTML = Number( value + ec * Number(document.getElementById('order_ecost').innerHTML) +  kgc * Number(document.getElementById('order_weight').innerHTML)).toFixed(2);
	UpdateSummaryCost();
}

/**
 *
 * @access public
 * @return void
 **/
function UpdateSummaryCost(){
	ttl = Math.round(Number(document.getElementById('summary_delivery_cost').innerHTML) +
	             Number(document.getElementById('summary_order_cost').innerHTML));
	balance = -Number(ttl - (Number(document.getElementById('summary_delivery_cost').innerHTML) +
	             Number(document.getElementById('summary_order_cost').innerHTML)));
	
	document.getElementById('summary_total_cost').innerHTML = ttl.toFixed(2) ;
	document.getElementById('balance').innerHTML = Number(balance ).toFixed(2);
	

}

function UpdateInfoTime(a){
					for (var ind in a ) {

							if (document.getElementById('sup'+ind)) {
								document.getElementById('sup'+ind).innerHTML = a[ind];
							} else {

							}
						}
					}

/**
 *
 * @access public
 * @return void
 **/


function roundX(val){
	return val;
	if (isNaN(val) ) {
		return val;;
	}
    val += '';
    
	if (val.indexOf('.') != -1) {
		val = val.substring(0, val.indexOf('.') + 3);
		//if (val.substring( val.indexOf('.'),3) < 5) {
		//	alert (val.substring( val.indexOf('.'),3));
		//}
	}
	return val;
}

/**
 *
 * @access public
 * @return void
 **/


function requestMergeOrderInfo(nid){
	if (nid == 0){
		document.getElementById("merge_question_link").style.display = 'inline';
		document.getElementById("merge_info_link").style.display = 'none';
		document.getElementById('merge_order_info').innerHTML = '<div style="float: right; cursor: hand; margin-right: 3px; margin-top: 2px;"><a href="#" onclick="hide_merge_div(); return false">x</a></div>' + '<div style="margin-top: 5px; margin-left: 2px; margin-right: 5px;">Если вы выберите один из ваших текущих заказов, содержимое корзины будет добавлено к этому заказу иначе будет создан новый заказ</div>';
		return;
	}

	document.getElementById("merge_question_link").style.display = 'none';
	document.getElementById("merge_info_link").style.display = 'inline';

	document.getElementById('merge_order_info').style.display = 'none';
	//document.getElementById('merge_order_info_loading').style.display = 'block';
	var getRequest = {q: "load_merge_order_info", nid: nid};

	$.ajax(
	 	{
	 			type:'GET',
	 			url:'/load_merge_order_info',
	 			data:getRequest,
	 			cache:false,
	 			success:function(data){
	 				//document.getElementById('merge_order_info_loading').style.display = 'none';
					document.getElementById('merge_order_info').innerHTML = '<div style="float: right; cursor: hand; margin-right: 3px; margin-top: 2px;"><a href="#" onclick="hide_merge_div(); return false">x</a></div>' + '<div style="margin-top: 5px; margin-left: 2px; margin-right: 5px;">' + data + '</div>';
					//document.getElementById('merge_order_info').style.display = 'block';
	 			},
	 			error:function(XMLHttpRequest, textStatus, errorThrown){
	 				alert('Timeout');
	 			},
	 			complete:function (XMLHttpRequest, textStatus){
	 			},
	 			timeout: 10000
	 	}
	 );

}


function show_merge_div(){
	var open_link = document.getElementById("merge_order_selector");
	var open_link_position = getAbsolutePosition(open_link);
	var divlayer = document.getElementById("raw_cart");
	var divlayer_position = getAbsolutePosition(divlayer);
//	alert ( document.getElementById("merge_order_info").style.height);
	document.getElementById("merge_order_info").style.top = (open_link_position.y -divlayer_position.y - 100 ) + "px";
	document.getElementById("merge_order_info").style.left = (open_link_position.x -divlayer_position.x - 200) + "px";
	$("div.merge_order_info").show("slow");
}

function hide_merge_div(){
	$("div.merge_order_info").hide("slow");
}


function hide_merge_table(){
	$("#merge_order_info").hide(500);
}



function cleartextarea(id){
	if ((id.value=="комментарии к заказу") || (id.value=="контактные данные")){
		id.value="";

	}
}

function show_action_div(){
	var open_link = document.getElementById("action_info_link");
	var open_link_position = getAbsolutePosition(open_link);
	document.getElementById("action_info").style.top = (open_link_position.y - 165) + "px";

	document.getElementById("action_info").style.left = (open_link_position.x - 455) + "px";
	$("div.action_info").show("slow");
}

function hide_action_div(){
	$("div.action_info").hide("slow");
}



function getAbsolutePosition(el) {
		var r = { x: el.offsetLeft, y: el.offsetTop };
		if (el.offsetParent) {
			var tmp = getAbsolutePosition(el.offsetParent);
			r.x += tmp.x;
			r.y += tmp.y;
		}
		return r;
}

function gotoHistory(order){
	if (order){
		document.location.href = '/index.php?q=orders_history&order=' + order;
	}
}

/**
 *
 * @access public
 * @return void
 **/
function pressButton(id){
	var elem = document.getElementById(id);
	if (elem) {
		elem.className = id + '_hover';
	}
}

/**
 *
 * @access public
 * @return void
 **/
function unPressButton(id){

	var elem = document.getElementById(id);
	if (elem) {
		elem.className = id ;
	}
};

