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

//
// Enviroment identificator
//
var localIsDOM = document.getElementById?true:false;
var localIsJava = navigator.javaEnabled();
var localIsStrict = document.compatMode=='CSS1Compat';
var localPlatform = navigator.platform;
var localVersion = "0";
var localBrowser = "";
var localBFamily = "";
var isHttps = false;
if (window.opera && localIsDOM) {
	localBFamily = localBrowser = "Opera";
	if (navigator.userAgent.search(/^.*Opera.([\d.]+).*$/) != -1)
		localVersion = navigator.userAgent.replace(/^.*Opera.([\d.]+).*$/, "$1");
	else if (window.print)
		localVersion = "6";
	else
		localVersion = "5";
} else if (document.all && document.all.item)
	localBFamily = localBrowser = 'MSIE';
if (navigator.appName=="Netscape") {
	localBFamily = "NC";
	if (!localIsDOM) {
		localBrowser = 'Netscape';
		localVersion = navigator.userAgent.replace(/^.*Mozilla.([\d.]+).*$/, "$1");
		if(localVersion != '')
			localVersion = "4";
	} else if(navigator.userAgent.indexOf("Safari") >= 0)
		localBrowser = 'Safari';
	else if (navigator.userAgent.indexOf("Netscape") >= 0)
		localBrowser = 'Netscape';
	else if (navigator.userAgent.indexOf("Firefox") >= 0)
		localBrowser = 'Firefox';
	else
		localBrowser = 'Mozilla';

}
if (navigator.userAgent.indexOf("MSMSGS") >= 0)
	localBrowser = "WMessenger";
else if (navigator.userAgent.indexOf("e2dk") >= 0)
	localBrowser = "Edonkey";
else if (navigator.userAgent.indexOf("Gnutella") + navigator.userAgent.indexOf("Gnucleus") >= 0)
	localBrowser = "Gnutella";
else if (navigator.userAgent.indexOf("KazaaClient") >= 0)
	localBrowser = "Kazaa";

if (localVersion == '0' && localBrowser != '') {
	var rg = new RegExp("^.*"+localBrowser+".([\\d.]+).*$");
	localVersion = navigator.userAgent.replace(rg, "$1");
}
var localIsCookie = ((localBrowser == 'Netscape' && localVersion == '4')?(document.cookie != ''):navigator.cookieEnabled);

if (document.location.protocol == "https:") {
    isHttps = true;
}

function change_antibot_image(id) {
	var image = document.getElementById(id);
	if (image)
		image.src = xcart_web_dir+"/antibot_image.php?tmp="+Math.random()+"&section="+id+"&regenerate=Y";
}


/*
	Find element by classname
*/
function getElementsByClassName( clsName ) {
	var arr = new Array();
	var elems = document.getElementsByTagName("*");

	for ( var cls, i = 0; ( elem = elems[i] ); i++ ) {
		if ( elem.className == clsName ) {
			arr[arr.length] = elem;
		}
	}
	return arr;
}
//
// Opener/Closer HTML block
//
function visibleBox(id,skipOpenClose) {
	elm1 = document.getElementById("open"+id);
	elm2 = document.getElementById("close"+id);
	elm3 = document.getElementById("box"+id);

	if(!elm3)
		return false;

	if (skipOpenClose) {
		elm3.style.display = (elm3.style.display == "")?"none":"";
	} else if(elm1) {
		if (elm1.style.display == "") {
			elm1.style.display = "none";
			if(elm2)
				elm2.style.display = "";
			elm3.style.display = "none";
			var class_objs = getElementsByClassName('DialogBox');
			for (var i = 0; i < class_objs.length; i++) {
				class_objs[i].style.height = "1%";
			}
		} else {
			elm1.style.display = "";
			if(elm2)
				elm2.style.display = "none";
			elm3.style.display = "";
		}
	}
}

/*
	URL encode
*/
function urlEncode(url) {
	return url.replace(/\s/g, "+").replace(/&/, "&amp;").replace(/"/, "&quot;")
}

/*
	Math.round() wrapper
*/
function round(n, p) {
	if (isNaN(n))
		n = parseFloat(n);
	if (!p || isNaN(p))
		return Math.round(n);
	p = Math.pow(10, p);
	return Math.round(n*p)/p;
}

/*
	Price format
*/
function price_format(price, thousand_delim, decimal_delim, precision) {
	var thousand_delim = (arguments.length > 1 && thousand_delim !== false) ? thousand_delim : number_format_th;
	var decimal_delim = (arguments.length > 2 && decimal_delim !== false) ? decimal_delim : number_format_dec;
	var precision = (arguments.length > 3 && precision !== false) ? precision : number_format_point;

	if (precision > 0) {
		precision = Math.pow(10, precision);
		price = Math.round(price*precision)/precision;
		var top = Math.floor(price);
		var bottom = Math.round((price-top)*precision)+precision;

	} else {
		var top = Math.round(price);
		var bottom = 0;
	}

	top = top+"";
	bottom = bottom+"";
	var cnt = 0;
	for (var x = top.length; x >= 0; x--) {
		if (cnt % 3 == 0 && cnt > 0 && x > 0)
			top = top.substr(0, x)+thousand_delim+top.substr(x, top.length);

		cnt++;
	}

	return (bottom > 0) ? (top+decimal_delim+bottom.substr(1, bottom.length)) : top;
}

/*
	Substitute
*/
function substitute(lbl) {
var x, rg;
	for(x = 1; x < arguments.length; x+=2) {
		if(arguments[x] && arguments[x+1]) {
			rg = new RegExp("\\{\\{"+arguments[x]+"\\}\\}", "gi");
			lbl = lbl.replace(rg,  arguments[x+1]);
			rg = new RegExp('~~'+arguments[x]+'~~', "gi");
			lbl = lbl.replace(rg,  arguments[x+1]);
		}
	}
	return lbl;
}

function getWindowOutWidth(w) {
	if (!w)
		w = window;
	if (localBFamily == "MSIE")
		return w.document.body.clientWidth;
	else
		return w.outerWidth;
}

function getWindowOutHeight(w) {
	if (!w)
		w = window;
	if (localBFamily == "MSIE")
		return w.document.body.clientHeight;
	else
		return w.outerHeight;
}

function getWindowWidth(w) {
	if (!w)
		w = window;
    if (localBFamily == "MSIE")
		return w.document.body.clientWidth;
    else
		return w.innerWidth;
}

function getWindowHeight(w) {
	if (!w)
		w = window;
    if (localBFamily == "MSIE")
		return w.document.body.clientHeight;
	else
		return w.innerHeight;
}

function getDocumentHeight(w){
	if (!w)
		 w = window;
	if (localBFamily == "MSIE" || (localBFamily == "Opera" && localVersion >= 7 && localVersion < 8))
		return isStrict ? w.document.documentElement.scrollHeight : w.document.body.scrollHeight;
	if (localBFamily == "NC")
		return w.document.height
	if (localBFamily == "Opera")
		return w.document.body.style.pixelHeight
}

function getDocumentWidth(w) {
	if (!w)
		w = window;
	if (localBFamily == "MSIE" || (localBFamily == "Opera" && localVersion >= 7 && localVersion < 8))
		return isStrict ? w.document.documentElement.scrollWidth : w.document.body.scrollWidth;
	if (localBFamily == "NC")
		return w.document.width;
	if (localBFamily == "Opera")
		return w.document.body.style.pixelWidth;
}

function expandWindowX(w, step, limit) {
	if (!w)
		w = window;

	if (!step)
		step = 10;

	var go = true;
	var i = 200;
	while (go && i--) {
		if (limit && getWindowOutWidth()+step > limit)
			break;

		try {
			w.scrollTo(step, 0);
			go = (w.document.documentElement && w.document.documentElement.scrollLeft > 0) || (w.document.body && w.document.body.scrollLeft > 0);
			if (go)
				w.resizeBy(step, 0);

		} catch (e) {
			return false;
		}
	}

	return true;
}

function expandWindowY(w, step, limit) {
	if (!w)
		w = window;

	if (!step)
		step = 10;

	var go = true;
	var i = 200;
	while (go && i--) {
		if (limit && getWindowOutHeight()+step > limit)
			 break;

		try {
			w.scrollTo(0, step);
			go = (w.document.documentElement && w.document.documentElement.scrollTop > 0) || (w.document.body && w.document.body.scrollTop > 0);
			if (go)
				w.resizeBy(0, step);

		} catch(e) {
			return false;
		}
	}

	return true;
}

/*
	Check list of checkboxes
*/
function checkMarks(form, reg, lbl) {
var is_exist = false;

	if (form.elements.length == 0)
		return true;

	for (var x = 0; x < form.elements.length; x++) {
		if (form.elements[x].name.search(reg) == 0 && form.elements[x].type == 'checkbox' && !form.elements[x].disabled) {
			is_exist = true;
			if (form.elements[x].checked)
				return true;
		}
	}

	if (!is_exist)
		return true;
	else if (lbl)
		alert(lbl);
	else if (lbl_no_items_have_been_selected)
		alert(lbl_no_items_have_been_selected);
	return false;
}

/*
	Submit form with specified value of 'mode' parmaeters
*/
function submitForm(formObj, formMode) {
	if (!formObj)
		return false;
	if (formObj.tagName != "FORM") {
		if (!formObj.form)
			return false;
		formObj = formObj.form;
	}
	if (formObj.mode)
		formObj.mode.value = formMode;
	formObj.submit();
}

/*
	Analogue of PHP function sleep()
*/
function sleep(msec) {
	var then = new Date().getTime()+msec;
	while (then >= new Date().getTime()){
	}
}

/*
	Convert number from current format
	(according to 'Input and display format for floating comma numbers' option)
	to float number
*/
function convert_number(num) {
	var regDec = new RegExp(reg_quote(number_format_dec), "gi");
	var regTh = new RegExp(reg_quote(number_format_th), "gi");
	var pow = Math.pow(10, parseInt(number_format_point));
	num = parseFloat(num.replace(" ", "").replace(regTh, "").replace(regDec, "."));
	return Math.round(num*pow)/pow;
}

/*
	Check string as number
	(according to 'Input and display format for floating comma numbers' option)
*/
function check_is_number(num) {
	var regDec = new RegExp(reg_quote(number_format_dec), "gi");
	var regTh = new RegExp(reg_quote(number_format_th), "gi");
	num = num.replace(" ", "").replace(regTh, "").replace(regDec, ".");
	return (num.search(/^[0-9]+(\.[0-9]+)?$/) != -1);
}

/*
	Qutation for RegExp class
*/
function reg_quote(s) {
	return s.replace(/\./g, "\\.").replace(/\//g, "\\/").replace(/\*/g, "\\*").replace(/\+/g, "\\+").replace(/\[/g, "\\[").replace(/\]/g, "\\]");
}

function setCookie(name, value, path, expires) {
	if (typeof(expires) == 'object') {
		try {
			var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
			var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
			if (days[expires.getDay()] && months[expires.getMonth()])
				expires = days[expires.getDay()]+" "+expires.getDate()+"-"+months[expires.getMonth()]+"-"+expires.getFullYear()+" "+expires.getHours()+":"+expires.getMinutes()+":"+expires.getSeconds()+" GMT";
		} catch(e) { }
	}

	if (typeof(expires) != 'string')
		expires = false;

	document.cookie = name+"="+escape(value)+(expires ? "; expires=" + expires : "")+(path ? "; path="+path : "");
}

function deleteCookie(name) {
	document.cookie = name+"=0; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
}

/*
	Clone object
*/
function cloneObject(orig) {
	var r = {};
	for (var i in orig) {
		r[i] = orig[i];
	}

	return r;
}

/*
	Get first checkbox and redirect to URL
*/
function getFirstCB(form, reg) {

	while (form.tagName && form.tagName.toUpperCase() != 'FORM')
		form = form.parentNode;

	if (!form.tagName || form.tagName.toUpperCase() != 'FORM' || form.elements.length == 0)
        return false;

	var selectedChk = false;
    for (var x = 0; x < form.elements.length; x++) {
        if (form.elements[x].name.search(reg) == 0 && form.elements[x].type == 'checkbox' && !form.elements[x].disabled && form.elements[x].checked) {
			selectedChk = form.elements[x];
			break;
        }
    }

    if (!selectedChk) {
		if (lbl_no_items_have_been_selected)
			alert(lbl_no_items_have_been_selected);

        return false;
	}

    return selectedChk;
}

/*
	getElementById() wrapper
*/
function _getById(id) {
	if (typeof(id) != 'string' || !id)
		return false;

	var obj = document.getElementById(id);
	if (obj && obj.id != id) {
		obj = false;
		for (var i = 0; i < document.all.length && obj === false; i++) {
			if (document.all[i].id == id)
				obj = document.all[i];
		}
	}

	return obj;
}

// undefined or not
function isset(obj) {
	return typeof(obj) != 'undefined' && obj !== null;
}


// Check - variable is function or not
function isFunction(f) {
	return (typeof(f) == 'function' || (typeof(f) == 'object' && (f+"").search(/\s*function /) === 0));
}




var imgCheckBoxTrue = images_dir + "/checkBoxTrue.gif";
var imgCheckBoxFalse = images_dir + "/checkBoxFalse.gif";
function replaceChecks() {

	//get all the input fields on the page
	inputs = document.getElementsByTagName('input');

	//cycle trough the input fields
	for(var i=0; i < inputs.length; i++) {

		//check if the input is a checkbox
		if(inputs[i].getAttribute('type') == 'checkbox' && (inputs[i].getAttribute('class') == 'checkMe' || inputs[i].getAttribute('className') == 'checkMe')) {

			//create a new image
			var img = document.createElement('img');

			//check if the checkbox is checked
			if(inputs[i].checked) {
				img.src = imgCheckBoxTrue;
			} else {
				img.src = imgCheckBoxFalse;
			}

			//set image ID and onclick action
			img.id = 'checkImage'+i;
			//set image
			img.onclick = new Function('checkChange('+i+')');
			//place image in front of the checkbox
			inputs[i].parentNode.insertBefore(img, inputs[i]);

			//hide the checkbox
			inputs[i].style.display='none';
		}
	}
}
function checkChange(i) {

	if(inputs[i].checked) {
		inputs[i].checked = '';
		document.getElementById('checkImage'+i).src=imgCheckBoxFalse;
	} else {
		inputs[i].checked = 'checked';
		document.getElementById('checkImage'+i).src=imgCheckBoxTrue;
	}
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj && obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

var sLTop = "";
var nr_ie = 0;
var c_width = 0;
var c_height = 0;
var last_cat_nr = 0;
var isOnCat = 0;

var myPoss = new Array();
var myTop = 133;
var SubCatCount = new Array();
var myHeight = new Array();
var subcat_height = 17;
var subcat_pad = 15;
var mesajInsotire = "";
$(function()
{
	var sLTop = $("#menuTop a.h");
	$("#menuTop a").mouseover(function(){
		sLTop.removeClass("h");
	});
	$("#menuTop a").mouseout(function(){
		sLTop.addClass("h");
	});
	$("#menuCats ul li a").submeniu();
	$(".subcats").checkMouseOnSubcats();
	replaceChecks();
	if( $.browser.msie )
	{
		nr_ie = $.browser.version;
		nr_ie = nr_ie.substring(0,1);
		c_width = document.body.clientWidth;
		c_height = document.body.clientHeight;
		$(".select-free iframe").css( { width: ( c_width - 100 + "px"), height: ( c_height - 100 + "px") } );
		//alert( c_width + " " +  $(".select-free iframe:first()").css("width"));
	}
	var a = findPos( document.getElementById("menuCats"));
	var corectez = a[0];
	//alert(a[0]);
	myPoss[0] = 21 + corectez ;
	myPoss[1] = 124 + corectez;
	myPoss[2] = 237 + corectez;
	myPoss[3] = 335 + corectez;
	$('input:text').hint();
	$("form.subscribeform").formEmail();
	$("#cboxoMC").click(function(){
		var t = jQuery(this);
		if( t.attr("checked") )
		{
			$("#cbmTextarea").css({"background": "white"}).attr("disabled", "").html(mesajInsotire);
		}
		else
		{
			mesajInsotire = $("#cbmTextarea").html();
			$("#cbmTextarea").css({"background": "#EBE9ED"}).attr("disabled", "disabled").html("");
		}
	});
	if ( $.browser.msie ){
		$('input:checkbox').css('border', 'none');
		$('input:radio').css('border', 'none');
	}
});


jQuery.fn.submeniu = function (){
	return this.each(function (){
		var t = jQuery(this);
		var s = t.parents("li:first()");
		var id_nr = t.attr("id");
		id_nr = id_nr.substring(3, id_nr.length);
		var hh = 0;
		var left = -1;
		var top = -1;
		t.mouseover(function(e){
			if( last_cat_nr != 0)
			{
				if($.browser.msie && nr_ie < 7)
				{
					$("#selectFree" + last_cat_nr).css("display", "none");
				}
				$("#subc" + last_cat_nr).stop().css({"height": "0px", "display": "none"});
			}
			last_cat_nr = id_nr;
			if($.browser.msie && nr_ie < 7)
			{
				$("#selectFree" + id_nr).css("display", "block");
			}

			$("#subc" + id_nr).animate({
				height: (myHeight[id_nr-1]-15 + "px")
			}, 1);
			//alert(c_height + " " + c_width);
			//alert(id_nr + " " +  $("#subc" + id_nr).attr("id") );
		});
		t.mouseout(function(e){
			var x = e.pageX;
			var y = e.pageY;
			//console.log(x,", ",y,"," ,isOnCat, ", ", last_cat_nr, ", ", id_nr);
			if( x >= myPoss[id_nr-1]-1 && x <= myPoss[id_nr-1]+157+1 && y >= myTop && y <= (myTop + myHeight[id_nr-1] +1 ) ){
				return false;
			}

			if( isOnCat != 0 ){
				return false;
			}
			if( last_cat_nr == 0 ){
				return false;
			}
			if($.browser.msie && nr_ie < 7)
			{
				$("#selectFree" + id_nr).css("display", "none");
			}
			$("#subc" + id_nr).stop().css({"height": "0px", "display": "none"});
			//alert(id_nr);
			last_cat_nr = 0;
			return true;
			//var left =  s.css("left");
			//var top = s.css("top");
			//left = left.substring(0, left.length-2);
			//top = top.substring(0, top.length-2);

			//if( e.pageX >= left && e.pageX <=left+140 && e.pageY >= top && e.pageY <= top+24 ) return false;
			//s.stop().css("display", "none").css("height", "0px");
		});
	});
}
jQuery.fn.checkMouseOnSubcats = function (){
	return this.each(function (){
		var t = jQuery(this);
		var id_nr = t.attr("id");
		id_nr = id_nr.substring(4,5);
		var hh = 0;
		var p = $("#cSc"+id_nr);
		SubCatCount[id_nr-1] = t.children("a").length;
		myHeight[id_nr-1] = subcat_height * SubCatCount[id_nr-1] + subcat_pad;

		t.hover(
			function(){
				isOnCat = 1;
			},
			function(){
				isOnCat = 0;
				p.mouseout();
			}
		);

		/*
		t.mouseover(function(e){
			isOnCat = 1;
		});
		t.mouseout(function(e){
			var x = e.pageX;
			var y = e.pageY;
			//console.info("X/posx: ", x, "/", (myPoss[id_nr-1]), " Y/posy: ", y,"/",(myTop-1), " PosBottom: ", (myTop + myHeight[id_nr-1] +1 ) );
			if( x >= myPoss[id_nr-1]-1 && x <= myPoss[id_nr-1]+157+1 && y >= myTop-1 && y <= (myTop + myHeight[id_nr-1]  ) ) return false;

			isOnCat = 0;
			p.mouseout();
			//alert("ar trebui sa ies de aici: " + x + " " + y + " " + myPoss[id_nr-1] + " " + myHeight[id_nr]  );
			return true;

		});
		*/
	});
}
jQuery.fn.hint = function () {
  return this.each(function (){
    /* get jQuery version of 'this'*/
    var t = jQuery(this);
    /* get it once since it won't change*/
    var title = t.attr('alt');
    /* only apply logic if the element has the attribute*/
    if (title) {
      /* on blur, set value to title attr if text is blank*/
      t.blur(function (){
        if ($.trim(t.val()) == '') {
          t.val(title);
        }
      });
      /* on focus, set value to blank if current value */
      /* matches title attr*/
      t.focus(function (){
        if (t.val() == title) {
          t.val('');
        }
      });

      /* clear the pre-defined text when form is submitted*/
      t.parents('form:first()').submit(function(){
          if (t.val() == title) {
              t.val('');
          }
      });

      /* now change all inputs to title */
      t.blur();
    }
  });
}
jQuery.fn.formEmail = function(){
return this.each(function (){
	 var t = jQuery(this);
	 t.submit(function(){
		 if( checkEmailAddress( document.getElementById( $("#"+t.attr("id")+ " div input[name='newsemail']:first" ).attr("id") ), 'Y' ) == false ){
			 return false;
		 }
	 });
});
}
function checkEmailAddress(field, empty_err) {
var err = false;
var res, x;
	if (!field)
		return true;

	if (field.value.length == 0) {
		if (empty_err != 'Y')
			return true;
		else
			err = true;
	}

	var arrEmail = field.value.replace(/^\s+/, '').replace(/\s+$/, '').split('@');
	if (arrEmail.length != 2 || arrEmail[0].length < 1)
		err = true;
	if (!err) {
		if (arrEmail[0].length > 2)
			res = arrEmail[0].search(/^[-\w][-!#\$%&'*+.\/\d\.\w]+[-\w]$/gi);
		else
			res = arrEmail[0].search(/^[-\w]+$/gi);
		if (res == -1)
			err = true;
	}
	if (!err) {
		var arr2Email = arrEmail[1].split('.');
		if (arr2Email.length < 2)
			err = true;
	}
	if (!err) {
		var domenTail = arr2Email[arr2Email.length-1];
		var _arr2Email = new Array();
		for (x = 0; x < arr2Email.length-1; x++)
			_arr2Email[x] = arr2Email[x];
		arr2Email = _arr2Email;
		var domen = arr2Email.join('.');
		res = domen.search(/^[-!#\$%&*+\\\/=?\.\w^`{|}~]+$/gi);
		if (res == -1)
			err = true;
		res = domenTail.search(/^[a-zA-Z]+$/gi);
		if (res == -1 || domenTail.length < 2 || domenTail.length > 6)
			err = true;
	}
//	/^([-\w][-\.\w]*)?[-\w]@([-!#\$%&*+\\\/=?\w^`{|}~]+\.)+[a-zA-Z]{2,6}$/gi

	if (err) {
		alert(txt_email_invalid);
		field.focus();
		field.select();
	}
	return !err;
}

function gabi_repair_bug_variant_avail()
{
	//alert("intru in functie: " + parseInt(document.getElementById('product_avail').options[0].value) + " " + min_avail );
	if( document.getElementById('product_avail') )
	{
		//do not ask :D
		if( parseInt(document.getElementById('product_avail').options[0].value) >= min_avail && parseInt(document.getElementById('product_avail').options[0].value) > 0 ) doIsAvailable();
		else doNotAvailable();
	}
}
function checkAvail()
{
	gabi_repair_bug_variant_avail();
}
function doNotAvailable()
{
	//alert("Nu e disponibil");
	document.getElementById('txt_produs_avail').setAttribute("class", "indisponibil");
	document.getElementById('txt_produs_avail').setAttribute("className", "indisponibil"); // for ie
	document.getElementById('txt_produs_avail').innerHTML = lblIndisponibil;

	//functions defined in myScripts.js
	clearAllElem(document.getElementById("product_avail"));
	var elem = document.createElement('option');
	elem.value = "0";
	elem.text = txt_out_of_stock;//defined by xcart
	addSelectElem(document.getElementById("product_avail"), elem);

	return true;
}
function doIsAvailable()
{
	//alert("E disponibil");
	document.getElementById('txt_produs_avail').setAttribute("class", "ok");
	document.getElementById('txt_produs_avail').setAttribute("className", "ok"); // for ie
	document.getElementById('txt_produs_avail').innerHTML = lblInStoc;
	return true;
}
function clearAllElem(select)
{
	select.options.length = 0;
}
function addSelectElem(select, elem)
{
	try
	{
		 select.add(elem,null);
	}
	catch (ex)
	{
		select.add(elem);
	}
}

$(function() {
	checkoutInit();
	//modificaLivrare();
});

// functii pentru checkout
function checkoutInit() {
	if (!document.getElementById('cpForm')) {
		return false;
	}

	var isLoginCallback = false;
	var unameTimer = false;
	var aMlivrBusy = false;
	var isSpMatrix = false;
	if (typeof(cpWithSpM) != 'undefined' && cpWithSpM == true) {
		isSpMatrix = true;
	}

	function fieldIsRequired(field) {
		if ('undefined' == typeof(requiredFields)) {
			return false;
		}
		var n = requiredFields.length;
		var i;
		for (i = 0; i < n; i++) {
			// fuck ie
			if (!requiredFields[i] || !requiredFields[i][0]) {
				continue;
			}
			if (field == requiredFields[i][0]) {
				return true;
			}
		}
		return false;
	}

	// TODO -> in fiecare callback sa vedem daca a expirat ceva (sessionid)

	function loginCallback(data, status) {
		//console.log('in login callback', data);
		var root = jQuery(data);
		if (root.length < 1) {
			_animStopLogin();
			return false;
		}
		var error = $('error', root);
		if (error.length >= 1) {
			// avem o eroare
			var text = error.text();
			//console.log(text);
			if (text.search("forgot_password") >= 0) {
				window.location = xcart_web_dir + 'help.php?section=Password_Recovery';
			}
			else if (text.search("disabled") >= 0) {
				window.location = xcart_web_dir + '/error_message.php?disabled';
			}
			else {
				_animStopLogin();
				alert(cpError.err_invalid_login);
			}
			return false;
		}
		// toate bune...

		isLoginCallback = true;

		//
		// sa afisam formular de logout
		//
		$('#coBoxLoginNote').remove();

		// TODO -> preia textul via ajax

		var textForLogout = '<b>' + $('user_data firstname', root).text() + ' ' + $('user_data lastname', root).text() +  '</b> este logat!&nbsp;<input type="button" id="cpLoginButton" class="sbm out" value="Iesire cont" />';
		$('#checkoutLoginBox').html(textForLogout);
		_liveLoginBox();

		// sa ascundem user / pass .. chiar o scoatem
		$('#registrationSection').remove();


		//
		// sa prelucram user_data + newslists
		//
		$('user_data > *', root).each(function (){
			//console.log(this.tagName);
			/*
			if (this.tagName != 'ship2firmaI') {
				return true;
			}
			//*/
			//console.log('l-am gasit');
			var t = jQuery(this);
			var elem = jQuery('#' + this.tagName);
			var tagType = elem.attr('tagName');

			if ('INPUT' == tagType) {
				var type = elem.attr('type');
				var val = t.text();
				if ('checkbox' == type) {
					var checked = elem.attr('checked');
					// sa vedem daca tre'sa facem click pe elem;
					// TODO -> vezi daca se poate optimiza aici
					if (!checked && val == 'Y') {
						elem.attr('checked', 'checked').click().attr('checked', 'checked');
					}
					else if (checked && val != 'Y') {
						elem.removeAttr('checked').click().removeAttr('checked');
					}

				}
				else {
					elem.val(t.text());
				}
			}
			else if ('SELECT' == tagType) {
				elem.val(t.text());
			}
			else {
				elem.html(t.text());
			}
			//return false;
		});


		if (isSpMatrix) {
			//spmatrix
			spMatrixCallback(data, status);
		}
		else {
			// shipping
			shippingCallback(data, status);
			// payments
			_redisplayPaymentsCallback(data, status);
		}

		isLoginCallback = false;
		_animStopLogin();
	}
	function shippingCallback(data, status) {
		if (isSpMatrix) {
			spMatrixCallback(data, status);
			if (!isLoginCallback) {
				$('#checkoutShippingMessage, #checkoutShippingWait, #checkoutShippingError').css('display', 'none');
				_animStopCartBox();
			}
			return;
		}
		aMlivrBusy = false;
		var root = jQuery(data);

		if (root.length < 1) {
			return false;
		}
		var hasMark = $('no_shipping', root).length;
		if (hasMark > 0) {
			$('#checkoutShippingWait, #checkoutShippingDisplay').css('display', 'none');
			$('#checkoutShippingMessage, #checkoutShippingError').css('display', '');
			return false;
		}

		hasMark = $('free_shipping', root).length;
		//console.log('ana are mere');
		//console.log($('shipping_box', root).text());
		//console.log($('debug_cart_in_change_shipping', root).text());
		//console.log($('debug_shipping', root).text());
		//console.log($('debug__cp_lastshippings', root).text());


		$('#checkoutShippingMessage, #checkoutShippingWait, #checkoutShippingError').css('display', 'none');
		$('#checkoutShippingDisplay').html($('shipping_box', root).text()).css('display', '');

		//console.log($('shipping_box', root).text());

		_liveCpSm();

		if (!isLoginCallback) {
			_redisplayCartCallback(data, status);
			/*
			var isSelSpFl = $('#checkoutShippingDisplay :radio[checked]');
			if (isSelSpFl.length > 0){
				console.log('este selectat');
				$('#checkoutShippingDisplay :radio[checked]').click();
				//_animStartCartBox();
			}else{
				console.log('nu este selectat , il iau pe primul');
				$('#checkoutShippingDisplay :radio:first').click();
				//_animStartCartBox();
			}
			*/
			_animStopCartBox();
		}
		aMlivrBusy = false;
	}
	function changeShippingCallback(data, status) {
		_redisplayCartCallback(data, status);
		_animStopCartBox();
	}
	function changePaymentCallback(data, status) {
		//console.log('intru in changePaymentCallback');
		var root = jQuery(data);
		if (root.length < 1) {
			return false;
		}
		var mark = $('payment_changed_error', root);
		if (mark.length > 0) {
			// stim ca acum avem doar not_found
			// TODO
			alert(cpError.lbl_co_err_payment);
			return;
		}
		_redisplayCartCallback(data, status);
		if (!isLoginCallback) {
			_animStopCartBox();
		}
	}
	function checkUsernameCallback(data, status) {
		_animStopCheckUsername();
		var root = jQuery(data);
		if (root.length != 1) {
			return false;
		}
		root = $('user_ok', root);
		// weepee
		if (root.length >= 1) {
			_showPasswordArea();
			$('#checkoutUsernameUsed').css('display', 'none');
			$('#uname').removeClass('cpMIr');
			$('#img_uname').html('');
			return;
		}
		$('#checkoutUsernameUsed').css('display', 'block');
		_validateMarkWithError('uname', false)
	}
	function unsetCouponCallback(data, status) {
		//console.log('am intrat in unsetCouponCallback');
		_redisplayCartCallback(data, status);
		_animStopCartBox();
	}
	function cartContentCallback(data, status) {
		var root = jQuery(data);

		root = jQuery('cart_content', root);

		if (root.length < 1) {
			return false;
		}
		$('#cpScContent').html(root.text());
	}

	function _redisplayCartCallback(data, status) {
		//console.log('am intrat in _redisplayCartCallback');
		// TODO -> vezi direct jQuery(data).children('...')
		//console.log('ajung in _redisplayCartCallback');
		var root = jQuery(data);

		// please remember that ckuck norris hates ie :D
		if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7) {
			root = jQuery('cart_box', root);
			if (root.length > 1) {
				root = jQuery(root.get(root.length-1));
			}
		}
		else {
			root = jQuery('cart_box:last', root);
		}
		if (root.length < 1) {
			//console.log('in _redisplayCartCallback nu am cart_box')
			return false;
		}
		if (root.length > 1) {
			root = jQuery(root.get(root.length-1));
		}
		//alert(root.text());
		//alert('4');
		//console.log('voi pune in #checkoutOneTotals: ' + root.text());
		$('#checkoutOneTotals').html(root.text());
		//alert('5');
		_liveCartBox();
		//alert('6');
	}
	function _redisplaySPmCallback(data, status) {
		//console.log('am intrat in cpspMwr');
		// TODO -> vezi direct jQuery(data).children('...')
		var root = jQuery(data);

		// please remember that ckuck norris hates ie :D
		if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7) {
			root = jQuery('cpspm_box', root);
			if (root.length > 1) {
				root = jQuery(root.get(root.length-1));
			}
		}
		else {
			root = jQuery('cpspm_box:last', root);
		}
		if (root.length < 1) {
			//console.log('in _redisplayCartCallback nu am cart_box')
			return false;
		}
		if (root.length > 1) {
			root = jQuery(root.get(root.length-1));
		}
		$('#cpspMwr').html(root.text());
		_liveSPmatrix();
	}
	function _redisplayPaymentsCallback(data, status) {
		//console.log('intru in _redisplayPaymentsCallback');
		// caci se poate ajunge aici doar via login
		_redisplayCartCallback(data, status);

		var root = jQuery(data);
		var mark = $('payments_not_changed', root);
		if (mark.length >= 1) {
			return false;
		}
		mark = $('no_payments', root);
		if (mark.length >= 1) {
			// TODO -> alert daca e cazul.
			$('#checkoutOneTotals').html('');
			return false;
		}
		if (jQuery.browser.msie && parseInt(jQuery.browser.version) < 7) {
			mark = jQuery('payments_box', root);
			if (mark.length > 1) {
				mark = jQuery(mark.get(mark.length-1));
			}
		}
		else {
			mark = jQuery('payments_box:last', root);
		}
		if (mark.length == 1) {
			$('#cpPayments').html(mark.text());
			_livePayments();
		}
	}
	function spMatrixCallback(data, status) {
		// TODO -> de implementat
		var root = jQuery(data);
		if (root.length < 1) {
			return false;
		}
		if (!isLoginCallback) {
			var mark = $('spm_ok', root);
			if (mark.length < 1) {
				// TODO -> mesaj de eroare corespunzator
				alert('Alegeti o metoda de plata valida.');
				// TODO  -> da-i un refresh la pagina.
				return;
			}
			else {
				_redisplayCartCallback(data, status);
				_redisplaySPmCallback(data, status);
			}
			_animStopCartBox();
		}
		else {
			_redisplayCartCallback(data, status);
			_redisplaySPmCallback(data, status);
		}
	}
	function checkUsername() {
		//console.log('nu uita sa verifici uname si sa arati campul de parola');
		var uname = jQuery.trim($('#uname').val());
		if ('' == uname) {
			_validateMarkWithError('uname');
			return false;
		}
		// TODO -> validari lungime

		_animStartCheckUsername();
		$.get('cart.php?mode=checkout&on=checkout', {
				'request': 'check_uname',
				'c_uname': uname

			}, checkUsernameCallback);
	}
	function _showPasswordArea() {
		$('#passwd1display, #passwd2display, #membershipdisplay').css('display', '');
		$('#passwd1, #passwd2').change(_inputTextChanged);
	}
	function cartBoxDisplay(data) {
		var root = jQuery(data);
		if (root.length != 1) {
			return false;
		}
		var cart = $('cart_box', root);
		if (cart.length < 1) {
			return false;
		}
		$('#checkoutOneTotals').html(cart.text());
		_liveCartBox();
	}
	function _liveLoginBox() {
		$('#cpLoginButton').click(function () {
			var b = jQuery(this);
			if (b.hasClass('out')) {
				window.location = xcart_web_dir + '/include/login.php?mode=logout';
			}
			else {
				//console.log('#cpLoginButton clicked to login');
				var errU = cpIsEmptyField('checkoutUser');
				var errP = cpIsEmptyField('checkoutPass')
				if (errU || errP) {
					var msg = '';
					if (errU) {
						msg += substitute(lbl_required_field_is_empty, 'field', cpError.fields['username']) + '\n';
					}
					if (errP) {
						msg += substitute(lbl_required_field_is_empty, 'field', cpError.fields['password']) + '\n';
					}
					alert(msg);
					if (!errU) {
						$('#checkoutPass').focus();
					}
					else {
						$('#checkoutUser').focus();
					}
					return false;
				}
				_animStartLogin();
				$.get('cart.php?mode=checkout&on=checkout', {
					'request': 'login',
					'username': jQuery.trim($('#checkoutUser').attr('value')),
					'password': jQuery.trim($('#checkoutPass').attr('value'))

				}, loginCallback);
			}
			return false;
		});
	}
	function _liveCpSm() {
		if (isSpMatrix) {
			return false;
		}
		$('.cpSm').click(function() {
			_animStartCartBox();
			$.get('cart.php?mode=checkout&on=checkout', {
				'request': 'change_shipping',
				'shippingid': $(this).attr('value')

			}, changeShippingCallback);
		});
	}
	function _liveCartBox() {
		$('.cpScupon').click(function (){
			var cupon = jQuery(this).attr('id').substr(6);
			_animStartCartBox();
			$.get('cart.php?mode=checkout&on=checkout', {
					'request': 'unset_coupon',
					'cupon': cupon

				}, unsetCouponCallback);
			return false;
		});
		$('.cpVeziC').click(function (){
			showBoxCart();
			return false;
		});
		// TODO -> cpVeziC
	}
	function _livePayments() {
		if (isSpMatrix) {
			return false;
		}
		$('.cpChP').click(function() {
			var t = jQuery(this);
			var value = t.attr('alt');
			$('#cpForm').attr('action', xcart_web_dir + '/payment/' + value);
			value = t.attr('value');
			_showPaymentDiv(value);
			//_animStartCartBox();
			$.get('cart.php?mode=checkout&on=checkout', {
				'request': 'change_payment',
				'paymentid': value
			}, changePaymentCallback);
		});
	}
	function _liveSPmatrix() {
		$('.cpspradio').click(function() {
			_animStartCartBox();
			$.get('cart.php?mode=checkout&on=checkout', {
				'request': 'changeSPm',
				'val': $(this).attr('value')

			}, spMatrixCallback);
		});
	}

	function _showPaymentDiv(id) {
		// TODO -> vezi ce faci cu clasele alea..
		$('#cpTrToHide, .cppdiv').removeClass('cpTpShow');

		if (!document.getElementById('template_div' + id)) {
			return false;
		}
		$('#cpTrToHide, #template_div' + id).addClass('cpTpShow');
		//$('#template_' + id).css('display', 'table');
	}

	function showBoxCart() {
		_modalStartTestBrowser();
		$('#cpModalBackground, #cpModalWindow, #cpShowCart').addClass('show');
		$.get('cart.php?mode=checkout&on=checkout', {
				'request': 'cartContent'

			}, cartContentCallback);
		_windowResize();
	}
	function hideBoxCart() {
		$('#cpModalBackground, #cpModalWindow, #cpShowCart').removeClass('show');
		_modalEndTestBrowser();
	}
	function showBoxTerms() {
		_modalStartTestBrowser();
		$('#cpModalBackground, #cpModalWindow, #cpShowTerms').addClass('show');
		_windowResize();
	}
	function hideBoxTerms() {
		$('#cpModalBackground, #cpModalWindow, #cpShowTerms').removeClass('show');
		_modalEndTestBrowser();
	}

	function formSubmit() {
		if (validateForm()) {
			$('#checkoutOrderSubmitted').css('display', '');
			$('#checkoutOrderButton').css('display', 'none');
			document.getElementById('cpForm').submit();
		}
		return false;
	}
	function validateForm() {
		var errorMsg = '';
		var errorSomeFields = false;
		var errorRegistration = false;
		var errorPassCheck = false;
		var errorUsername = false;
		var errorShipping = false;
		var errorPayment = false;
		var errorAgree = false;
		var errorSpm = false;
		var tmp = false;
		var i;

		// hai sa vedem daca e logat
		var isLogged = $('#registrationSection').length < 1 ? true : false;

		// datele formularului
		if ('undefined' != typeof(requiredFields)) {
			n = requiredFields.length;
			var field = null;
			for (i = 0; i < n; i++) {
				// fuck ie
				if (!requiredFields[i] || !requiredFields[i][0]) {
					continue;


				}
				//console.log(requiredFields[i]);
				field = requiredFields[i][0];



				if ('' == $('#' + field).val()) {
					if ((field == 'uname' || field == 'passwd1' || field == 'passwd2') && !isLogged) {
						errorRegistration = true;
					}
					errorSomeFields = true;
					_validateMarkWithError(field, false);
				}
			}
			// Verific daca avem o adresa valida de email.
			var emailvalue = $('#email').val();
			var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if ( ('' != emailvalue) && (!filter.test(emailvalue))){
				errorSomeFields = true;
				_validateMarkWithError('email', false);
			}
		}

		// TODO -
		// password match

		// TODO username ok ? vezi checkUsernameCallback

		if ($('#uname').hasClass('cpMIr')) {
			//errorRegistration = true;
		}

		if (isSpMatrix) {
			// spmatrix
			tmp = parseInt($('.cpspradio:checked').val());
			if (isNaN(tmp) || tmp < 1) {
				errorSpm = true;
			}
		}
		else {
			// shipping
			tmp = parseInt($('#checkoutShippingDisplay input[name=shippingid]:checked').val());
			if (isNaN(tmp) || tmp < 1) {
				errorShipping = true;
			}
			// payment
			tmp = parseInt($('#paymentOptions input[name=paymentid]:checked').val());
			if (isNaN(tmp) || tmp < 1) {
				errorPayment = true;
			}
		}

		// agree to terms
		if ($('#agree_to_terms:checked').length < 1) {
			errorAgree = true;
		}

		if (errorSomeFields) {
			errorMsg += '&bull; ' + cpError.errorSomeFields + '<br />';
		}
		if (errorRegistration) {
			errorMsg += '&bull; ' + cpError.errorRegistration + '<br />';
		}
		if (errorPassCheck) {
			errorMsg += '&bull; ' + cpError.errorPassMatch + '<br />';
		}
		if (errorUsername) {
			errorMsg += '&bull ' + cpError.errorUsername + '<br />';
		}
		if (isSpMatrix) {
			if (errorSpm) {
				errorMsg += '&bull; ' + cpError.errorSpmNotSelected + '<br />';
			}
		}
		else {
			if (errorShipping) {
				errorMsg += '&bull; ' + cpError.errorShipping + '<br />';
			}
			if (errorPayment) {
				errorMsg += '&bull; ' + cpError.errorPayment + '<br />';
			}
		}
		if (errorAgree) {
			errorMsg += '&bull; ' + cpError.errorAgree + '<br />';
		}
		if (errorMsg == '') {
			return true;
		}

		$('#checkoutErrorDescription').html(errorMsg);
		$('#checkoutErrorDisplay').css('display', '');
		window.location = '#root';
		return false;
	}
	function _validateMarkWithError(field, focusIt) {
		$('#img_' + field).html('<img alt="" src="' + images_dir + '/checkout_one_error_x.gif" />');
		if (focusIt) {
			$('#' + field).addClass('cpMIr').focus();
		}
		else {
			$('#' + field).addClass('cpMIr');
		}
		//console.log('va trebui sa marchez ' + field + 'ca fiind cu eroare');
	}
	function calculateShippings(doNotAlert){
		if (aMlivrBusy) {
			return false;
		}
		var reqFields = ['state', 'country', 'conty', 'zipcode', 'city'];
		var prefix = 'b_';
		var shipTo = 'b';
		var elemShip2Diff = $('#ship2diff');
		if ( elemShip2Diff.attr('checked')  || ( (elemShip2Diff.attr('tagName').toLowerCase() == "input" ) && (elemShip2Diff.attr('type').toLowerCase() == "hidden") && (elemShip2Diff.attr('value') == "Y") ) ) {
			prefix = 's_';
			shipTo = 's';
		}

		var n = reqFields.length;
		var i;
		var f = '';
		var v = '';

		var values = new Array();
		//console.log(reqFields, n);

		var isError = '';

		for (i = 0; i < n; i++) {
			f = prefix + reqFields[i];
			v = $(('#' + f)).val();
			//console.log(v + ' ' + f + ' ' + reqFields[i] + ' ' + i);
			if ('' == v && ('city' == reqFields[i] || fieldIsRequired(f))) {
				aMlivrBusy = false;
				_shippingShowButtonToCalculate();
				if (!doNotAlert) {
					_validateMarkWithError(f, true);
					alert(substitute(lbl_required_field_is_empty, 'field', cpError.fields[reqFields[i]]));

				}
				return false;
			}
		}

		_animStartCalculateShipping();

		$.get('cart.php?mode=checkout&on=checkout', {
				'request': 'shipping',
				'shipTo': shipTo,
				'state': $('#' + prefix + 'state').val(),
				'country': $('#' + prefix + 'country').val(),
				'conty': $('#' + prefix + 'conty').val(),
				'zipcode': $('#' + prefix + 'zipcode').val(),
				'city': $('#' + prefix + 'city').val()

			}, shippingCallback);

		return false;


	}
	function _shippingShowButtonToCalculate() {
		$('#checkoutShippingWait, #checkoutShippingDisplay, #checkoutShippingError').css('display', 'none');
		$('#checkoutShippingMessage').css('display', '');
	}

	function _animStartCalculateShipping() {
		$('#checkoutShippingWait').css('display', '');
	}
	function _animStopCalculateShipping() {
		$('#checkoutShippingWait').css('display', 'none');
	}

	function _animStartCartBox() {
		$('#checkoutOneTotals').css('display', 'none');
		$('#checkoutTotalsWait').css('display', '');
	}
	function _animStopCartBox() {
		$('#checkoutOneTotals').css('display', '');
		$('#checkoutTotalsWait').css('display', 'none');
	}

	function _animStartCheckUsername() {
		$('#checkoutUsernameWait').css('display', '');
	}
	function _animStopCheckUsername() {
		$('#checkoutUsernameWait').css('display', 'none');
	}

	function _animStartLogin(){
		_modalStartTestBrowser();
		$('#cpModalBackground, #cpModalWindow, #cpWaitLogin').addClass('show');
		_windowResize();
	}
	function _animStopLogin(){
		$('#cpModalBackground, #cpModalWindow, #cpWaitLogin').removeClass('show');
		_modalEndTestBrowser();
	}

	function _modalStartTestBrowser() {
		if ($.browser.msie && parseInt($.browser.version) < 7) {
			$('select').addClass('cpShide');
		}
	}
	function _modalEndTestBrowser() {
		if ($.browser.msie && parseInt($.browser.version) < 7) {
			$('select').removeClass('cpShide');
		}
	}

	function _windowResize() {
		// todo -> foloseste jQuery
		var top;
		var left;
		if (document.documentElement.scrollTop < 1) {
			left = document.body.scrollLeft;
			top  = document.body.scrollTop;
		}
		else {
			left = document.documentElement.scrollLeft;
			top  = document.documentElement.scrollTop;
		}
		var div = document.getElementById('cpModalWindow');
		var windowHeight = _getWindowHeight();
		//alert(top + ' ' + div.offsetHeight + ' ' + windowHeight);
		div.style.left = Math.max((left+(_getWindowWidth()-div.offsetWidth)/2),0)+'px';
		div.style.top  = Math.max((top+(_getWindowHeight()-div.offsetHeight)/2),0)+'px';
		$('#cpModalBackground').css('height', (document.getElementsByTagName('body')[0].offsetHeight-10) + 'px');
	}
	function _getWindowWidth(){
		var width=document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth || document.body && document.body.parentNode && document.body.parentNode.clientWidth || 0;
		return width;
	}
	function _getWindowHeight() {
		if(window.innerHeight) return window.innerHeight;
		else return document.documentElement.clientHeight;
	}

	$('.cpMhide').click(function (){
		var t = jQuery(this);
		if (t.hasClass('cart')) {
			hideBoxCart();
		}
		else if (t.hasClass('terms')) {
			hideBoxTerms();
		}
		return false;
	});
	$('.show_box').click(function (){
		var t = jQuery(this);
		var showBox = t.attr('checked');
		if (showBox) {
			$("#" + t.attr('id') + '_s_box' ).css('display', '');
		}
		else {
			$("#" + t.attr('id') + '_s_box' ).css('display', 'none');
		}
	});
	$('#uname').keyup(function (){
		clearTimeout(unameTimer);
		unameTimer = setTimeout(checkUsername, 1000);
	});
	$('#aMlivr').click(function () {
		calculateShippings(false);
		return false;
	});
	$('#ship2diff').click(function () {
		if (isLoginCallback) {
			return false;
		}
		_shippingShowButtonToCalculate();
	});
	$('#b_state, #b_country, #b_conty, #b_zipcode, #b_city, #s_state, #s_country, #s_conty, #s_zipcode, #s_city').change(function () {
		if (isLoginCallback) {
			return false;
		}
		calculateShippings(true);
	});
	$('#cpSbm').click(function () {
		formSubmit();
		return false;
	});
	$('.cpVeziT').click(function (){
		showBoxTerms();
		return false;
	});
	$('.cpBterms').click(function (){
		hideBoxTerms();
		if (jQuery(this).hasClass('yes')) {
			$('#agree_to_terms').attr('checked', 'checked');
		}
		else {
			$('#agree_to_terms').removeAttr('checked');
		}
		return false;
	});

	function _inputTextChanged() {
		if (isLoginCallback) {
			return false;
		}
		var t = jQuery(this);
		if (jQuery.trim(t.val()) != '') {
			t.removeClass('cpMIr');
			$('#img_' + t.attr('id')).html('');
		}
	}
	$('.coInnerBoxDoSpLeft table tr td input[type=text]').change(_inputTextChanged);

	function _liveTextInputs(unbindFirst) {
	}

	function cpIsEmptyField(id, value) {
		var elem = $("#" + id);
		if (elem.length != 1) {
			return true;
		}
		var val = jQuery.trim(elem.attr('value'));
		if (val == '' || val == elem.attr('alt')) {
			return true;
		}
		return false;
	}

	_liveTextInputs(false);

	_liveLoginBox();
	_liveCpSm();
	_liveCartBox();
	_livePayments();
	_liveSPmatrix();
}
// sfarsit functii ptr checkout
$(function() {
	changeLivrareInit();
	//modificaLivrare();
});

// functii pentru checkout
function changeLivrareInit() {
	if ((!document.getElementById('modificaLivrare')) && (!document.getElementById('cartChangeLivrare'))) {
		return false;
	}
	$("#modificaLivrare").click(function(){
		$('#cartChangeLivrare').css('display','block');
		$('#flboxChangeLivrare').css('display','block');
		windowResizeLiv();
		//console.log("e de bine");
		return false;
	});
	$("#modificaLivrareclose").click(function(){
		$('#cartChangeLivrare').css('display','none');
		$('#flboxChangeLivrare').css('display','none');
		return false;
	});
	$("#modificaLivrareSubmit").click(function(){
		$('#cartChangeLivrare').css('display','none');
		$('#flboxChangeLivrare').css('display','none');
		$('#cartForm').submit();
		return false;
	});
	function windowResizeLiv() {
		// todo -> foloseste jQuery
		var top;
		var left;
		if (document.documentElement.scrollTop < 1) {
			left = document.body.scrollLeft;
			top  = document.body.scrollTop;
		}
		else {
			left = document.documentElement.scrollLeft;
			top  = document.documentElement.scrollTop;
		}
		var div = document.getElementById('flboxChangeLivrare');
		var windowHeight = __getWindowHeight();
		//alert(top + ' ' + div.offsetHeight + ' ' + windowHeight);
		div.style.left = Math.max((left+(__getWindowWidth()-div.offsetWidth)/2),0)+'px';
		div.style.top  = Math.max((top+(__getWindowHeight()-div.offsetHeight)/2),0)+'px';
		$('#cartChangeLivrare').css('height', (document.getElementsByTagName('body')[0].offsetHeight) + 'px');
		$('#cartChangeLivrare').css('width', (__getWindowWidth()) + 'px');
	}
	function __getWindowWidth(){
		var width=document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth || document.body && document.body.parentNode && document.body.parentNode.clientWidth || 0;
		return width;
	}
	function __getWindowHeight() {
		if(window.innerHeight) return window.innerHeight;
		else return document.documentElement.clientHeight;
	}


}



//
