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



$.clientRes = function(){
    if(window.innerHeight || window.innerWidth){
        return {w:window.innerWidth, h:window.innerHeight}
    }
    return {
        w:document.documentElement.clientWidth,
        h:document.documentElement.clientHeight
    }
}

$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
  while(x<c.length){var m=r.exec(c.substr(x));
    if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
    }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
    o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
  while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){b=parseInt(m[1].substr(1),16);
  t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});



/*
 * jQuery Color Animations
 * Copyright 2007 John Resig
 * Released under the MIT and GPL licenses.
 */

(function(jQuery){

	// We override the animation for all of these color styles
	jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){
		jQuery.fx.step[attr] = function(fx){
			if ( fx.state == 0 ) {
				fx.start = getColor( fx.elem, attr );
				fx.end = getRGB( fx.end );
			}

			fx.elem.style[attr] = "rgb(" + [
				Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),
				Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),
				Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)
			].join(",") + ")";
		}
	});

	// Color Conversion functions from highlightFade
	// By Blair Mitchelmore
	// http://jquery.offput.ca/highlightFade/

	// Parse strings looking for color tuples [255,255,255]
	function getRGB(color) {
		var result;

		// Check if we're already dealing with an array of colors
		if ( color && color.constructor == Array && color.length == 3 )
			return color;

		// Look for rgb(num,num,num)
		if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
			return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];

		// Look for rgb(num%,num%,num%)
		if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
			return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];

		// Look for #a0b1c2
		if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
			return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];

		// Look for #fff
		if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
			return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];

		// Otherwise, we're most likely dealing with a named color
		return colors[jQuery.trim(color).toLowerCase()];
	}
	
	function getColor(elem, attr) {
		var color;

		do {
			color = jQuery.curCSS(elem, attr);

			// Keep going until we find an element that has color, or we hit the body
			if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )
				break; 

			attr = "backgroundColor";
		} while ( elem = elem.parentNode );

		return getRGB(color);
	};
	
	// Some named colors to work with
	// From Interface by Stefan Petre
	// http://interface.eyecon.ro/

	var colors = {
		aqua:[0,255,255],
		azure:[240,255,255],
		beige:[245,245,220],
		black:[0,0,0],
		blue:[0,0,255],
		brown:[165,42,42],
		cyan:[0,255,255],
		darkblue:[0,0,139],
		darkcyan:[0,139,139],
		darkgrey:[169,169,169],
		darkgreen:[0,100,0],
		darkkhaki:[189,183,107],
		darkmagenta:[139,0,139],
		darkolivegreen:[85,107,47],
		darkorange:[255,140,0],
		darkorchid:[153,50,204],
		darkred:[139,0,0],
		darksalmon:[233,150,122],
		darkviolet:[148,0,211],
		fuchsia:[255,0,255],
		gold:[255,215,0],
		green:[0,128,0],
		indigo:[75,0,130],
		khaki:[240,230,140],
		lightblue:[173,216,230],
		lightcyan:[224,255,255],
		lightgreen:[144,238,144],
		lightgrey:[211,211,211],
		lightpink:[255,182,193],
		lightyellow:[255,255,224],
		lime:[0,255,0],
		magenta:[255,0,255],
		maroon:[128,0,0],
		navy:[0,0,128],
		olive:[128,128,0],
		orange:[255,165,0],
		pink:[255,192,203],
		purple:[128,0,128],
		violet:[128,0,128],
		red:[255,0,0],
		silver:[192,192,192],
		white:[255,255,255],
		yellow:[255,255,0]
	};
	
})(jQuery);



(function($){var textarea,staticOffset;var iLastMousePos=0;var iMin=32;var grip;$.fn.TextAreaResizer=function(){return this.each(function(){textarea=$(this).addClass('processed'),staticOffset=null;$(this).wrap('<div class="resizable-textarea"><span></span></div>').parent().append($('<div class="grippie"></div>').bind("mousedown",{el:this},startDrag));var grippie=$('div.grippie',$(this).parent())[0];grippie.style.marginRight=(grippie.offsetWidth-$(this)[0].offsetWidth)+'px'})};function startDrag(e){textarea=$(e.data.el);textarea.blur();iLastMousePos=mousePosition(e).y;staticOffset=textarea.height()-iLastMousePos;textarea.css('opacity',0.25);$(document).mousemove(performDrag).mouseup(endDrag);return false}function performDrag(e){var iThisMousePos=mousePosition(e).y;var iMousePos=staticOffset+iThisMousePos;if(iLastMousePos>=(iThisMousePos)){iMousePos-=5}iLastMousePos=iThisMousePos;iMousePos=Math.max(iMin,iMousePos);textarea.height(iMousePos+'px');if(iMousePos<iMin){endDrag(e)}return false}function endDrag(e){$(document).unbind('mousemove',performDrag).unbind('mouseup',endDrag);textarea.css('opacity',1);textarea.focus();textarea=null;staticOffset=null;iLastMousePos=0}function mousePosition(e){return{x:e.clientX+document.documentElement.scrollLeft,y:e.clientY+document.documentElement.scrollTop}}})(jQuery);



eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(7($){$.I($.32,{1p:7(c){k(!6.C){c&&c.2h&&2P.1v&&1v.4U("3q 2x, 4y\'t 1p, 6c 3q");8}l b=$.14(6[0],\'r\');k(b){8 b}b=2j $.r(c,6[0]);$.14(6[0],\'r\',b);k(b.p.3p){6.4G("1X, 4B").1o(".4s").4n(7(){b.31=u});6.2t(7(a){k(b.p.2h)a.5V();7 24(){k(b.p.3V){b.p.3V.11(b,b.13);8 F}8 u}k(b.31){b.31=F;8 24()}k(b.N()){k(b.1h){b.1I=u;8 F}8 24()}1e{b.2i();8 F}})}8 b},J:7(){k($(6[0]).36(\'N\')){8 6.1p().N()}1e{l b=F;l a=$(6[0].N).1p();6.L(7(){b|=a.G(6)});8 b}},4I:7(a){l b={},$G=6;$.L(a.1E(/\\s/),7(){b[6]=$G.1F(6);$G.4E(6)});8 b},1b:7(d,h){l i=6[0];k(d){l c=$.14(i.N,\'r\').p.1b;l f=$.r.2r(i);1V(d){16"2o":$.I(f,$.r.1Q(h));c[i.q]=f;2Y;16"67":k(!h){O c[i.q];8 f}l j={};$.L(h.1E(/\\s/),7(a,b){j[b]=f[b];O f[b]});8 j}}l g=$.r.4a($.I({},$.r.3w(i),$.r.42(i),$.r.3Y(i),$.r.2r(i)),i);k(g.Y){l e=g.Y;O g.Y;g=$.I({Y:e},g)}8 g},W:7(t){8 6.5E(6.2o(t).5y())}});$.I($.5u[":"],{5r:7(a){8!$.2e(a.M)},5l:7(a){8!!$.2e(a.M)},5k:7(a){8!a.3F}});$.1c=7(c,b){k(Q.C==1)8 7(){l a=$.46(Q);a.53(c);8 $.1c.1P(6,a)};k(Q.C>2&&b.2k!=3A){b=$.46(Q).4N(1)}k(b.2k!=3A){b=[b]}$.L(b,7(i,n){c=c.3v(2j 3s("\\\\{"+i+"\\\\}","g"),n)});8 c};$.r=7(b,a){6.p=$.I({},$.r.2C,b);6.13=a;6.3r()};$.I($.r,{2C:{S:{},20:{},1b:{},17:"3k",2A:"4F",2i:u,3j:$([]),2y:$([]),3p:u,3h:[],4D:7(a){6.3g=a;k(6.p.4C&&!6.4A){6.p.1K&&6.p.1K.11(6,a,6.p.17);6.1B(a).2Q()}},4x:7(a){k(!6.1r(a)&&(a.q Z 6.1d||!6.E(a))){6.G(a)}},4r:7(a){k(a.q Z 6.1d||a==6.38){6.G(a)}},4q:7(a){k(a.q Z 6.1d)6.G(a)},35:7(a,b){$(a).2p(b)},1K:7(a,b){$(a).34(b)}},6f:7(a){$.I($.r.2C,a)},S:{Y:"6d 4k 36 Y.",1S:"H 2Z 6 4k.",1R:"H K a J 1R 64.",1z:"H K a J 62.",1u:"H K a J 1u.",1W:"H K a J 1u (61).",1Y:"48 47 44 2B 5RŒ5Q 5P 2B.",1T:"H K a J 1T.",29:"48 47 44 5M 5K 2B.",1L:"H K 5G 1L",27:"H K a J 5C 5A.",3Q:"H K 3O 5t M 5s.",3K:"H K a M 5o a J 5n.",15:$.1c("H K 3J 5m 2J {0} 2I."),1w:$.1c("H K 5i 5h {0} 2I."),2b:$.1c("H K a M 3Z {0} 3T {1} 2I 5a."),2a:$.1c("H K a M 3Z {0} 3T {1}."),1n:$.1c("H K a M 58 2J 3E 3D 45 {0}."),1m:$.1c("H K a M 51 2J 3E 3D 45 {0}.")},4o:F,4X:{3r:7(){6.2n=$(6.p.2y);6.3B=6.2n.C&&6.2n||$(6.13);6.26=$(6.p.3j).2o(6.p.2y);6.1d={};6.4R={};6.1h=0;6.1a={};6.1q={};6.1G();l f=(6.20={});$.L(6.p.20,7(d,c){$.L(c.1E(/\\s/),7(a,b){f[b]=d})});l e=6.p.1b;$.L(e,7(b,a){e[b]=$.r.1Q(a)});7 1l(a){l b=$.14(6[0].N,"r");b.p["3x"+a.1j]&&b.p["3x"+a.1j].11(b,6[0])}$(6.13).1l("3u 3t 4L",":2D, :4K, :4J, 1Z, 4H",1l).1l("4n",":3o, :3n",1l)},N:7(){6.3m();$.I(6.1d,6.1k);6.1q=$.I({},6.1k);k(!6.J())$(6.13).3l("1q-N.1p",[6]);6.1f();8 6.J()},3m:7(){6.2E();P(l i=0,X=(6.22=6.X());X[i];i++){6.21(X[i])}8 6.J()},G:7(a){a=6.2z(a);6.38=a;6.2G(a);6.22=$(a);l b=6.21(a);k(b){O 6.1q[a.q]}1e{6.1q[a.q]=u}k(!6.3i()){6.12.W(6.26)}6.1f();8 b},1f:7(b){k(b){$.I(6.1k,b);6.R=[];P(l c Z b){6.R.W({18:b[c],G:6.2c(c)[0]})}6.1g=$.3f(6.1g,7(a){8!(a.q Z b)})}6.p.1f?6.p.1f.11(6,6.1k,6.R):6.3e()},2w:7(){k($.32.2w)$(6.13).2w();6.1d={};6.2E();6.2K();6.X().34(6.p.17)},3i:7(){8 6.2d(6.1q)},2d:7(a){l b=0;P(l i Z a)b++;8 b},2K:7(){6.2v(6.12).2Q()},J:7(){8 6.3c()==0},3c:7(){8 6.R.C},2i:7(){k(6.p.2i){3b{$(6.3a()||6.R.C&&6.R[0].G||[]).1o(":4z").39()}3S(e){}}},3a:7(){l a=6.3g;8 a&&$.3f(6.R,7(n){8 n.G.q==a.q}).C==1&&a},X:7(){l a=6,2u={};8 $([]).2o(6.13.X).1o(":1X").1A(":2t, :1G, :4w, [4v]").1A(6.p.3h).1o(7(){!6.q&&a.p.2h&&2P.1v&&1v.3k("%o 4u 3J q 4t",6);k(6.q Z 2u||!a.2d($(6).1b()))8 F;2u[6.q]=u;8 u})},2z:7(a){8 $(a)[0]},2s:7(){8 $(6.p.2A+"."+6.p.17,6.3B)},1G:7(){6.1g=[];6.R=[];6.1k={};6.1y=$([]);6.12=$([]);6.1I=F;6.22=$([])},2E:7(){6.1G();6.12=6.2s().W(6.26)},2G:7(a){6.1G();6.12=6.1B(a)},21:7(d){d=6.2z(d);k(6.1r(d)){d=6.2c(d.q)[0]}l a=$(d).1b();l c=F;P(V Z a){l b={V:V,2q:a[V]};3b{l f=$.r.1O[V].11(6,$.2e(d.M),d,b.2q);k(f=="1x-1N"){c=u;4p}c=F;k(f=="1a"){6.12=6.12.1A(6.1B(d));8}k(!f){6.37(d,b);8 F}}3S(e){6.p.2h&&2P.1v&&1v.6k("6j 6i 6h 6g G "+d.4m+", 21 3O \'"+b.V+"\' V");6e e;}}k(c)8;k(6.2d(a))6.1g.W(d);8 u},4l:7(a,b){k(!$.1t)8;l c=6.p.33?$(a).1t()[6.p.33]:$(a).1t();8 c.S&&c.S[b]},4j:7(a,b){l m=6.p.S[a];8 m&&(m.2k==4i?m:m[b])},4h:7(){P(l i=0;i<Q.C;i++){k(Q[i]!==2l)8 Q[i]}8 2l},2m:7(a,b){8 6.4h(6.4j(a.q,b),6.4l(a,b),a.6b||2l,$.r.S[b],"<4g>6a: 68 18 66 P "+a.q+"</4g>")},37:7(b,a){l c=6.2m(b,a.V);k(19 c=="7")c=c.11(6,a.2q,b);6.R.W({18:c,G:b});6.1k[b.q]=c;6.1d[b.q]=c},2v:7(a){k(6.p.1U)a.W(a.63(6.p.1U));8 a},3e:7(){P(l i=0;6.R[i];i++){l a=6.R[i];6.p.35&&6.p.35.11(6,a.G,6.p.17);6.2X(a.G,a.18)}k(6.R.C){6.1y.W(6.26)}k(6.p.1i){P(l i=0;6.1g[i];i++){6.2X(6.1g[i])}}k(6.p.1K){P(l i=0,X=6.4f();X[i];i++){6.p.1K.11(6,X[i],6.p.17)}}6.12=6.12.1A(6.1y);6.2K();6.2v(6.1y).4e()},4f:7(){8 6.22.1A(6.4d())},4d:7(){8 $(6.R).4c(7(){8 6.G})},2X:7(a,c){l b=6.1B(a);k(b.C){b.34().2p(6.p.17);b.1F("4b")&&b.3d(c)}1e{b=$("<"+6.p.2A+"/>").1F({"P":6.2V(a),4b:u}).2p(6.p.17).3d(c||"");k(6.p.1U){b=b.2Q().4e().60("<"+6.p.1U+">").5Y()}k(!6.2n.5X(b).C)6.p.49?6.p.49(b,$(a)):b.5W(a)}k(!c&&6.p.1i){b.2D("");19 6.p.1i=="1D"?b.2p(6.p.1i):6.p.1i(b)}6.1y.W(b)},1B:7(a){8 6.2s().1o("[@P=\'"+6.2V(a)+"\']")},2V:7(a){8 6.20[a.q]||(6.1r(a)?a.q:a.4m||a.q)},1r:7(a){8/3o|3n/i.T(a.1j)},2c:7(d){l c=6.13;8 $(5U.5S(d)).4c(7(a,b){8 b.N==c&&b.q==d&&b||43})},1C:7(a,b){1V(b.41.3z()){16\'1Z\':8 $("40:2x",b).C;16\'1X\':k(6.1r(b))8 6.2c(b.q).1o(\':3F\').C}8 a.C},3C:7(b,a){8 6.2U[19 b]?6.2U[19 b](b,a):u},2U:{"5O":7(b,a){8 b},"1D":7(b,a){8!!$(b,a.N).C},"7":7(b,a){8 b(a)}},E:7(a){8!$.r.1O.Y.11(6,$.2e(a.M),a)&&"1x-1N"},3X:7(a){k(!6.1a[a.q]){6.1h++;6.1a[a.q]=u}},3W:7(a,b){6.1h--;k(6.1h<0)6.1h=0;O 6.1a[a.q];k(b&&6.1h==0&&6.1I&&6.N()){$(6.13).2t()}},2g:7(a){8 $.14(a,"2g")||$.14(a,"2g",5N={2T:43,J:u,18:6.2m(a,"1S")})}},1H:{Y:{Y:u},1R:{1R:u},1z:{1z:u},1u:{1u:u},1W:{1W:u},1Y:{1Y:u},1T:{1T:u},29:{29:u},1L:{1L:u},27:{27:u}},3U:7(a,b){a.2k==4i?6.1H[a]=b:$.I(6.1H,a)},42:7(b){l a={};l c=$(b).1F(\'5J\');c&&$.L(c.1E(\' \'),7(){k(6 Z $.r.1H){$.I(a,$.r.1H[6])}});8 a},3Y:7(c){l a={};l d=$(c);P(V Z $.r.1O){l b=d.1F(V);k(b){a[V]=b}}k(a.15&&/-1|5I|5H/.T(a.15)){O a.15}8 a},3w:7(a){k(!$.1t)8{};l b=$.14(a.N,\'r\').p.33;8 b?$(a).1t()[b]:$(a).1t()},2r:7(b){l a={};l c=$.14(b.N,\'r\');k(c.p.1b){a=$.r.1Q(c.p.1b[b.q])||{}}8 a},4a:7(d,e){$.L(d,7(c,b){k(b===F){O d[c];8}k(b.2S||b.28){l a=u;1V(19 b.28){16"1D":a=!!$(b.28,e.N).C;2Y;16"7":a=b.28.11(e,e);2Y}k(a){d[c]=b.2S!==2l?b.2S:u}1e{O d[c]}}});$.L(d,7(a,b){d[a]=$.5F(b)?b(e):b});$.L([\'1w\',\'15\',\'1m\',\'1n\'],7(){k(d[6]){d[6]=2R(d[6])}});$.L([\'2b\',\'2a\'],7(){k(d[6]){d[6]=[2R(d[6][0]),2R(d[6][1])]}});k($.r.4o){k(d.1m&&d.1n){d.2a=[d.1m,d.1n];O d.1m;O d.1n}k(d.1w&&d.15){d.2b=[d.1w,d.15];O d.1w;O d.15}}k(d.S){O d.S}8 d},1Q:7(a){k(19 a=="1D"){l b={};$.L(a.1E(/\\s/),7(){b[6]=u});a=b}8 a},5B:7(c,a,b){$.r.1O[c]=a;$.r.S[c]=b;k(a.C<3){$.r.3U(c,$.r.1Q(c))}},1O:{Y:7(b,c,a){k(!6.3C(a,c))8"1x-1N";1V(c.41.3z()){16\'1Z\':l d=$("40:2x",c);8 d.C>0&&(c.1j=="1Z-5z"||($.2O.2N&&!(d[0].5x[\'M\'].5w)?d[0].2D:d[0].M).C>0);16\'1X\':k(6.1r(c))8 6.1C(b,c)>0;5v:8 b.C>0}},1S:7(e,h,d){k(6.E(h))8"1x-1N";l g=6.2g(h);k(!6.p.S[h.q])6.p.S[h.q]={};6.p.S[h.q].1S=19 g.18=="7"?g.18(e):g.18;k(g.2T!==e){g.2T=e;l i=6;6.3X(h);l f={};f[h.q]=e;$.2H({1z:d,3M:"2L",3L:"1p"+h.q,5q:"5p",14:f,1i:7(a){k(!a){l c={};c[h.q]=a||i.2m(h,"1S");i.1f(c)}1e{l b=i.1I;i.2G(h);i.1I=b;i.1g.W(h);i.1f()}g.J=a;i.3W(h,a)}});8"1a"}1e k(6.1a[h.q]){8"1a"}8 g.J},1w:7(b,c,a){8 6.E(c)||6.1C(b,c)>=a},15:7(b,c,a){8 6.E(c)||6.1C(b,c)<=a},2b:7(b,d,a){l c=6.1C(b,d);8 6.E(d)||(c>=a[0]&&c<=a[1])},1m:7(b,c,a){8 6.E(c)||b>=a},1n:7(b,c,a){8 6.E(c)||b<=a},2a:7(b,c,a){8 6.E(c)||(b>=a[0]&&b<=a[1])},1R:7(a,b){8 6.E(b)||/^((([a-z]|\\d|[!#\\$%&\'\\*\\+\\-\\/=\\?\\^U`{\\|}~]|[\\w-\\v\\A-\\B\\x-\\y])+(\\.([a-z]|\\d|[!#\\$%&\'\\*\\+\\-\\/=\\?\\^U`{\\|}~]|[\\w-\\v\\A-\\B\\x-\\y])+)*)|((\\3I)((((\\2f|\\1J)*(\\2M\\3H))?(\\2f|\\1J)+)?(([\\3G-\\5j\\3P\\3N\\5D-\\5g\\3R]|\\5f|[\\5e-\\5d]|[\\5c-\\5b]|[\\w-\\v\\A-\\B\\x-\\y])|(\\\\([\\3G-\\1J\\3P\\3N\\2M-\\3R]|[\\w-\\v\\A-\\B\\x-\\y]))))*(((\\2f|\\1J)*(\\2M\\3H))?(\\2f|\\1J)+)?(\\3I)))@((([a-z]|\\d|[\\w-\\v\\A-\\B\\x-\\y])|(([a-z]|\\d|[\\w-\\v\\A-\\B\\x-\\y])([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])*([a-z]|\\d|[\\w-\\v\\A-\\B\\x-\\y])))\\.)+(([a-z]|[\\w-\\v\\A-\\B\\x-\\y])|(([a-z]|[\\w-\\v\\A-\\B\\x-\\y])([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])*([a-z]|[\\w-\\v\\A-\\B\\x-\\y])))\\.?$/i.T(b.M)},1z:7(a,b){8 6.E(b)||/^(5L?|59):\\/\\/(((([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])|(%[\\1M-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\w-\\v\\A-\\B\\x-\\y])|(([a-z]|\\d|[\\w-\\v\\A-\\B\\x-\\y])([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])*([a-z]|\\d|[\\w-\\v\\A-\\B\\x-\\y])))\\.)+(([a-z]|[\\w-\\v\\A-\\B\\x-\\y])|(([a-z]|[\\w-\\v\\A-\\B\\x-\\y])([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])*([a-z]|[\\w-\\v\\A-\\B\\x-\\y])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])|(%[\\1M-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])|(%[\\1M-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])|(%[\\1M-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)|[\\57-\\5T]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|U|~|[\\w-\\v\\A-\\B\\x-\\y])|(%[\\1M-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.T(b.M)},1u:7(a,b){8 6.E(b)||!/56|55/.T(2j 54(a))},1W:7(a,b){8 6.E(b)||/^\\d{4}[\\/-]\\d{1,2}[\\/-]\\d{1,2}$/.T(a)},1Y:7(a,b){8 6.E(b)||/^\\d\\d?\\.\\d\\d?\\.\\d\\d\\d?\\d?$/.T(a)},1T:7(a,b){8 6.E(b)||/^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)(?:\\.\\d+)?$/.T(a)},29:7(a,b){8 6.E(b)||/^-?(?:\\d+|\\d{1,3}(?:\\.\\d{3})+)(?:,\\d+)?$/.T(a)},1L:7(a,b){8 6.E(b)||/^\\d+$/.T(a)},27:7(b,e){k(6.E(e))8"1x-1N";k(/[^0-9-]+/.T(b))8 F;l a=0,d=0,23=F;b=b.3v(/\\D/g,"");P(n=b.C-1;n>=0;n--){l c=b.5Z(n);l d=52(c,10);k(23){k((d*=2)>9)d-=9}a+=d;23=!23}8(a%10)==0},3K:7(b,c,a){a=19 a=="1D"?a:"50|4Z?g|4Y";8 6.E(c)||b.65(2j 3s(".("+a+")$","i"))},3Q:7(b,c,a){8 b==$(a).4W()}}})})(2W);(7($){l c=$.2H;l d={};$.2H=7(a){a=$.I(a,$.I({},$.4V,a));l b=a.3L;k(a.3M=="2L"){k(d[b]){d[b].2L()}8(d[b]=c.1P(6,Q))}8 c.1P(6,Q)}})(2W);(7($){$.L({39:\'3u\',69:\'3t\'},7(b,a){$.1s.2F[a]={4T:7(){k($.2O.2N)8 F;6.4S(b,$.1s.2F[a].30,u)},4Q:7(){k($.2O.2N)8 F;6.4P(b,$.1s.2F[a].30,u)},30:7(e){Q[0]=$.1s.2Z(e);Q[0].1j=a;8 $.1s.24.1P(6,Q)}}});$.I($.32,{1l:7(d,e,c){8 6.4O(d,7(a){l b=$(a.3y);k(b.36(e)){8 c.1P(b,Q)}})},4M:7(a,b){8 6.3l(a,[$.1s.2Z({1j:a,3y:b})])}})})(2W);',62,393,'||||||this|function|return||||||||||||if|var||||settings|name|validator|||true|uD7FF|u00A0|uFDF0|uFFEF||uF900|uFDCF|length||optional|false|element|Please|extend|valid|enter|each|value|form|delete|for|arguments|errorList|messages|test|_|method|push|elements|required|in||call|toHide|currentForm|data|maxlength|case|errorClass|message|typeof|pending|rules|format|submitted|else|showErrors|successList|pendingRequest|success|type|errorMap|delegate|min|max|filter|validate|invalid|checkable|event|metadata|date|console|minlength|dependency|toShow|url|not|errorsFor|getLength|string|split|attr|reset|classRuleSettings|formSubmitted|x09|unhighlight|digits|da|mismatch|methods|apply|normalizeRule|email|remote|number|wrapper|switch|dateISO|input|dateDE|select|groups|check|currentElements|bEven|handle||containers|creditcard|depends|numberDE|range|rangelength|findByName|objectLength|trim|x20|previousValue|debug|focusInvalid|new|constructor|undefined|defaultMessage|labelContainer|add|addClass|parameters|staticRules|errors|submit|rulesCache|addWrapper|resetForm|selected|errorLabelContainer|clean|errorElement|ein|defaults|text|prepareForm|special|prepareElement|ajax|characters|than|hideErrors|abort|x0d|msie|browser|window|hide|Number|param|old|dependTypes|idOrName|jQuery|showLabel|break|fix|handler|cancelSubmit|fn|meta|removeClass|highlight|is|formatAndAdd|lastElement|focus|findLastActive|try|size|html|defaultShowErrors|grep|lastActive|ignore|numberOfInvalids|errorContainer|error|triggerHandler|checkForm|checkbox|radio|onsubmit|nothing|init|RegExp|focusout|focusin|replace|metadataRules|on|target|toLowerCase|Array|errorContext|depend|equal|or|checked|x01|x0a|x22|no|accept|port|mode|x0c|the|x0b|equalTo|x7f|catch|and|addClassRules|submitHandler|stopRequest|startRequest|attributeRules|between|option|nodeName|classRules|null|Sie|to|makeArray|geben|Bitte|errorPlacement|normalizeRules|generated|map|invalidElements|show|validElements|strong|findDefined|String|customMessage|field|customMetaMessage|id|click|autoCreateRanges|continue|onclick|onkeyup|cancel|assigned|has|disabled|image|onfocusout|can|visible|blockFocusCleanup|button|focusCleanup|onfocusin|removeAttr|label|find|textarea|removeAttrs|file|password|keyup|triggerEvent|slice|bind|removeEventListener|teardown|valueCache|addEventListener|setup|warn|ajaxSettings|val|prototype|gif|jpe|png|greater|parseInt|unshift|Date|NaN|Invalid|uE000|less|ftp|long|x7e|x5d|x5b|x23|x21|x1f|least|at|x08|unchecked|filled|more|extension|with|json|dataType|blank|again|same|expr|default|specified|attributes|get|multiple|card|addMethod|credit|x0e|setArray|isFunction|only|524288|2147483647|class|Nummer|https|eine|previous|boolean|Datum|ltiges|gÃ|getElementsByName|uF8FF|document|preventDefault|insertAfter|append|parent|charAt|wrap|ISO|URL|parents|address|match|defined|remove|No|blur|Warning|title|returning|This|throw|setDefaults|checking|when|occured|exception|log'.split('|'),0,{}))



jQuery.validator.addMethod("urlhttp", function(value, element) { 
  return this.optional(element) || /^http:\/\/$/.test(value) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value) ; 
});

jQuery.validator.addMethod("validatefunc", function(value,element,param) { 
    var res = param;
    return res;
});

jQuery.validator.addMethod("emails", function(value, element) {
    if (!value && this.optional(element)) return true;

    var emails = value.split(",");
    for(var i in emails) {
        var email = emails[i].replace(/\s+/,'');
        if (!/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(email)) return false;
    }

    return true;    
});


jQuery.validator.addMethod("dateDMY", function(value, element) {
    var check = false;
    var adata = false;
    var reb = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
    var reg = /^\d{1,2}\-\d{1,2}\-\d{4}$/;

    if( reb.test(value)){
            adata = value.split('/');
            check = true;
    } else if (reg.test(value)){ 
            adata = value.split('-');
            check = true;
    } else check = false;

    if (check) {
        var dd = parseInt(adata[0],10);
        var mm = parseInt(adata[1],10);
        var aaaa = parseInt(adata[2],10);
        var xdata = new Date(aaaa,mm-1,dd);
        if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) )
                check = true;
        else check = false;
    } else check = false;
    
    return this.optional(element) || check;
});


jQuery.validator.addMethod("dateDMY_nobefore", function(value, element, param) {
    var check = false;
    var adata = false;
    var reb = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
    var reg = /^\d{1,2}\-\d{1,2}\-\d{4}$/;
    var now = new Date();
    

    if( reb.test(value)){
            adata = value.split('/');
            check = true;
    } else if (reg.test(value)){ 
            adata = value.split('-');
            check = true;
    } else check = false;

    if (check) {
        var dd = parseInt(adata[0],10);
        var mm = parseInt(adata[1],10);
        var aaaa = parseInt(adata[2],10);
        var xdata = new Date(aaaa,mm-1,dd);
        if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) )
                check = true;
        else check = false;
    } else check = false;
    
    if(check) {
        days = (xdata.getTime() - now.getTime())/86400000;
        if(days < parseInt(param) ) check=false;
    }
    
    return this.optional(element) || check;
});

jQuery.validator.addMethod("dateDMY_noafter", function(value, element, param) {
    var check = false;
    var adata = false;
    var reb = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
    var reg = /^\d{1,2}\-\d{1,2}\-\d{4}$/;
    var now = new Date();
    

    if( reb.test(value)){
            adata = value.split('/');
            check = true;
    } else if (reg.test(value)){ 
            adata = value.split('-');
            check = true;
    } else check = false;

    if (check) {
        var dd = parseInt(adata[0],10);
        var mm = parseInt(adata[1],10);
        var aaaa = parseInt(adata[2],10);
        var xdata = new Date(aaaa,mm-1,dd);
        if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) )
                check = true;
        else check = false;
    } else check = false;
    
    if(check) {
        days = (xdata.getTime() - now.getTime())/86400000;
        if(days > parseInt(param) ) check=false;
    }
    
    return this.optional(element) || check;
});



jQuery.validator.addMethod("phone", function(value, element) { 
    return this.optional(element) || /^[6789][0-9]{8}$/.test(value) ; 
});


jQuery.validator.addMethod("phones", function(value, element) { 
    return this.optional(element) || /^[6789][0-9]{8}(\s*[,\-]\s*[6789][0-9]{8})*$/.test(value) ; 
});


jQuery.validator.addMethod("zip", function(value, element) { 
    return this.optional(element) || (/^[0-9]+/.test(value) && value>=1000 && value < 53000);
});


jQuery.validator.addMethod("cif", function(value, element) {    
    if (!value && this.optional(element)) return true;
    
    var service = "/ws/check_cif/"
    var check = false;
    jQuery.ajax({
        url: service+"?cif="+value,
        type: "GET",
        async: false,
        dataType: "json",
        error: function (xhtmlrequest, status, error) {
            var message = xhtmlrequest.responseText ? xhtmlrequest.responseText : "Se ha producido un error al comprobar la validez del CIF";
            alert(message);
        },
        success: function (data, status) {
            check = data;
        }
    });
    return check;
});


function match_zip_region() { 
    var b = parseInt( $('#region_id option[selected]').attr('class').substr(4) ,10);
    var a = ($('#postal_code').val().length > 4) 
          ? parseInt( $('#postal_code').val().substr(0,2), 10 ) 
          : parseInt( $('#postal_code').val().substr(0,1), 10 ) ;
    return  a==b;
};




function phone_format ()
{
    var phones = null;
    var newp = null;            
    var newphones = null;            
    $.each( $('span.phone_content'), function(i,val) {
        phones=[];
        newphones=[];       
        
        val.innerHTML = val.innerHTML.replace('-',',');
    
        if(val.innerHTML.match(',')) phones = val.innerHTML.split(',');
        else phones.push( val.innerHTML );                

        for(var i=0; i < phones.length;i++) {
            var p = phones[i].replace(' ','');          
            var p2 = p.substr(0,2);
            var p3 = p.substr(0,3);            
            if( p2=='91' || 
                p2=='93' || 
                (p2=='96' && p3!='964' && p3!='968' && p3!='967' && p3!='969') || 
                (p2=='98' && p3!='981' && p3!='987' && p3!='982' && p3!='988' && p3!='980' && p3!='986') || 
                (p2=='95' && p3!='950' && p3!='959' && p3!='958' && p3!='957' && p3!='956'&& p3!='953' ) || 
                ( p2=='94' && p3!='941' && p3!='943')
              ) {
                newp =  p2 + ' ' + p.substr(2,3) + ' ' + p.substr(5,2) + ' ' +p.substr(7);            
            } else {
                newp =  p3 + ' ' + p.substr(3,3) + ' ' + p.substr(6);
            }
            if(newp) newphones.push( newp );
        }
        val.innerHTML = ' ' + newphones.join(', ');
    });      
        
}

function phone_format3 ()
{
    var phones = null;
    var newp = null;            
    var newphones = null;            
    $.each( $('span.phone_content'), function(i,val) {
        phones=[];
        newphones=[];                
    
        if(val.innerHTML.match(',')) phones = val.innerHTML.split(',');
        else if(val.innerHTML.match('-')) phones = val.innerHTML.split('-');        
        else phones.push( val.innerHTML );                

        for(var i=0; i < phones.length;i++) {
            var p = phones[i].replace(' ','');          
            newp =  p.substr(0,3) + ' ' + p.substr(3,3) + ' ' + p.substr(6);
            if(newp) newphones.push( newp );
        }
        val.innerHTML = ' ' + newphones.join(', ');
    });      
        
}


/*
 * Autocomplete - jQuery plugin 1.0.2
 *
 * Copyright (c) 2007 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.autocomplete.js 5747 2008-06-25 18:30:55Z joern.zaefferer $
 *
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(3($){$.31.1o({12:3(b,d){5 c=Y b=="1w";d=$.1o({},$.D.1L,{11:c?b:14,w:c?14:b,1D:c?$.D.1L.1D:10,Z:d&&!d.1x?10:3U},d);d.1t=d.1t||3(a){6 a};d.1q=d.1q||d.1K;6 I.K(3(){1E $.D(I,d)})},M:3(a){6 I.X("M",a)},1y:3(a){6 I.15("1y",[a])},20:3(){6 I.15("20")},1Y:3(a){6 I.15("1Y",[a])},1X:3(){6 I.15("1X")}});$.D=3(o,r){5 t={2N:38,2I:40,2D:46,2x:9,2v:13,2q:27,2d:3x,2j:33,2o:34,2e:8};5 u=$(o).3f("12","3c").P(r.24);5 p;5 m="";5 n=$.D.2W(r);5 s=0;5 k;5 h={1z:B};5 l=$.D.2Q(r,o,1U,h);5 j;$.1T.2L&&$(o.2K).X("3S.12",3(){4(j){j=B;6 B}});u.X(($.1T.2L?"3Q":"3N")+".12",3(a){k=a.2F;3L(a.2F){Q t.2N:a.1d();4(l.L()){l.2y()}A{W(0,C)}N;Q t.2I:a.1d();4(l.L()){l.2u()}A{W(0,C)}N;Q t.2j:a.1d();4(l.L()){l.2t()}A{W(0,C)}N;Q t.2o:a.1d();4(l.L()){l.2s()}A{W(0,C)}N;Q r.19&&$.1p(r.R)==","&&t.2d:Q t.2x:Q t.2v:4(1U()){a.1d();j=C;6 B}N;Q t.2q:l.U();N;3A:1I(p);p=1H(W,r.1D);N}}).1G(3(){s++}).3v(3(){s=0;4(!h.1z){2k()}}).2i(3(){4(s++>1&&!l.L()){W(0,C)}}).X("1y",3(){5 c=(1n.7>1)?1n[1]:14;3 23(q,a){5 b;4(a&&a.7){16(5 i=0;i<a.7;i++){4(a[i].M.O()==q.O()){b=a[i];N}}}4(Y c=="3")c(b);A u.15("M",b&&[b.w,b.H])}$.K(1g(u.J()),3(i,a){1R(a,23,23)})}).X("20",3(){n.18()}).X("1Y",3(){$.1o(r,1n[1]);4("w"2G 1n[1])n.1f()}).X("1X",3(){l.1u();u.1u();$(o.2K).1u(".12")});3 1U(){5 b=l.26();4(!b)6 B;5 v=b.M;m=v;4(r.19){5 a=1g(u.J());4(a.7>1){v=a.17(0,a.7-1).2Z(r.R)+r.R+v}v+=r.R}u.J(v);1l();u.15("M",[b.w,b.H]);6 C}3 W(b,c){4(k==t.2D){l.U();6}5 a=u.J();4(!c&&a==m)6;m=a;a=1k(a);4(a.7>=r.22){u.P(r.21);4(!r.1C)a=a.O();1R(a,2V,1l)}A{1B();l.U()}};3 1g(b){4(!b){6[""]}5 d=b.1Z(r.R);5 c=[];$.K(d,3(i,a){4($.1p(a))c[i]=$.1p(a)});6 c}3 1k(a){4(!r.19)6 a;5 b=1g(a);6 b[b.7-1]}3 1A(q,a){4(r.1A&&(1k(u.J()).O()==q.O())&&k!=t.2e){u.J(u.J()+a.48(1k(m).7));$.D.1N(o,m.7,m.7+a.7)}};3 2k(){1I(p);p=1H(1l,47)};3 1l(){5 c=l.L();l.U();1I(p);1B();4(r.2U){u.1y(3(a){4(!a){4(r.19){5 b=1g(u.J()).17(0,-1);u.J(b.2Z(r.R)+(b.7?r.R:""))}A u.J("")}})}4(c)$.D.1N(o,o.H.7,o.H.7)};3 2V(q,a){4(a&&a.7&&s){1B();l.2T(a,q);1A(q,a[0].H);l.1W()}A{1l()}};3 1R(f,d,g){4(!r.1C)f=f.O();5 e=n.2S(f);4(e&&e.7){d(f,e)}A 4((Y r.11=="1w")&&(r.11.7>0)){5 c={45:+1E 44()};$.K(r.2R,3(a,b){c[a]=Y b=="3"?b():b});$.43({42:"41",3Z:"12"+o.3Y,2M:r.2M,11:r.11,w:$.1o({q:1k(f),3X:r.Z},c),3W:3(a){5 b=r.1r&&r.1r(a)||1r(a);n.1h(f,b);d(f,b)}})}A{l.2J();g(f)}};3 1r(c){5 d=[];5 b=c.1Z("\\n");16(5 i=0;i<b.7;i++){5 a=$.1p(b[i]);4(a){a=a.1Z("|");d[d.7]={w:a,H:a[0],M:r.1v&&r.1v(a,a[0])||a[0]}}}6 d};3 1B(){u.1e(r.21)}};$.D.1L={24:"3R",2H:"3P",21:"3O",22:1,1D:3M,1C:B,1a:C,1V:B,1j:10,Z:3K,2U:B,2R:{},1S:C,1K:3(a){6 a[0]},1q:14,1A:B,E:0,19:B,R:", ",1t:3(b,a){6 b.2C(1E 3J("(?![^&;]+;)(?!<[^<>]*)("+a.2C(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/2A,"\\\\$1")+")(?![^<>]*>)(?![^&;]+;)","2A"),"<2z>$1</2z>")},1x:C,1s:3I};$.D.2W=3(g){5 h={};5 j=0;3 1a(s,a){4(!g.1C)s=s.O();5 i=s.3H(a);4(i==-1)6 B;6 i==0||g.1V};3 1h(q,a){4(j>g.1j){18()}4(!h[q]){j++}h[q]=a}3 1f(){4(!g.w)6 B;5 f={},2w=0;4(!g.11)g.1j=1;f[""]=[];16(5 i=0,30=g.w.7;i<30;i++){5 c=g.w[i];c=(Y c=="1w")?[c]:c;5 d=g.1q(c,i+1,g.w.7);4(d===B)1P;5 e=d.3G(0).O();4(!f[e])f[e]=[];5 b={H:d,w:c,M:g.1v&&g.1v(c)||d};f[e].1O(b);4(2w++<g.Z){f[""].1O(b)}};$.K(f,3(i,a){g.1j++;1h(i,a)})}1H(1f,25);3 18(){h={};j=0}6{18:18,1h:1h,1f:1f,2S:3(q){4(!g.1j||!j)6 14;4(!g.11&&g.1V){5 a=[];16(5 k 2G h){4(k.7>0){5 c=h[k];$.K(c,3(i,x){4(1a(x.H,q)){a.1O(x)}})}}6 a}A 4(h[q]){6 h[q]}A 4(g.1a){16(5 i=q.7-1;i>=g.22;i--){5 c=h[q.3F(0,i)];4(c){5 a=[];$.K(c,3(i,x){4(1a(x.H,q)){a[a.7]=x}});6 a}}}6 14}}};$.D.2Q=3(e,g,f,k){5 h={G:"3E"};5 j,y=-1,w,1m="",1M=C,F,z;3 2r(){4(!1M)6;F=$("<3D/>").U().P(e.2H).T("3C","3B").1J(2p.2n);z=$("<3z/>").1J(F).3y(3(a){4(V(a).2m&&V(a).2m.3w()==\'2l\'){y=$("1F",z).1e(h.G).3u(V(a));$(V(a)).P(h.G)}}).2i(3(a){$(V(a)).P(h.G);f();g.1G();6 B}).3t(3(){k.1z=C}).3s(3(){k.1z=B});4(e.E>0)F.T("E",e.E);1M=B}3 V(a){5 b=a.V;3r(b&&b.3q!="2l")b=b.3p;4(!b)6[];6 b}3 S(b){j.17(y,y+1).1e(h.G);2h(b);5 a=j.17(y,y+1).P(h.G);4(e.1x){5 c=0;j.17(0,y).K(3(){c+=I.1i});4((c+a[0].1i-z.1c())>z[0].3o){z.1c(c+a[0].1i-z.3n())}A 4(c<z.1c()){z.1c(c)}}};3 2h(a){y+=a;4(y<0){y=j.1b()-1}A 4(y>=j.1b()){y=0}}3 2g(a){6 e.Z&&e.Z<a?e.Z:a}3 2f(){z.2B();5 b=2g(w.7);16(5 i=0;i<b;i++){4(!w[i])1P;5 a=e.1K(w[i].w,i+1,b,w[i].H,1m);4(a===B)1P;5 c=$("<1F/>").3m(e.1t(a,1m)).P(i%2==0?"3l":"3k").1J(z)[0];$.w(c,"2c",w[i])}j=z.3j("1F");4(e.1S){j.17(0,1).P(h.G);y=0}4($.31.2b)z.2b()}6{2T:3(d,q){2r();w=d;1m=q;2f()},2u:3(){S(1)},2y:3(){S(-1)},2t:3(){4(y!=0&&y-8<0){S(-y)}A{S(-8)}},2s:3(){4(y!=j.1b()-1&&y+8>j.1b()){S(j.1b()-1-y)}A{S(8)}},U:3(){F&&F.U();j&&j.1e(h.G);y=-1},L:3(){6 F&&F.3i(":L")},3h:3(){6 I.L()&&(j.2a("."+h.G)[0]||e.1S&&j[0])},1W:3(){5 a=$(g).3g();F.T({E:Y e.E=="1w"||e.E>0?e.E:$(g).E(),2E:a.2E+g.1i,1Q:a.1Q}).1W();4(e.1x){z.1c(0);z.T({29:e.1s,3e:\'3d\'});4($.1T.3b&&Y 2p.2n.3T.29==="3a"){5 c=0;j.K(3(){c+=I.1i});5 b=c>e.1s;z.T(\'3V\',b?e.1s:c);4(!b){j.E(z.E()-28(j.T("32-1Q"))-28(j.T("32-39")))}}}},26:3(){5 a=j&&j.2a("."+h.G).1e(h.G);6 a&&a.7&&$.w(a[0],"2c")},2J:3(){z&&z.2B()},1u:3(){F&&F.37()}}};$.D.1N=3(b,a,c){4(b.2O){5 d=b.2O();d.36(C);d.35("2P",a);d.4c("2P",c);d.4b()}A 4(b.2Y){b.2Y(a,c)}A{4(b.2X){b.2X=a;b.4a=c}}b.1G()}})(49);',62,261,'|||function|if|var|return|length|||||||||||||||||||||||||data||active|list|else|false|true|Autocompleter|width|element|ACTIVE|value|this|val|each|visible|result|break|toLowerCase|addClass|case|multipleSeparator|moveSelect|css|hide|target|onChange|bind|typeof|max||url|autocomplete||null|trigger|for|slice|flush|multiple|matchSubset|size|scrollTop|preventDefault|removeClass|populate|trimWords|add|offsetHeight|cacheLength|lastWord|hideResultsNow|term|arguments|extend|trim|formatMatch|parse|scrollHeight|highlight|unbind|formatResult|string|scroll|search|mouseDownOnSelect|autoFill|stopLoading|matchCase|delay|new|li|focus|setTimeout|clearTimeout|appendTo|formatItem|defaults|needsInit|Selection|push|continue|left|request|selectFirst|browser|selectCurrent|matchContains|show|unautocomplete|setOptions|split|flushCache|loadingClass|minChars|findValueCallback|inputClass||selected||parseInt|maxHeight|filter|bgiframe|ac_data|COMMA|BACKSPACE|fillList|limitNumberOfItems|movePosition|click|PAGEUP|hideResults|LI|nodeName|body|PAGEDOWN|document|ESC|init|pageDown|pageUp|next|RETURN|nullData|TAB|prev|strong|gi|empty|replace|DEL|top|keyCode|in|resultsClass|DOWN|emptyList|form|opera|dataType|UP|createTextRange|character|Select|extraParams|load|display|mustMatch|receiveData|Cache|selectionStart|setSelectionRange|join|ol|fn|padding|||moveStart|collapse|remove||right|undefined|msie|off|auto|overflow|attr|offset|current|is|find|ac_odd|ac_even|html|innerHeight|clientHeight|parentNode|tagName|while|mouseup|mousedown|index|blur|toUpperCase|188|mouseover|ul|default|absolute|position|div|ac_over|substr|charAt|indexOf|180|RegExp|100|switch|400|keydown|ac_loading|ac_results|keypress|ac_input|submit|style|150|height|success|limit|name|port||abort|mode|ajax|Date|timestamp||200|substring|jQuery|selectionEnd|select|moveEnd'.split('|'),0,{}))





/*
translate
*/
var _ = function(nombre)
{
    var ret = ' ';
    var literal = eval('i18n.'+nombre);
    literal = ""+literal;

    if(literal != 'undefined')  {
        return literal;
    } else {
        return ret;
    }
};


var is_capslock_active = function (e)
{
     kc = e.keyCode?e.keyCode:e.which;
     sk = e.shiftKey?e.shiftKey:((kc == 16)?true:false);
     return ( ( (kc >= 65 && kc <= 90) && !sk) 
                || 
              ( (kc >= 97 && kc <= 122) && sk) );
};


/*
Thanks to http://caseconverter.com/scripts.js
*/

String.prototype.toCapitalCase = function() {
	var regEx = /([a-z]*)([^a-z]*)([\s\S]*)/i;
	var matchArray = regEx.exec(this);
	var text = '';
	while (matchArray) {
		text += matchArray[1].charAt(0).toUpperCase() + matchArray[1].slice(1).toLowerCase() + matchArray[2];
		temp = matchArray[3];
		if (matchArray[3]) {
			matchArray = regEx.exec(matchArray[3]);
		} else {
			matchArray = false;
		}
		
	}
	if (window.temp) {
		text +=temp.charAt(0).toUpperCase() + temp.slice(1).toLowerCase()
	}
	return text;
};

String.prototype.toSentenceCase = function() {
	var regEx = /([^\.?!]*)([\.?!\s]*)([\s\S]*)/;
	var matchArray = regEx.exec(this);
	var temp;
	var text = '';
	//return matchArray[1]+"\n"+matchArray[2]+"\n"+matchArray[3]+"\nhey";
	while (matchArray) {
		text += matchArray[1].charAt(0).toUpperCase() + matchArray[1].slice(1).toLowerCase() + matchArray[2];
		temp = matchArray[3];
		if (matchArray[3]) {
			matchArray = regEx.exec(matchArray[3]);
		} else {
			matchArray = false;
		}
	}
	if (temp) {
		text +=temp.charAt(0).toUpperCase() + temp.slice(1).toLowerCase()
	}
	return text;
};

function is_int( mixed_var ) { 
    if (typeof mixed_var !== 'number') {
        return false;
    } 
    if (parseFloat(mixed_var) != parseInt(mixed_var)) {
        return false;
    }    
    return true;
}


function trim (str, charlist) {
    var whitespace, l = 0, i = 0;
    str += '';
    
    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    }
    
    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }
    
    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    
    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}



function draw_forms_wide_banner(citiservi_ads,status)
{
    var citiservi_num_ads = citiservi_ads.length;			
	var ad = '';			
	var url = '';			
	if(!status['error']) {
    	if(citiservi_num_ads <= 0) return;
        url = 'http://' + citiservi_adf4w_host + '/redirect/v1/?application_key='  + citiservi_ads[0]['application_key'] + '&template_id=' + citiservi_ads[0]['template_id'];
        ad =    '<div class="adforms-text">citiservi AdForms</div>' +
                '<div style="padding-top: 8px; float: left; width: 65px;">' +
                    '<a href="'+url+'"><img src="http://estaticos.citiservi.es/images/citiservi-lite.gif" alt="Citiservi logo"/></a>' +
                '</div>' +
                '<div class="bait-text">' +
                    '<strong>Servicio de presupuestos: </strong><a href="'+url+'" style="color: rgb(0, 0, 0);"><strong>'+citiservi_ads[0]['message_need']+'</strong></a>'+
                    '<br/><span>'+citiservi_ads[0]['message_form']+'</span>' +
                '</div>';
        document.getElementById("citiservi_ad").innerHTML = ad; 
        document.getElementById("citiservi_ad").style.display = 'block';
	} else {
		//console.log(status['errno'] + ': ' + status['error']);	
	}

}


function change_search_mode(mode)
{
    //simple
    if(mode==1) {
        $('.header').css('height','120px');
        $('.search').show();
        $('.search_advanced').hide();        
    } else { //advanced
        $('.header').css('height','190px');    
        $('.search').hide();
        $('.search_advanced').show();            
    }
}



var i18n = {view_all:'ver todas',hide:'ocultar',thickbox_close:'Cerrar',thickbox_esc:'o pulsa Esc',email_defaultmessage1:'te manda los datos de',email_defaultmessage2:'Puedes ver más información en esta dirección',email_defaultmessage3:'te dice',email_defaultmessage4:'"""-----<br/>',new_business_email_title:'Hemos procesado tu solicitud',new_business_email:'En cuanto tu mensaje sea validado procederemos a enviar un correo electrónico a los contactos que nos has proporcionado.',new_business_email_err:'Ha ocurrido un error, revisa las direcciones de correo.',newuser_error_login404:'El usuario introducido no existe',newuser_error_login403:'La contraseña introducida no es correcta',newuser_error_email:'El email proporcionado ya esta asociado a otro usuario'};

/**
* package   Front
* author    Jose Manuel Peso <jpeso@citiservi.com>
*
* Javascript front file that contains all google maps logic
* for listings and details pages
*/
var Front = (function(){


    //----------------------
    //
    //  PRIVATE VARS
    //
    //----------------------

    var center = null;
    var zoom = null;
    var map = null;
    var mode = null;
    var marker_process_center = [];
    var markers = [];
    var markers2 = [];
    var info_windows = [];


    //----------------------
    //
    //  PRIVATE FUNCTIONS
    //
    //----------------------


    /**
    * Creates image icon overlay for google maps
    * with a letter and type (active or not)
    */
    function get_icon(letter,type)
    {
        var base_url = "http://es-citiservi.cstatics.com/images/icon/";
        var icon_image = '';
        if(is_int(letter)) {
            icon_image = 'http://es-citiservi.cstatics.com/maps/'+letter+'_'+(type+1)+'.gif';        
        } else {
            icon_image = base_url + letter;
            if(letter=='') {
                icon_image += (type==0) ? "iconoclaro.png" : "iconoazul.png";
            } else {
                icon_image += (type==0) ? ".png" : "_activo.png";
            }
        }

        return new google.maps.MarkerImage( icon_image , new google.maps.Size(28, 36), new google.maps.Point(0, 0),   new google.maps.Point(0, 36));
    }

    /**
    * Return the GMarkerOptions with icon iamge
    */
    function get_marker_options(letter,x,y,type)
    {
        return marker_options = { 
                                 position: new google.maps.LatLng(x,y),
                                 icon: get_icon(letter,type),
                                 map: map
                               };

    }

    /**
    * Calculates the best center and zoom for
    * paint all google maps markers
    */
    function process_center()
    {
        var bounds = new google.maps.LatLngBounds();
        var num=0;
        for (var i in markers) {
            if(marker_process_center[i]) {
               bounds.extend(markers[i].getPosition());
               num++;  
            }
        }
        map.fitBounds(bounds);
    }

    /**
    * Puts on the map the markers
    * Active markers are initially hidden
    */
    function display_markers ()
    {
        for(var i in markers2) {
            markers2[i].setVisible(false);
        }
    }

    /**
    * For each result in the list, bind a hover events
    * with classes changind in list and icon
    * showing/hiding in the map
    */
    function bind_events()
    {

        var letter = null;
        $.each( $('.resultli'), function () {
            $('#' + this.id ).hover(function(){
                                      activate(''+this.id.substr(2));
                                    },function(){
                                      deactivate(''+this.id.substr(2));
                                    });
        });
      

    }


    /**
    * Sets the center of the map
    * Be careful: not set zoom level
    */
    function set_center(x,y)
    {
        map.setCenter(new GLatLng(x,y));
    }
    
    /**
    * Draws html box when click on marker
    * Used in map search style only
    */
    function set_info_window(m,id)
    {

        var html="";
        html="<p style='margin-bottom:5px'><b><a href='" + $('#r_'+id+' a').attr('href') + "'>"+ trim( jQuery('#r_'+id+' a').text()) +"</a></b></p>";
        html += "<p>"+ trim( jQuery('#r_'+id+' .street-address').text()) +"</p>";
        html += "<p>"+ trim( jQuery('#r_'+id+' .phone').text()) +"</p>"        
        
        google.maps.event.addListener(m, "click", function() {     
            if(typeof(info_windows[id])!='object') info_windows[id] = new google.maps.InfoWindow({content: html,disableAutoPan:true })   
            for( i in info_windows) {
                info_windows[i].close(); 
            }
            info_windows[id].open(map,m);   
        });
        
    }    
    
    /**
    * Creates the list of markers (active and inactive), store it and
    * bind the events
    */
    function save_marker(type,x,y,letter,center)
    {

        marker_process_center[letter] = center;

        if(mode=='list') {
            markers[letter] = new google.maps.Marker( get_marker_options(letter,x,y,0) );
            markers2[letter] = new google.maps.Marker( get_marker_options(letter,x,y,1) );
            set_info_window(markers2[letter],letter);
            google.maps.event.addListener(markers[letter], "mouseover", function() { activate(letter); });
            google.maps.event.addListener(markers2[letter], "mouseout", function() { deactivate(letter) });
        } else {

            marker = new google.maps.Marker(  get_marker_options(letter,x,y,0));
        }

    }

    /**
    * Function launched for set active a result/Gmarker
    */
    function activate(letter)
    {
        //prevents strange behavior with marker mouseout
        for(m in markers2) {
            if(m != letter) {
                markers2[m].setVisible(false);
                markers[m].setVisible(true);
            }
        }
        
        //markers
        if(markers[letter]) markers[letter].setVisible(false);
        if(markers2[letter]) markers2[letter].setVisible(true);

        //force remove class activo in all resultli
        //and change color of selected
        $('.resultli').removeClass('activo');
        $('.resultn').removeClass('resultnactivo');
        $('#r_'+letter).addClass('activo');
        $('#r_'+letter+' div.resultn').addClass('resultnactivo');
    }

    /**
    * Function launched for set inactive a result/Gmarker
    */
    function deactivate(letter)
    {

        //markers
        if(markers2[letter]) markers2[letter].setVisible(false);
        if(markers[letter]) markers[letter].setVisible(true);

        //force remove class activo in all resultli
        $('.resultli').removeClass('activo');
        $('.resultn').removeClass('resultnactivo');
    }


    return {

        //----------------------
        //
        //  PUBLIC FUNCTIONS
        //
        //----------------------
        

        /**
        * Main funcion for map creation (Search or List)
        * Make get ajax call to server for retrieving the list
        * of markers
        */
        draw_map_list : function(bmarkers)
        {
            mode = 'list';

            if(!bmarkers) return;

            var myOptions = {
              scrollwheel: false,
              mapTypeControlOptions: {mapTypeIds: [google.maps.MapTypeId.ROADMAP]},
              mapTypeControl: false,
              navigationControl: false,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };

            map = new google.maps.Map(document.getElementById("gmap"),myOptions);
            bmarkers = eval('(' + bmarkers + ')');
            for(var i=0; i < bmarkers.length; i++) {
                m = bmarkers[i];
                save_marker( m[0],m[1],m[2],m[3],m[4] );
            }
            process_center();
            display_markers();
            bind_events();

        },

        /**
        * Main funcion for map creation (Details)
        * Make get ajax call to server for retrieving the list
        * of markers
        */
        draw_map_company : function(bmarkers)
        {
            mode = 'details';

            if(!markers) return;

            var myOptions = {
              scrollwheel: false,
              mapTypeControlOptions: {mapTypeIds: [google.maps.MapTypeId.ROADMAP]},
              mapTypeControl: false,
              navigationControl: false,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById("gmap"),myOptions);
            bmarkers = eval('(' + bmarkers + ')');
            for(var i=0; i < bmarkers.length; i++) {    
                m = bmarkers[i];
                save_marker( m[0],m[1],m[2],m[3],1 );
            }
            map.setCenter( marker.getPosition());
            map.setZoom(16);

        },

        resizeMap: function() 
        {
            var res = jQuery.clientRes();
            $('#gmap').css('height',(res.h-120) + 'px');
            $('ul.resultlist').css('height',(res.h-140) + 'px');
        },
        
        
        /**
        * Sets the map type and change the message of the web
        */
        set_map_type : function(mode)
        {
            var type;
            var content;
            if(mode == 'map') {
                type = google.maps.MapTypeId.ROADMAP ;
                content = '<strong>Mapa</strong> | <a href="#" onclick="Front.set_map_type(\'sat\');return false;">Sat&eacute;lite</a>';
            } else {
                type = google.maps.MapTypeId.HYBRID ;
                content = '<a href="#" onclick="Front.set_map_type(\'map\');return false;">Mapa</a> | <strong>Sat&eacute;lite</strong>';
            }
            $('.mapsat').html(content);
            map.setMapTypeId(type);
        },

        /**
        * Debugging function for retrieve markers in a public function
        */
        get_markers: function ()
        {
            return [markers,markers2];
        },

        /**
        * Return the type of map displayed ( MAP, HYPBRYD)
        */
        get_map_type: function()
        {
            var type = map.getCurrentMapType();
        },

        /**
        * Applies level to actual zoom.
        */
        map_zoom :function(level)
        {
            map.setZoom(map.getZoom() + level);
        },
        /* 

            MAIL SENDING IN POST-CREATION
        */

        send_emails: function(company_id)
        {
            if($("#send_emails").valid()) 
            {  
                //bloqeo de envio de emails...
  
                var url = "http://"  +Citiservi.HOST + Citiservi.DOCROOT + 
                              'index.php?modulo=Front&clase=New&evento=emails';
                $.post(url,
                       {id:company_id,
                        message:$('#message').val(),
                        email1:$('#email1').val(),
                        email2:$('#email2').val(),
                        email3:$('#email3').val(),
                        email4:$('#email4').val(),
                        email5:$('#email5').val()
                       },
                       function(response)
                       {
                            response = eval('(' + response + ')');
                            if(response.ret==true) {
                                $('.peticionbloque .pb1 h2:eq(1)').text(_('new_business_email_title')); 
                                $('.peticionbloque .pb1 h2:eq(1) + p').text(_('new_business_email'));
                                $('.peticionbloque:gt(1)').remove();
                            } else {
                                $('.peticionbloque .pb1 h2:eq(1) + p').text(_('new_business_email_err'));
                            }
                       }
                 );
            }

        },
        
        validate_email: function()
        {
         
           var validator =  $("#send_emails").validate({
                debug: true,
                errorClass: "invalid",
                onkeyup: false,
                rules: {
                    email1: {required:true,email:true},
                    email2: {email:true},
                    email3: {email:true},
                    email4: {email:true},
                    email5: {email:true}
                },
                errorPlacement: function(error, element) {
                    $('.explic.'+element.attr('id')).hide();
                    $('.invalid.'+element.attr('id')).show();                    
                },
                success: function(el) {
                        $('.explic.'+el[0].htmlFor).show();
                        $('.invalid.'+el[0].htmlFor).hide();
                }
            });
        }



    };


})();



