/* charset "utf-8"; */

/* Pieces: general-ga-file-static-gaTracking-facebook */

/* @JAVASCRIPT general */

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

/* Jquery UI Core
 *
 */
(function(C){C.ui={plugin:{add:function(E,F,H){var G=C.ui[E].prototype;for(var D in H){G.plugins[D]=G.plugins[D]||[];G.plugins[D].push([F,H[D]])}},call:function(D,F,E){var H=D.plugins[F];if(!H){return }for(var G=0;G<H.length;G++){if(D.options[H[G][0]]){H[G][1].apply(D.element,E)}}}},cssCache:{},css:function(D){if(C.ui.cssCache[D]){return C.ui.cssCache[D]}var E=C('<div class="ui-gen">').addClass(D).css({position:"absolute",top:"-5000px",left:"-5000px",display:"block"}).appendTo("body");C.ui.cssCache[D]=!!((!(/auto|default/).test(E.css("cursor"))||(/^[1-9]/).test(E.css("height"))||(/^[1-9]/).test(E.css("width"))||!(/none/).test(E.css("backgroundImage"))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(E.css("backgroundColor"))));try{C("body").get(0).removeChild(E.get(0))}catch(F){}return C.ui.cssCache[D]},disableSelection:function(D){C(D).attr("unselectable","on").css("MozUserSelect","none")},enableSelection:function(D){C(D).attr("unselectable","off").css("MozUserSelect","")},hasScroll:function(G,E){var D=/top/.test(E||"top")?"scrollTop":"scrollLeft",F=false;if(G[D]>0){return true}G[D]=1;F=G[D]>0?true:false;G[D]=0;return F}};var B=C.fn.remove;C.fn.remove=function(){C("*",this).add(this).triggerHandler("remove");return B.apply(this,arguments)};function A(E,F,G){var D=C[E][F].getter||[];D=(typeof D=="string"?D.split(/,?\s+/):D);return(C.inArray(G,D)!=-1)}C.widget=function(E,D){var F=E.split(".")[0];E=E.split(".")[1];C.fn[E]=function(J){var H=(typeof J=="string"),I=Array.prototype.slice.call(arguments,1);if(H&&A(F,E,J)){var G=C.data(this[0],E);return(G?G[J].apply(G,I):undefined)}return this.each(function(){var K=C.data(this,E);if(H&&K&&C.isFunction(K[J])){K[J].apply(K,I)}else{if(!H){C.data(this,E,new C[F][E](this,J))}}})};C[F][E]=function(I,H){var G=this;this.widgetName=E;this.widgetBaseClass=F+"-"+E;this.options=C.extend({},C.widget.defaults,C[F][E].defaults,H);this.element=C(I).bind("setData."+E,function(L,J,K){return G.setData(J,K)}).bind("getData."+E,function(K,J){return G.getData(J)}).bind("remove",function(){return G.destroy()});this.init()};C[F][E].prototype=C.extend({},C.widget.prototype,D)};C.widget.prototype={init:function(){},destroy:function(){this.element.removeData(this.widgetName)},getData:function(D){return this.options[D]},setData:function(D,E){this.options[D]=E;if(D=="disabled"){this.element[E?"addClass":"removeClass"](this.widgetBaseClass+"-disabled")}},enable:function(){this.setData("disabled",false)},disable:function(){this.setData("disabled",true)}};C.widget.defaults={disabled:false};C.ui.mouse={mouseInit:function(){var D=this;this.element.bind("mousedown."+this.widgetName,function(E){return D.mouseDown(E)});if(C.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},mouseDestroy:function(){this.element.unbind("."+this.widgetName);(C.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},mouseDown:function(F){(this._mouseStarted&&this.mouseUp(F));this._mouseDownEvent=F;var E=this,G=(F.which==1),D=(typeof this.options.cancel=="string"?C(F.target).parents().add(F.target).filter(this.options.cancel).length:false);if(!G||D||!this.mouseCapture(F)){return true}this._mouseDelayMet=!this.options.delay;if(!this._mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){E._mouseDelayMet=true},this.options.delay)}if(this.mouseDistanceMet(F)&&this.mouseDelayMet(F)){this._mouseStarted=(this.mouseStart(F)!==false);if(!this._mouseStarted){F.preventDefault();return true}}this._mouseMoveDelegate=function(H){return E.mouseMove(H)};this._mouseUpDelegate=function(H){return E.mouseUp(H)};C(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);return false},mouseMove:function(D){if(C.browser.msie&&!D.button){return this.mouseUp(D)}if(this._mouseStarted){this.mouseDrag(D);return false}if(this.mouseDistanceMet(D)&&this.mouseDelayMet(D)){this._mouseStarted=(this.mouseStart(this._mouseDownEvent,D)!==false);(this._mouseStarted?this.mouseDrag(D):this.mouseUp(D))}return !this._mouseStarted},mouseUp:function(D){C(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this.mouseStop(D)}return false},mouseDistanceMet:function(D){return(Math.max(Math.abs(this._mouseDownEvent.pageX-D.pageX),Math.abs(this._mouseDownEvent.pageY-D.pageY))>=this.options.distance)},mouseDelayMet:function(D){return this._mouseDelayMet},mouseStart:function(D){},mouseDrag:function(D){},mouseStop:function(D){},mouseCapture:function(D){return true}};C.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);

/**
 * Interface Elements for jQuery
 * utility function
 *
 * http://interface.eyecon.ro
 *
 * Copyright (c) 2006 Stefan Petre
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 *
 */
eval(function(p,a,c,k,e,d){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--){d[e(c)]=k[c]||e(c)}k=[(function(e){return d[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}('a.1u={1c:f(e,s){6 l=0;6 t=0;6 v=0;6 C=0;6 w=a.3(e,\'Y\');6 h=a.3(e,\'Z\');6 g=e.V;6 i=e.W;Q(e.R){l+=e.O+(e.7?4(e.7.F)||0:0);t+=e.P+(e.7?4(e.7.D)||0:0);c(s){v+=e.S.m||0;C+=e.S.j||0}e=e.R}l+=e.O+(e.7?4(e.7.F)||0:0);t+=e.P+(e.7?4(e.7.D)||0:0);C=t-C;v=l-v;8{x:l,y:t,1d:v,1f:C,w:w,h:h,g:g,i:i}},1g:f(e){6 x=0;6 y=0;6 T=1h;5=e.11;c(a(e).3(\'p\')==\'J\'){E=5.n;K=5.q;5.n=\'12\';5.p=\'13\';5.q=\'15\';T=1i}1=e;Q(1){x+=1.O+(1.7&&!a.14.10?4(1.7.F)||0:0);y+=1.P+(1.7&&!a.14.10?4(1.7.D)||0:0);1=1.R}1=e;Q(1&&1.1s.1n()!=\'9\'){x-=1.m||0;y-=1.j||0;1=1.S}c(T){5.p=\'J\';5.q=K;5.n=E}8{x:x,y:y}},1q:f(e){6 w=a.3(e,\'Y\');6 h=a.3(e,\'Z\');6 g=0;6 i=0;5=e.11;c(a(e).3(\'p\')!=\'J\'){g=e.V;i=e.W}k{E=5.n;K=5.q;5.n=\'12\';5.p=\'13\';5.q=\'15\';g=e.V;i=e.W;5.p=\'J\';5.q=K;5.n=E}8{w:w,h:h,g:g,i:i}},18:f(e){c(e){w=e.A;h=e.B}k{u=2.d;w=X.M||G.M||(u&&u.A)||2.9.A;h=X.N||G.N||(u&&u.B)||2.9.B}8{w:w,h:h}},1a:f(e){c(e){t=e.j;l=e.m;w=e.U;h=e.L;I=0;H=0}k{c(2.d&&2.d.j){t=2.d.j;l=2.d.m;w=2.d.U;h=2.d.L}k c(2.9){t=2.9.j;l=2.9.m;w=2.9.U;h=2.9.L}I=G.M||2.d.A||2.9.A||0;H=G.N||2.d.B||2.9.B||0}8{t:t,l:l,w:w,h:h,I:I,H:H}},1j:f(e,o){1=a(e);t=1.3(\'1k\')||\'\';r=1.3(\'1l\')||\'\';b=1.3(\'1m\')||\'\';l=1.3(\'1o\')||\'\';c(o)8{t:4(t)||0,r:4(r)||0,b:4(b)||0,l:4(l)};k 8{t:t,r:r,b:b,l:l}},1r:f(e,o){1=a(e);t=1.3(\'1t\')||\'\';r=1.3(\'1v\')||\'\';b=1.3(\'1w\')||\'\';l=1.3(\'1x\')||\'\';c(o)8{t:4(t)||0,r:4(r)||0,b:4(b)||0,l:4(l)};k 8{t:t,r:r,b:b,l:l}},1y:f(e,o){1=a(e);t=1.3(\'D\')||\'\';r=1.3(\'16\')||\'\';b=1.3(\'19\')||\'\';l=1.3(\'F\')||\'\';c(o)8{t:4(t)||0,r:4(r)||0,b:4(b)||0,l:4(l)||0};k 8{t:t,r:r,b:b,l:l}},1z:f(z){x=z.17||(z.1b+(2.d.m||2.9.m))||0;y=z.1e||(z.1p+(2.d.j||2.9.j))||0;8{x:x,y:y}}};',62,98,'|el|document|css|parseInt|es|var|currentStyle|return|body|jQuery||if|documentElement||function|wb||hb|scrollTop|else||scrollLeft|visibility|toInteger|display|position||||de|sl||||event|clientWidth|clientHeight|st|borderTopWidth|oldVisibility|borderLeftWidth|self|ih|iw|none|oldPosition|scrollHeight|innerWidth|innerHeight|offsetLeft|offsetTop|while|offsetParent|parentNode|restoreStyle|scrollWidth|offsetWidth|offsetHeight|window|width|height|opera|style|hidden|block|browser|absolute|borderRightWidth|pageX|getClient|borderBottomWidth|getScroll|clientX|getPos|sx|pageY|sy|getPosition|false|true|getMargins|marginTop|marginRight|marginBottom|toLowerCase|marginLeft|clientY|getSize|getPadding|tagName|paddingTop|iUtil|paddingRight|paddingBottom|paddingLeft|getBorder|getPointer'.split('|'),0,{}))

var title = ""; // Needed for glossary tooltip to work correctly in IE.
/*
 * Interface elements for jQuery - http://interface.eyecon.ro
 * Tooltip+Draggable
 *
 * Copyright (c) 2006 Stefan Petre
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 */
eval(function(p,a,c,k,e,d){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--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[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}('6.V={3z:A(e){k x=0;k y=0;k 2Z=C;k K=e.X;d(6(e).D(\'11\')==\'10\'){2K=K.1K;4e=K.Q;K.1K=\'2m\';K.11=\'2t\';K.Q=\'1X\';2Z=17}k q=e;3R(q){x+=q.4K+(q.2N&&!6.1z.4f?F(q.2N.4p)||0:0);y+=q.4S+(q.2N&&!6.1z.4f?F(q.2N.4v)||0:0);q=q.5Z}q=e;3R(q&&q.64&&q.64.4o()!=\'1b\'){x-=q.2X||0;y-=q.2v||0;q=q.1O}d(2Z){K.11=\'10\';K.Q=4e;K.1K=2K}B{x:x,y:y}},8g:A(q){k x=0,y=0;3R(q){x+=q.4K||0;y+=q.4S||0;q=q.5Z}B{x:x,y:y}},1P:A(e){k w=6.D(e,\'2H\');k h=6.D(e,\'2G\');k 1i=0;k 1e=0;k K=e.X;d(6(e).D(\'11\')!=\'10\'){1i=e.57;1e=e.4V}G{2K=K.1K;4e=K.Q;K.1K=\'2m\';K.11=\'2t\';K.Q=\'1X\';1i=e.57;1e=e.4V;K.11=\'10\';K.Q=4e;K.1K=2K}B{w:w,h:h,1i:1i,1e:1e}},8i:A(q){B{1i:q.57||0,1e:q.4V||0}},5w:A(e){k h,w,32;d(e){w=e.38;h=e.3f}G{32=J.1t;w=2n.54||4b.54||(32&&32.38)||J.1b.38;h=2n.4M||4b.4M||(32&&32.3f)||J.1b.3f}B{w:w,h:h}},6a:A(e){k t,l,w,h,31,2E;d(e&&e.3C.4o()!=\'1b\'){t=e.2v;l=e.2X;w=e.4U;h=e.4Y;31=0;2E=0}G{d(J.1t&&J.1t.2v){t=J.1t.2v;l=J.1t.2X;w=J.1t.4U;h=J.1t.4Y}G d(J.1b){t=J.1b.2v;l=J.1b.2X;w=J.1b.4U;h=J.1b.4Y}31=4b.54||J.1t.38||J.1b.38||0;2E=4b.4M||J.1t.3f||J.1b.3f||0}B{t:t,l:l,w:w,h:h,31:31,2E:2E}},6b:A(e,37){k q=6(e);k t=q.D(\'2i\')||\'\';k r=q.D(\'2l\')||\'\';k b=q.D(\'2b\')||\'\';k l=q.D(\'2h\')||\'\';d(37)B{t:F(t)||0,r:F(r)||0,b:F(b)||0,l:F(l)};G B{t:t,r:r,b:b,l:l}},8w:A(e,37){k q=6(e);k t=q.D(\'5a\')||\'\';k r=q.D(\'59\')||\'\';k b=q.D(\'5e\')||\'\';k l=q.D(\'5d\')||\'\';d(37)B{t:F(t)||0,r:F(r)||0,b:F(b)||0,l:F(l)};G B{t:t,r:r,b:b,l:l}},4c:A(e,37){k q=6(e);k t=q.D(\'4v\')||\'\';k r=q.D(\'5f\')||\'\';k b=q.D(\'5g\')||\'\';k l=q.D(\'4p\')||\'\';d(37)B{t:F(t)||0,r:F(r)||0,b:F(b)||0,l:F(l)||0};G B{t:t,r:r,b:b,l:l}},3p:A(3s){k x=3s.7E||(3s.7G+(J.1t.2X||J.1b.2X))||0;k y=3s.7Q||(3s.7R+(J.1t.2v||J.1b.2v))||0;B{x:x,y:y}},4k:A(1y,4Z){4Z(1y);1y=1y.4J;3R(1y){6.V.4k(1y,4Z);1y=1y.90}},8Z:A(1y){6.V.4k(1y,A(q){1j(k 1o 26 q){d(3b q[1o]===\'A\'){q[1o]=1a}}})},6u:A(q,18){k 1N=$.V.6a();k 4g=$.V.1P(q);d(!18||18==\'3g\')$(q).D({R:1N.t+((1m.3T(1N.h,1N.2E)-1N.t-4g.1e)/2)+\'Z\'});d(!18||18==\'3a\')$(q).D({S:1N.l+((1m.3T(1N.w,1N.31)-1N.l-4g.1i)/2)+\'Z\'})},74:A(q,6l){k 5X=$(\'63[@40*="3Z"]\',q||J),3Z;5X.21(A(){3Z=u.40;u.40=6l;u.X.4I="73:72.70.71(40=\'"+3Z+"\')"})}};[].6g||(4w.76.6g=A(v,n){n=(n==1a)?0:n;k m=u.1D;1j(k i=n;i<m;i++)d(u[i]==v)B i;B-1});6.6j=A(e){d(/^77$|^7b$|^7a$|^79$|^78$|^6Z$|^6Y$|^6Q$|^6P$|^1b$|^6O$|^6M$|^6L$|^6R$|^6S$|^6X$|^6W$/i.2M(e.3C))B C;G B 17};6.H.6V=A(e,23){k c=e.4J;k 2a=c.X;2a.Q=23.Q;2a.2i=23.1S.t;2a.2h=23.1S.l;2a.2b=23.1S.b;2a.2l=23.1S.r;2a.R=23.R+\'Z\';2a.S=23.S+\'Z\';e.1O.58(c,e);e.1O.6T(e)};6.H.6U=A(e){d(!6.6j(e))B C;k t=6(e);k K=e.X;k 2Z=C;k 16={};16.Q=t.D(\'Q\');d(t.D(\'11\')==\'10\'){2K=t.D(\'1K\');K.1K=\'2m\';K.11=\'\';2Z=17}16.4P=6.V.1P(e);16.1S=6.V.6b(e);k 53=e.2N?e.2N.5c:t.D(\'7c\');16.R=F(t.D(\'R\'))||0;16.S=F(t.D(\'S\'))||0;k 5s=\'7d\'+F(1m.7v()*5n);k 2p=J.7u(/^63$|^7t$|^7r$|^7s$|^3L$|^7w$|^51$|^7x$|^7B$|^7A$|^7z$|^7y$|^7q$|^7p$/i.2M(e.3C)?\'1I\':e.3C);6.1o(2p,\'3t\',5s);2p.1J=\'7i\';k 1k=2p.X;k R=0;k S=0;d(16.Q==\'3e\'||16.Q==\'1X\'){R=16.R;S=16.S}1k.11=\'10\';1k.R=R+\'Z\';1k.S=S+\'Z\';1k.Q=16.Q!=\'3e\'&&16.Q!=\'1X\'?\'3e\':16.Q;1k.3v=\'2m\';1k.2G=16.4P.1e+\'Z\';1k.2H=16.4P.1i+\'Z\';1k.2i=16.1S.t;1k.2l=16.1S.r;1k.2b=16.1S.b;1k.2h=16.1S.l;d(6.1z.2L){1k.5c=53}G{1k.7h=53}e.1O.58(2p,e);K.2i=\'1r\';K.2l=\'1r\';K.2b=\'1r\';K.2h=\'1r\';K.Q=\'1X\';K.5H=\'10\';K.R=\'1r\';K.S=\'1r\';d(2Z){K.11=\'10\';K.1K=2K}2p.7g(e);1k.11=\'2t\';B{16:16,7e:6(2p)}};6.H.3x={7f:[0,M,M],7j:[5W,M,M],7k:[5h,5h,7o],7n:[0,0,0],7m:[0,0,M],7l:[62,42,42],7C:[0,M,M],6F:[0,0,2D],6t:[0,2D,2D],6s:[4j,4j,4j],6r:[0,4C,0],6z:[6y,6x,6c],6w:[2D,0,2D],6v:[85,6c,47],6A:[M,5E,0],6B:[6H,50,6I],6J:[2D,0,0],6G:[6q,6C,6D],6E:[6K,0,4d],6n:[M,0,M],6p:[M,6o,0],6N:[0,2q,0],9r:[75,0,8R],8Q:[5W,5S,5E],8P:[8N,8O,5S],8S:[5C,M,M],8T:[5t,8Y,5t],8X:[4d,4d,4d],8W:[M,8U,8V],8M:[M,M,5C],8L:[0,M,0],8D:[M,0,M],8C:[2q,0,0],8B:[0,0,2q],8z:[2q,2q,0],8A:[M,62,0],8E:[M,3D,8F],8K:[2q,0,2q],8J:[M,0,0],8I:[3D,3D,3D],8G:[M,M,M],8H:[M,M,0]};6.H.2g=A(1x,5b){d(6.H.3x[1x])B{r:6.H.3x[1x][0],g:6.H.3x[1x][1],b:6.H.3x[1x][2]};G d(1c=/^2F\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.3X(1x))B{r:F(1c[1]),g:F(1c[2]),b:F(1c[3])};G d(1c=/2F\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.3X(1x))B{r:1q(1c[1])*2.55,g:1q(1c[2])*2.55,b:1q(1c[3])*2.55};G d(1c=/^#([a-2I-2z-9])([a-2I-2z-9])([a-2I-2z-9])$/.3X(1x))B{r:F("2R"+1c[1]+1c[1]),g:F("2R"+1c[2]+1c[2]),b:F("2R"+1c[3]+1c[3])};G d(1c=/^#([a-2I-2z-9]{2})([a-2I-2z-9]{2})([a-2I-2z-9]{2})$/.3X(1x))B{r:F("2R"+1c[1]),g:F("2R"+1c[2]),b:F("2R"+1c[3])};G B 5b==17?C:{r:M,g:M,b:M}};6.H.5o={5g:1,4p:1,5f:1,4v:1,2k:1,9j:1,2G:1,S:1,9i:1,9h:1,2b:1,2h:1,2l:1,2i:1,9f:1,9g:1,9k:1,9l:1,1d:1,9q:1,9p:1,5e:1,5d:1,59:1,5a:1,2y:1,9o:1,R:1,2H:1,1v:1};6.H.5l={9m:1,9n:1,9e:1,9d:1,95:1,1x:1,94:1};6.H.3y=[\'93\',\'91\',\'92\',\'96\'];6.H.4F={\'4B\':[\'3u\',\'5m\'],\'3G\':[\'3u\',\'4t\'],\'3E\':[\'3E\',\'\'],\'3B\':[\'3B\',\'\']};6.4m.2w({5R:A(27,2J,1h,43){B u.3k(A(){k 3N=6.2J(2J,1h,43);k e=2u 6.5p(u,3N,27)})},52:A(2J,43){B u.3k(A(){k 3N=6.2J(2J,43);k e=2u 6.52(u,3N)})},97:A(1F){B u.21(A(){d(u.20)6.4T(u,1F)})},9c:A(1F){B u.21(A(){d(u.20)6.4T(u,1F);d(u.3k&&u.3k[\'H\'])u.3k.H=[]})}});6.2w({52:A(O,I){k z=u,5q;z.1F=A(){d(6.68(I.3U))I.3U.1H(O)};z.3r=5Y(A(){z.1F()},I.1A);O.20=z},1h:{5r:A(p,n,5j,5i,1A){B((-1m.9b(p*1m.9a)/2)+0.5)*5i+5j}},5p:A(O,I,27){k z=u,5q;k y=O.X;k 67=6.D(O,"3v");k 30=6.D(O,"11");k P={};z.3F=(2u 5u()).65();I.1h=I.1h&&6.1h[I.1h]?I.1h:\'5r\';z.3M=A(Y,1p){d(6.H.5o[Y]){d(1p==\'1Y\'||1p==\'1Q\'||1p==\'5k\'){d(!O.2c)O.2c={};k r=1q(6.2d(O,Y));O.2c[Y]=r&&r>-5n?r:(1q(6.D(O,Y))||0);1p=1p==\'5k\'?(30==\'10\'?\'1Y\':\'1Q\'):1p;I[1p]=17;P[Y]=1p==\'1Y\'?[0,O.2c[Y]]:[O.2c[Y],0];d(Y!=\'1d\')y[Y]=P[Y][0]+(Y!=\'1v\'&&Y!=\'4L\'?\'Z\':\'\');G 6.1o(y,"1d",P[Y][0])}G{P[Y]=[1q(6.2d(O,Y)),1q(1p)||0]}}G d(6.H.5l[Y])P[Y]=[6.H.2g(6.2d(O,Y)),6.H.2g(1p)];G d(/^3E$|3B$|3u$|3G$|4B$/i.2M(Y)){k m=1p.28(/\\s+/g,\' \').28(/2F\\s*\\(\\s*/g,\'2F(\').28(/\\s*,\\s*/g,\',\').28(/\\s*\\)/g,\')\').98(/([^\\s]+)/g);6k(Y){1M\'3E\':1M\'3B\':1M\'4B\':1M\'3G\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];1j(k i=0;i<6.H.3y.1D;i++){k 29=6.H.4F[Y][0]+6.H.3y[i]+6.H.4F[Y][1];P[29]=Y==\'3G\'?[6.H.2g(6.2d(O,29)),6.H.2g(m[i])]:[1q(6.2d(O,29)),1q(m[i])]}2s;1M\'3u\':1j(k i=0;i<m.1D;i++){k 4h=1q(m[i]);k 3H=!99(4h)?\'5m\':(!/8y|10|2m|8x|7W|7V|7U|7S|7T|7X|7Y/i.2M(m[i])?\'4t\':C);d(3H){1j(k j=0;j<6.H.3y.1D;j++){29=\'3u\'+6.H.3y[j]+3H;P[29]=3H==\'4t\'?[6.H.2g(6.2d(O,29)),6.H.2g(m[i])]:[1q(6.2d(O,29)),4h]}}G{y[\'83\']=m[i]}}2s}}G{y[Y]=1p}B C};1j(p 26 27){d(p==\'X\'){k 1R=6.4u(27[p]);1j(36 26 1R){u.3M(36,1R[36])}}G d(p==\'1J\'){d(J.48)1j(k i=0;i<J.48.1D;i++){k 2Y=J.48[i].2Y||J.48[i].82||1a;d(2Y){1j(k j=0;j<2Y.1D;j++){d(2Y[j].81==\'.\'+27[p]){k 2Q=2u 7Z(\'\\.\'+27[p]+\' {\');k 24=2Y[j].X.80;k 1R=6.4u(24.28(2Q,\'\').28(/}/g,\'\'));1j(36 26 1R){u.3M(36,1R[36])}}}}}}G{u.3M(p,27[p])}}y.11=30==\'10\'?\'2t\':30;y.3v=\'2m\';z.1F=A(){k t=(2u 5u()).65();d(t>I.1A+z.3F){60(z.3r);z.3r=1a;1j(p 26 P){d(p=="1d")6.1o(y,"1d",P[p][1]);G d(3b P[p][1]==\'51\')y[p]=\'2F(\'+P[p][1].r+\',\'+P[p][1].g+\',\'+P[p][1].b+\')\';G y[p]=P[p][1]+(p!=\'1v\'&&p!=\'4L\'?\'Z\':\'\')}d(I.1Q||I.1Y)1j(k p 26 O.2c)d(p=="1d")6.1o(y,p,O.2c[p]);G y[p]="";y.11=I.1Q?\'10\':(30!=\'10\'?30:\'2t\');y.3v=67;O.20=1a;d(6.68(I.3U))I.3U.1H(O)}G{k n=t-u.3F;k 3w=n/I.1A;1j(p 26 P){d(3b P[p][1]==\'51\'){y[p]=\'2F(\'+F(6.1h[I.1h](3w,n,P[p][0].r,(P[p][1].r-P[p][0].r),I.1A))+\',\'+F(6.1h[I.1h](3w,n,P[p][0].g,(P[p][1].g-P[p][0].g),I.1A))+\',\'+F(6.1h[I.1h](3w,n,P[p][0].b,(P[p][1].b-P[p][0].b),I.1A))+\')\'}G{k 4O=6.1h[I.1h](3w,n,P[p][0],(P[p][1]-P[p][0]),I.1A);d(p=="1d")6.1o(y,"1d",4O);G y[p]=4O+(p!=\'1v\'&&p!=\'4L\'?\'Z\':\'\')}}}};z.3r=5Y(A(){z.1F()},13);O.20=z},4T:A(O,1F){d(1F)O.20.3F-=7I;G{2n.60(O.20.3r);O.20=1a;6.7H(O,"H")}}});6.4u=A(24){k 1R={};d(3b 24==\'7D\'){24=24.4o().61(\';\');1j(k i=0;i<24.1D;i++){2Q=24[i].61(\':\');d(2Q.1D==2){1R[6.6i(2Q[0].28(/\\-(\\w)/g,A(m,c){B c.7F()}))]=6.6i(2Q[1])}}}B 1R};6.W={2f:1a,33:C,3A:1a,4Q:A(e){6.W.33=17;6.W.1Y(e,u,17)},4R:A(e){d(6.W.2f!=u)B;6.W.33=C;6.W.1Q(e,u)},1Y:A(e,q,33){d(6.W.2f!=1a)B;d(!q){q=u}6.W.2f=q;1u=6.2w(6.V.3z(q),6.V.1P(q));3n=6(q);1W=3n.1o(\'1W\');3I=3n.1o(\'3I\');d(1W){6.W.3A=1W;3n.1o(\'1W\',\'\');6(\'#6d\').4i(1W);d(3I)6(\'#4X\').4i(3I.28(\'7J://\',\'\'));G 6(\'#4X\').4i(\'\');L=6(\'#3q\');d(q.1w.1J){L.1s(0).1J=q.1w.1J}G{L.1s(0).1J=\'\'}4l=6.V.1P(L.1s(0));6h=33&&q.1w.Q==\'56\'?\'2k\':q.1w.Q;6k(6h){1M\'R\':1G=1u.y-4l.1e;1E=1u.x;2s;1M\'S\':1G=1u.y;1E=1u.x-4l.1i;2s;1M\'2y\':1G=1u.y;1E=1u.x+1u.1i;2s;1M\'56\':6(\'1b\').1V(\'2o\',6.W.2o);14=6.V.3p(e);1G=14.y+15;1E=14.x+15;2s;7K:1G=1u.y+1u.1e;1E=1u.x;2s}L.D({R:1G+\'Z\',S:1E+\'Z\'});d(q.1w.3l==C){L.1Y()}G{L.7P(q.1w.3l)}d(q.1w.2C)q.1w.2C.1H(q);3n.1V(\'6m\',6.W.1Q).1V(\'6f\',6.W.4R)}},2o:A(e){d(6.W.2f==1a){6(\'1b\').2x(\'2o\',6.W.2o);B}14=6.V.3p(e);6(\'#3q\').D({R:14.y+15+\'Z\',S:14.x+15+\'Z\'})},1Q:A(e,q){d(!q){q=u}d(6.W.33!=17&&6.W.2f==q){6.W.2f=1a;6(\'#3q\').7O(1);6(q).1o(\'1W\',6.W.3A).2x(\'6m\',6.W.1Q).2x(\'6f\',6.W.4R);d(q.1w.2B)q.1w.2B.1H(q);6.W.3A=1a}},46:A(I){d(!6.W.L){6(\'1b\').3m(\'<1I 3t="3q"><1I 3t="6d"></1I><1I 3t="4X"></1I></1I>\');6(\'#3q\').D({Q:\'1X\',1v:7N,11:\'10\'});6.W.L=17}B u.21(A(){d(6.1o(u,\'1W\')){u.1w={Q:/R|2k|S|2y|56/.2M(I.Q)?I.Q:\'2k\',1J:I.1J?I.1J:C,3l:I.3l?I.3l:C,2C:I.2C&&I.2C.1n==25?I.2C:C,2B:I.2B&&I.2B.1n==25?I.2B:C};k q=6(u);q.1V(\'7L\',6.W.1Y);q.1V(\'4Q\',6.W.4Q)}})}};6.4m.7M=6.W.46;6.E={L:1a,f:1a,66:A(){B u.21(A(){d(u.49){u.7.1C.2x(\'69\',6.E.4z);u.7=1a;u.49=C;d(6.1z.2L){u.4n="84"}G{u.X.86=\'\';u.X.5F=\'\';u.X.5A=\'\'}}})},4z:A(e){d(6.E.f!=1a){6.E.44(e);B C}k 8=u.4a;6(J).1V(\'2o\',6.E.4A).1V(\'5y\',6.E.44);8.7.14=6.V.3p(e);8.7.22=8.7.14;8.7.3J=C;8.7.8p=u!=u.4a;6.E.f=8;d(8.7.2j&&u!=u.4a){4G=6.V.3z(8.1O);4E=6.V.1P(8);4D={x:F(6.D(8,\'S\'))||0,y:F(6.D(8,\'R\'))||0};U=8.7.22.x-4G.x-4E.1i/2-4D.x;T=8.7.22.y-4G.y-4E.1e/2-4D.y;6.4W.8o(8,[U,T])}B 6.8n||C},5N:A(e){k 8=6.E.f;8.7.3J=17;k 3Q=8.X;8.7.3P=6.D(8,\'11\');8.7.3i=6.D(8,\'Q\');d(!8.7.5G)8.7.5G=8.7.3i;8.7.12={x:F(6.D(8,\'S\'))||0,y:F(6.D(8,\'R\'))||0};8.7.3Y=0;8.7.3V=0;d(6.1z.2L){k 4H=6.V.4c(8,17);8.7.3Y=4H.l||0;8.7.3V=4H.t||0}8.7.N=6.2w(6.V.3z(8),6.V.1P(8));d(8.7.3i!=\'3e\'&&8.7.3i!=\'1X\'){3Q.Q=\'3e\'}6.E.L.5x();k 1U=8.8l(17);6(1U).D({11:\'2t\',S:\'1r\',R:\'1r\'});1U.X.2i=\'0\';1U.X.2l=\'0\';1U.X.2b=\'0\';1U.X.2h=\'0\';6.E.L.3m(1U);k 1l=6.E.L.1s(0).X;d(8.7.4q){1l.2H=\'5B\';1l.2G=\'5B\'}G{1l.2G=8.7.N.1e+\'Z\';1l.2H=8.7.N.1i+\'Z\'}1l.11=\'2t\';1l.2i=\'1r\';1l.2l=\'1r\';1l.2b=\'1r\';1l.2h=\'1r\';6.2w(8.7.N,6.V.1P(1U));d(8.7.1g){d(8.7.1g.S){8.7.12.x+=8.7.14.x-8.7.N.x-8.7.1g.S;8.7.N.x=8.7.14.x-8.7.1g.S}d(8.7.1g.R){8.7.12.y+=8.7.14.y-8.7.N.y-8.7.1g.R;8.7.N.y=8.7.14.y-8.7.1g.R}d(8.7.1g.2y){8.7.12.x+=8.7.14.x-8.7.N.x-8.7.N.1e+8.7.1g.2y;8.7.N.x=8.7.14.x-8.7.N.1i+8.7.1g.2y}d(8.7.1g.2k){8.7.12.y+=8.7.14.y-8.7.N.y-8.7.N.1e+8.7.1g.2k;8.7.N.y=8.7.14.y-8.7.N.1e+8.7.1g.2k}}8.7.1E=8.7.12.x;8.7.1G=8.7.12.y;d(8.7.39||8.7.19==\'45\'){3c=6.V.4c(8.1O,17);8.7.N.x=8.4K+(6.1z.2L?0:6.1z.4f?-3c.l:3c.l);8.7.N.y=8.4S+(6.1z.2L?0:6.1z.4f?-3c.t:3c.t);6(8.1O).3m(6.E.L.1s(0))}d(8.7.19){6.E.5v(8);8.7.1T.19=6.E.5O}d(8.7.2j){6.4W.8m(8)}1l.S=8.7.N.x-8.7.3Y+\'Z\';1l.R=8.7.N.y-8.7.3V+\'Z\';1l.2H=8.7.N.1i+\'Z\';1l.2G=8.7.N.1e+\'Z\';6.E.f.7.41=C;d(8.7.2W){8.7.1T.1Z=6.E.5U}d(8.7.1v!=C){6.E.L.D(\'1v\',8.7.1v)}d(8.7.1d){6.E.L.D(\'1d\',8.7.1d);d(2n.3W){6.E.L.D(\'4I\',\'5z(1d=\'+8.7.1d*4C+\')\')}}d(8.7.2U){6.E.L.8q(8.7.2U);6.E.L.1s(0).4J.X.11=\'10\'}d(8.7.2S)8.7.2S.1H(8,[1U,8.7.12.x,8.7.12.y]);d(6.1B&&6.1B.4r>0){6.1B.8r(8)}d(8.7.2V==C){3Q.11=\'10\'}B C},5v:A(8){d(8.7.19.1n==6e){d(8.7.19==\'45\'){8.7.1f=6.2w({x:0,y:0},6.V.1P(8.1O));k 3h=6.V.4c(8.1O,17);8.7.1f.w=8.7.1f.1i-3h.l-3h.r;8.7.1f.h=8.7.1f.1e-3h.t-3h.b}G d(8.7.19==\'J\'){k 4N=6.V.5w();8.7.1f={x:0,y:0,w:4N.w,h:4N.h}}}G d(8.7.19.1n==4w){8.7.1f={x:F(8.7.19[0])||0,y:F(8.7.19[1])||0,w:F(8.7.19[2])||0,h:F(8.7.19[3])||0}}8.7.1f.U=8.7.1f.x-8.7.N.x;8.7.1f.T=8.7.1f.y-8.7.N.y},3S:A(f){d(f.7.39||f.7.19==\'45\'){6(\'1b\',J).3m(6.E.L.1s(0))}6.E.L.5x().1Q().D(\'1d\',1);d(2n.3W){6.E.L.D(\'4I\',\'5z(1d=4C)\')}},44:A(e){6(J).2x(\'2o\',6.E.4A).2x(\'5y\',6.E.44);d(6.E.f==1a){B}k f=6.E.f;6.E.f=1a;d(f.7.3J==C){B C}d(f.7.2O==17){6(f).D(\'Q\',f.7.3i)}k 3Q=f.X;d(f.2j){6.E.L.D(\'5T\',\'5Q\')}d(f.7.2U){6.E.L.8v(f.7.2U)}d(f.7.4x==C){d(f.7.H>0){d(!f.7.18||f.7.18==\'3a\'){k x=2u 6.H(f,{1A:f.7.H},\'S\');x.5I(f.7.12.x,f.7.3o)}d(!f.7.18||f.7.18==\'3g\'){k y=2u 6.H(f,{1A:f.7.H},\'R\');y.5I(f.7.12.y,f.7.3j)}}G{d(!f.7.18||f.7.18==\'3a\')f.X.S=f.7.3o+\'Z\';d(!f.7.18||f.7.18==\'3g\')f.X.R=f.7.3j+\'Z\'}6.E.3S(f);d(f.7.2V==C){6(f).D(\'11\',f.7.3P)}}G d(f.7.H>0){f.7.41=17;k 2A=C;d(6.1B&&6.3O&&f.7.2O){2A=6.V.3z(6.3O.L.1s(0))}6.E.L.5R({S:2A?2A.x:f.7.N.x,R:2A?2A.y:f.7.N.y},f.7.H,A(){f.7.41=C;d(f.7.2V==C){f.X.11=f.7.3P}6.E.3S(f)})}G{6.E.3S(f);d(f.7.2V==C){6(f).D(\'11\',f.7.3P)}}d(6.1B&&6.1B.4r>0){6.1B.8u(f)}d(6.3O&&f.7.2O){6.3O.8s(f)}d(f.7.2r&&(f.7.3o!=f.7.12.x||f.7.3j!=f.7.12.y)){f.7.2r.1H(f,f.7.8t||[0,0,f.7.3o,f.7.3j])}d(f.7.2T)f.7.2T.1H(f);B C},5U:A(x,y,U,T){d(U!=0)U=F((U+(u.7.2W*U/1m.5P(U))/2)/u.7.2W)*u.7.2W;d(T!=0)T=F((T+(u.7.3d*T/1m.5P(T))/2)/u.7.3d)*u.7.3d;B{U:U,T:T,x:0,y:0}},5O:A(x,y,U,T){U=1m.5K(1m.3T(U,u.7.1f.U),u.7.1f.w+u.7.1f.U-u.7.N.1i);T=1m.5K(1m.3T(T,u.7.1f.T),u.7.1f.h+u.7.1f.T-u.7.N.1e);B{U:U,T:T,x:0,y:0}},4A:A(e){d(6.E.f==1a||6.E.f.7.41==17){B}k f=6.E.f;f.7.22=6.V.3p(e);d(f.7.3J==C){5M=1m.8k(1m.5L(f.7.14.x-f.7.22.x,2)+1m.5L(f.7.14.y-f.7.22.y,2));d(5M<f.7.3K){B}G{6.E.5N(e)}}k U=f.7.22.x-f.7.14.x;k T=f.7.22.y-f.7.14.y;1j(k i 26 f.7.1T){k 2e=f.7.1T[i].1H(f,[f.7.12.x+U,f.7.12.y+T,U,T]);d(2e&&2e.1n==8j){U=i!=\'34\'?2e.U:(2e.x-f.7.12.x);T=i!=\'34\'?2e.T:(2e.y-f.7.12.y)}}f.7.1E=f.7.N.x+U-f.7.3Y;f.7.1G=f.7.N.y+T-f.7.3V;d(f.7.2j&&(f.7.2P||f.7.2r)){6.4W.2P(f,f.7.1E,f.7.1G)}d(f.7.35)f.7.35.1H(f,[f.7.12.x+U,f.7.12.y+T]);d(!f.7.18||f.7.18==\'3a\'){f.7.3o=f.7.12.x+U;6.E.L.1s(0).X.S=f.7.1E+\'Z\'}d(!f.7.18||f.7.18==\'3g\'){f.7.3j=f.7.12.y+T;6.E.L.1s(0).X.R=f.7.1G+\'Z\'}d(6.1B&&6.1B.4r>0){6.1B.8b(f)}B C},46:A(o){d(!6.E.L){6(\'1b\',J).3m(\'<1I 3t="5J"></1I>\');6.E.L=6(\'#5J\');k q=6.E.L.1s(0);k 1L=q.X;1L.Q=\'1X\';1L.11=\'10\';1L.5T=\'5Q\';1L.5H=\'10\';1L.3v=\'2m\';d(2n.3W){q.4n="5V"}G{1L.8a=\'10\';1L.5A=\'10\';1L.5F=\'10\'}}d(!o){o={}}B u.21(A(){d(u.49||!6.V)B;d(2n.3W){u.89=A(){B C};u.87=A(){B C}}k q=u;k 1C=o.5D?6(u).88(o.5D):6(u);d(6.1z.2L){1C.21(A(){u.4n="5V"})}G{1C.D(\'-8c-34-3L\',\'10\');1C.D(\'34-3L\',\'10\');1C.D(\'-8d-34-3L\',\'10\')}u.7={1C:1C,4x:o.4x?17:C,2V:o.2V?17:C,2O:o.2O?o.2O:C,2j:o.2j?o.2j:C,39:o.39?o.39:C,1v:o.1v?F(o.1v)||0:C,1d:o.1d?1q(o.1d):C,H:F(o.H)||1a,4y:o.4y?o.4y:C,1T:{},14:{},2S:o.2S&&o.2S.1n==25?o.2S:C,2T:o.2T&&o.2T.1n==25?o.2T:C,2r:o.2r&&o.2r.1n==25?o.2r:C,18:/3g|3a/.2M(o.18)?o.18:C,3K:o.3K?F(o.3K)||0:0,1g:o.1g?o.1g:C,4q:o.4q?17:C,2U:o.2U||C};d(o.1T&&o.1T.1n==25)u.7.1T.34=o.1T;d(o.35&&o.35.1n==25)u.7.35=o.35;d(o.19&&((o.19.1n==6e&&(o.19==\'45\'||o.19==\'J\'))||(o.19.1n==4w&&o.19.1D==4))){u.7.19=o.19}d(o.4s){u.7.4s=o.4s}d(o.1Z){d(3b o.1Z==\'8h\'){u.7.2W=F(o.1Z)||1;u.7.3d=F(o.1Z)||1}G d(o.1Z.1D==2){u.7.2W=F(o.1Z[0])||1;u.7.3d=F(o.1Z[1])||1}}d(o.2P&&o.2P.1n==25){u.7.2P=o.2P}u.49=17;1C.21(A(){u.4a=q});1C.1V(\'69\',6.E.4z)})}};6.4m.2w({8e:6.E.66,8f:6.E.46});',62,586,'||||||jQuery|dragCfg|elm|||||if||dragged|||||var||||||el||||this||||||function|return|false|css|iDrag|parseInt|else|fx|options|document|es|helper|255|oC|elem|props|position|top|left|dy|dx|iUtil|iTooltip|style|tp|px|none|display|oR||pointer||oldStyle|true|axis|containment|null|body|result|opacity|hb|cont|cursorAt|easing|wb|for|wrs|dhs|Math|constructor|attr|vp|parseFloat|0px|get|documentElement|pos|zIndex|tooltipCFG|color|nodeEl|browser|duration|iDrop|dhe|length|nx|step|ny|apply|div|className|visibility|els|case|clientScroll|parentNode|getSize|hide|newStyles|margins|onDragModifier|clonedEl|bind|title|absolute|show|grid|animationHandler|each|currentPointer|old|styles|Function|in|prop|replace|nmp|cs|marginBottom|orig|curCSS|newCoords|current|parseColor|marginLeft|marginTop|si|bottom|marginRight|hidden|window|mousemove|wr|128|onChange|break|block|new|scrollTop|extend|unbind|right|F0|dh|onHide|onShow|139|ih|rgb|height|width|fA|speed|oldVisibility|msie|test|currentStyle|so|onSlide|rule|0x|onStart|onStop|frameClass|ghosting|gx|scrollLeft|cssRules|restoreStyle|oldDisplay|iw|de|focused|user|onDrag|np|toInteger|clientWidth|insideParent|horizontally|typeof|parentBorders|gy|relative|clientHeight|vertically|contBorders|oP|nRy|queue|delay|append|jEl|nRx|getPointer|tooltipHelper|timer|event|id|border|overflow|pr|namedColors|cssSides|getPosition|oldTitle|padding|nodeName|192|margin|startTime|borderColor|sideEnd|href|init|snapDistance|select|getValues|opt|iSort|oD|dEs|while|hidehelper|max|complete|diffY|ActiveXObject|exec|diffX|png|src|prot||callback|dragstop|parent|build||styleSheets|isDraggable|dragElem|self|getBorder|211|oldPosition|opera|windowSize|floatVal|html|169|traverseDOM|helperSize|fn|unselectable|toLowerCase|borderLeftWidth|autoSize|count|fractions|Color|parseStyle|borderTopWidth|Array|revert|hpc|draginit|dragmove|borderWidth|100|sliderPos|sliderSize|cssSidesEnd|parentPos|oldBorder|filter|firstChild|offsetLeft|fontWeight|innerHeight|clnt|pValue|sizes|focus|hidefocused|offsetTop|stopAnim|scrollWidth|offsetHeight|iSlider|tooltipURL|scrollHeight|func||object|pause|oldFloat|innerWidth||mouse|offsetWidth|insertBefore|paddingRight|paddingTop|notColor|styleFloat|paddingLeft|paddingBottom|borderRightWidth|borderBottomWidth|245|delta|firstNum|toggle|colorCssProps|Width|10000|cssProps|fxe|values|linear|wid|144|Date|getContainment|getClient|empty|mouseup|alpha|userSelect|auto|224|handle|140|KhtmlUserSelect|initialPosition|listStyle|custom|dragHelper|min|pow|distance|dragstart|fitToContainer|abs|move|animate|230|cursor|snapToGrid|on|240|images|setInterval|offsetParent|clearInterval|split|165|img|tagName|getTime|destroy|oldOverflow|isFunction|mousedown|getScroll|getMargins|107|tooltipTitle|String|blur|indexOf|filteredPosition|trim|fxCheckTag|switch|emptyGIF|mouseout|fuchsia|215|gold|233|darkgreen|darkgrey|darkcyan|centerEl|darkolivegreen|darkmagenta|183|189|darkkhaki|darkorange|darkorchid|150|122|darkviolet|darkblue|darksalmon|153|204|darkred|148|frame|script|green|header|th|colgroup|frameset|option|removeChild|buildWrapper|destroyWrapper|meta|optgroup|col|tfoot|Microsoft|AlphaImageLoader|DXImageTransform|progid|fixPNG||prototype|tr|thead|caption|tbody|td|float|w_|wrapper|aqua|appendChild|cssFloat|fxWrapper|azure|beige|brown|blue|black|220|ol|dl|input|hr|br|createElement|random|textarea|iframe|ul|table|form|button|cyan|string|pageX|toUpperCase|clientX|dequeue|100000000|http|default|mouseover|ToolTip|3000|fadeOut|fadeIn|pageY|clientY|groove|ridge|double|solid|dashed|inset|outset|RegExp|cssText|selectorText|rules|borderStyle|off||MozUserSelect|ondragstart|find|onselectstart|mozUserSelect|checkhover|moz|khtml|DraggableDestroy|Draggable|getPositionLite|number|getSizeLite|Object|sqrt|cloneNode|modifyContainer|selectKeyHelper|dragmoveBy|fromHandler|addClass|highlight|check|lastSi|checkdrop|removeClass|getPadding|dotted|transparent|olive|orange|navy|maroon|magenta|pink|203|white|yellow|silver|red|purple|lime|lightyellow|173|216|lightblue|khaki|130|lightcyan|lightgreen|182|193|lightpink|lightgrey|238|purgeEvents|nextSibling|Right|Bottom|Top|outlineColor|borderTopColor|Left|stop|match|isNaN|PI|cos|stopAll|borderRightColor|borderLeftColor|maxHeight|maxWidth|lineHeight|letterSpacing|fontSize|minHeight|minWidth|backgroundColor|borderBottomColor|textIndent|outlineWidth|outlineOffset|indigo'.split('|'),0,{}))

/*
 * Form Validation: jQuery form validation plug-in v1.1.1
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 *
 * Copyright (c) 2006 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
 */
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}('8.I(8.2u,{4E:6(c){k b=1t 8.B(c,5[0]);j(b.h.28){5.24("1r.4e:1T").2M(6(){b.1N=x});5.1T(6(a){j(b.h.1H)a.3I();6 1B(){j(b.h.2h){b.h.2h.E(b,b.W);7 Q}7 x}j(b.1N){b.1N=Q;7 1B()}j(b.1d()){7 1B()}1X{b.1a();7 Q}})}7 b},F:6(t){7 5.4b(8.48(5.47(),t))}});8.I(8.45[":"],{42:"!8.1h(a.u)",40:"!!8.1h(a.u)",3Y:"!a.2y"});C.L=6(c,b){j(19.q==1)7 6(){k a=8.2p(19);a.3z(c);7 C.L.3w(5,a)};j(19.q>2&&b.1x!=2v){b=8.2p(19).3n(1)}j(b.1x!=2v){b=[b]}8.1F(b,6(i,n){c=c.27(1t 25("\\\\{"+i+"\\\\}","g"),n)});7 c};8.B=6(b,a){5.h=8.I({},8.B.23,b);5.W=a;5.1p=5.h.1Z;5.31=5.1p.q&&5.1p||8(a);5.1Y=5.h.32.4h(5.h.1Z);5.T={};5.X={};5.13();5.2R()};8.I(8.B,{23:{15:{},K:"1S",1I:"44",1a:x,32:8([]),1Z:8([]),28:x,2L:[],1Q:6(a){j(!5.P(a)&&(a.l N 5.T||!5.p(a))){5.z(a)}},1K:6(a){j(a.l N 5.T||a==5.2E){5.z(a)}},1J:6(a){j(a.l N 5.T)5.z(a)}},3X:6(a){8.I(8.B.23,a)},15:{p:"3W 3T 3S p.",21:"s r a G 21 3K.",2t:"s r a G 3H.",16:"s r a G 16.",2r:"s r a G 16 (3F).",2o:"2n 2l 2i 1R 3u 3s 1R.",1y:"s r a G 1y.",2f:"2n 2l 2i 3q 3o 1R.",1E:"s r 3m 1E",2b:"s r a G 3j 3i.",2a:"s r 2x 3f u 3e.",26:"s r a u 3c a G 3b.",37:C.L("s r a u 35 4y 22 {0} 20."),33:C.L("s r a u 4q 4p 4o {0} 20."),30:C.L("s r a u 2Y {0} 2X {1} 20 4k."),34:C.L("s r a u 2Y {0} 2X {1}."),38:C.L("s r a u 4f 22 2W 2V 2U {0}."),2T:C.L("s r a u 4a 22 2W 2V 2U {0}.")},49:{1d:6(){5.1V();y(k i=0;5.J[i];i++){5.1n(5.J[i])}8.I(5.T,5.S);5.X=8.I({},5.S);5.h.2Q&&5.h.2Q.E(5);5.11();7 5.G()},z:6(a){a=5.1l(a);5.2E=a;5.2P(a);k b=5.1n(a);j(b){46 5.X[a.l]}1X{5.X[a.l]=x}5.11();7 b},11:6(b){j(b){8.I(5.S,b);y(l N b){5.v.F({1j:b[l],z:8("[@l=\'"+l+"\']:43",5.W)[0]})}5.R=8.2J(5.R,6(a){7!(a.l N b)})}5.h.11?5.h.11.E(5,5.S,5.v):5.2I()},1P:6(){j(8.2u.1P)8(5.W).1P();5.1V();5.1O();5.J.1g(5.h.K)},41:6(){k a=0;y(i N 5.X)a++;7 a},1O:6(){5.1M(5.U).1L()},G:6(){7 5.2G()==0},2G:6(){7 5.v.q},1a:6(){j(5.h.1a){2F{8(5.2S()||5.v.q&&5.v[0].z||[]).1m(":3Z").2D()}2C(e){}}},2S:6(){k a=5.2B;7 a&&8.2J(5.v,6(n){7 n.z.l==a.l}).q==1&&a},2R:6(){k a=5;a.1o={};6 2Z(){a.2B=5;j(a.h.3V&&!a.3U){8(5).1g(a.h.K);a.1e(5).1L()}}5.J=8(5.W).24("1r, 1q, 3R").1u(":1T, :13").1u("[@3P]").1u(5.h.2L).1m(6(){!5.l&&a.h.1H&&2w.1b&&1b.1S("%o 3N 35 l 3M",5);j(5.l N a.1o||!a.Z(5).q)7 Q;a.1o[5.l]=a.Z(5);7 x});5.J.2D(2Z);a.h.1Q&&a.J.3L(6(){a.h.1Q.E(a,5)});a.h.1K&&a.J.3J(6(){a.h.1K.E(a,5)});j(a.h.1J){k b=8([]);a.J.1F(6(){j(a.P(5))b.F(a.1v(5))});b.2M(6(){a.h.1J.E(a,5)})}},1l:6(a){7 8(a)[0]},1D:6(){7 8(5.h.1I+"."+5.h.K,5.31)},13:6(a){5.R=[];5.v=[];5.S={};5.V=8([]);5.U=8([])},1V:6(){5.13();5.U=5.1D().F(5.1Y)},2P:6(a){5.13();5.U=5.1e(5.1l(a))},1n:6(c){c=5.1l(c);8(c).1g(5.h.K);k a=5.1o[c.l];y(k i=0;a[i];i++){k b=a[i];2F{k d=8.B.1k[b.14].E(5,8.1h(c.u),c,b.1C);j(d===-1)3G;j(!d){8(c).18(5.h.K);5.2q(b,c);7 Q}}2C(e){5.h.1H&&2w.1b&&1b.1S("3E 3D 3A 3y z "+c.2m+", 1n 2x \'"+b.14+"\' 14");3x e;}}j(a.q&&5.h.Y)5.R.F(c);7 x},2k:6(a,b){k m=5.h.15[a];7 m&&(m.1x==C?m:m[b])},2g:6(a,b){7 5.2k(a.l,b)||a.3v||8.B.15[b]||"<2j>3t: 3B 1j 3C y "+a.l+"</2j>"},2q:6(a,b){k c=5.2g(b,a.14);j(O c=="6")c=c.E(5,a.1C,b);5.v.F({1j:c,z:b});5.S[b.l]=c;5.T[b.l]=c},1M:6(a){j(5.h.1c)a.F(a.3r(5.h.1c));7 a},2I:6(){y(k i=0;5.v[i];i++){k a=5.v[i];5.1w(a.z,a.1j)}j(5.v.q){5.V.F(5.1Y)}y(k i=0;5.R[i];i++){5.1w(5.R[i])}5.U=5.U.1u(5.V);5.1O();5.1M(5.V).2e()},1w:6(a,c){k b=5.1e(a);j(b.q){b.1g().18(5.h.K);j(5.h.3p||b.2d("2s")){b.2c(c)}}1X{b=8("<"+5.h.1I+"/>").2d({"y":5.1G(a),2s:x}).18(5.h.K).2c(c||"");j(5.h.1c){b=b.1L().2e().3l("<"+5.h.1c+">").3O()}j(!5.1p.3k(b).q)5.h.3a?5.h.3a(b,8(a)):b.3Q(a)}j(!c&&5.h.Y){b.2O("");O 5.h.Y=="17"?b.18(5.h.Y):5.h.Y(b)}5.V.F(b)},1e:6(a){7 5.1D().1m("[@y=\'"+5.1G(a)+"\']")},1G:6(a){7 5.P(a)?a.l:a.2m||a.l},Z:6(e){k d=5.1f(e);j(!d)7[];k c=[];j(O d=="17"){k f={};f[d]=x;d=f}8.1F(d,6(b,a){c[c.q]={14:b,1C:a}});7 c},1f:6(a){7 5.h.Z?5.h.Z[a.l]:5.h.29?8(a).1f()[5.h.29]:8(a).1f()},P:6(a){7/3h|3g/i.H(a.2z)},1v:6(a){7 8(a.1d||3d).24(\'[@l="\'+a.l+\'"]\')},12:6(a,b){2A(b.2N.2H()){1i\'1q\':7 8("2K:39",b).q;1i\'1r\':j(5.P(b))7 5.1v(b).1m(\':2y\').q}7 a.q},36:6(b,a){7 5.1U[O b]?5.1U[O b](b,a):x},1U:{"4D":6(b,a){7 b},"17":6(b,a){7!!8(b,a.1d).q},"6":6(b,a){7 b(a)}},p:6(a){7!8.B.1k.p.E(5,8.1h(a.u),a)}},1k:{p:6(b,c,a){j(!5.36(a,c))7-1;2A(c.2N.2H()){1i\'1q\':k d=8("2K:39",c);7 d.q>0&&(c.2z=="1q-4C"||(8.4x.4w&&!(d[0].4v[\'u\'].4u)?d[0].2O:d[0].u).q>0);1i\'1r\':j(5.P(c))7 5.12(b,c)>0;4t:7 b.q>0}},33:6(b,c,a){7 5.p(c)||5.12(b,c)>=a},37:6(b,c,a){7 5.p(c)||5.12(b,c)<=a},30:6(b,d,a){k c=5.12(b,d);7 5.p(d)||(c>=a[0]&&c<=a[1])},2T:6(b,c,a){7 5.p(c)||b>=a},38:6(b,c,a){7 5.p(c)||b<=a},34:6(b,c,a){7 5.p(c)||(b>=a[0]&&b<=a[1])},21:6(a,b){7 5.p(b)||/^[\\w-+\\.]+@([\\w-]+\\.)+[\\w-]{2,}$/i.H(a)},2t:6(a,b){7 5.p(b)||/^(4s?|4r):\\/\\/[A-M-9](\\.?[A-M-1W][A-M-1z\\-1A]*)*(\\/([A-M-1W][A-M-1z\\-\\.1A]*)?)*(\\?([A-M-1W][A-M-1z\\-\\.%\\+=&1A]*)?)?$/i.H(a)},16:6(a,b){7 5.p(b)||!/4n|4m/.H(1t 4l(a))},2r:6(a,b){7 5.p(b)||/^\\d{4}[\\/-]\\d{1,2}[\\/-]\\d{1,2}$/.H(a)},2o:6(a,b){7 5.p(b)||/^\\d\\d?\\.\\d\\d?\\.\\d\\d\\d?\\d?$/.H(a)},1y:6(a,b){7 5.p(b)||/^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)(?:\\.\\d+)?$/.H(a)},2f:6(a,b){7 5.p(b)||/^-?(?:\\d+|\\d{1,3}(?:\\.\\d{3})+)(?:,\\d+)?$/.H(a)},1E:6(a,b){7 5.p(b)||/^\\d+$/.H(a)},2b:6(b,e){j(5.p(e))7 x;k a=0,d=0,1s=Q;b=b.27(/\\D/g,"");y(n=b.q-1;n>=0;n--){k c=b.4j(n);k d=4i(c,10);j(1s){j((d*=2)>9)d-=9}a+=d;1s=!1s}7(a%10)==0},26:6(b,c,a){a=O a=="17"?a:"4g|4z?g|4A";7 5.p(c)||b.4B(1t 25(".("+a+")$"))},2a:6(b,c,a){7 b==8(a).4d()}},4c:6(c,a,b){8.B.1k[c]=a;8.B.15[c]=b}});',62,289,'|||||this|function|return|jQuery|||||||||settings||if|var|name||||required|length|enter|Please||value|errorList||true|for|element||validator|String||call|push|valid|test|extend|elements|errorClass|format|Z0|in|typeof|checkable|false|successList|errorMap|submitted|toHide|toShow|currentForm|invalid|success|rules||showErrors|getLength|reset|method|messages|date|string|addClass|arguments|focusInvalid|console|wrapper|form|errorsFor|data|removeClass|trim|case|message|methods|clean|filter|check|rulesCache|labelContainer|select|input|bEven|new|not|checkableGroup|showLabel|constructor|number|9_|���|handle|parameters|errors|digits|each|idOrName|debug|errorElement|onclick|onkeyup|hide|addWrapper|cancelSubmit|hideErrors|resetForm|onblur|ein|error|submit|dependTypes|prepareForm|9���|else|containers|errorLabelContainer|characters|email|than|defaults|find|RegExp|accept|replace|onsubmit|meta|equalTo|creditcard|html|attr|show|numberDE|defaultMessage|submitHandler|Sie|strong|configuredMessage|geben|id|Bitte|dateDE|makeArray|formatAndAdd|dateISO|generated|url|fn|Array|window|the|checked|type|switch|lastActive|catch|focus|lastElement|try|size|toLowerCase|defaultShowErrors|grep|option|ignore|click|nodeName|text|prepareElement|invalidHandler|refresh|findLastActive|minValue|to|equal|or|and|between|focused|rangeLength|errorContext|errorContainer|minLength|rangeValue|no|depend|maxLength|maxValue|selected|errorPlacement|extension|with|document|again|same|checkbox|radio|card|credit|append|wrap|only|slice|Nummer|overrideErrors|eine|parents|Datum|Warning|g�ltiges|title|apply|throw|checking|unshift|when|No|defined|occured|exception|ISO|break|URL|preventDefault|keyup|address|blur|assigned|has|parent|disabled|insertAfter|textarea|is|field|blockFocusCleanup|focusCleanup|This|setDefaults|unchecked|visible|filled|numberOfInvalids|blank|first|label|expr|delete|get|merge|prototype|greater|setArray|addMethod|val|cancel|less|png|add|parseInt|charAt|long|Date|NaN|Invalid|least|at|of|ftp|https|default|specified|attributes|msie|browser|longer|jpe|gif|match|multiple|boolean|validate'.split('|'),0,{}))

/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-08-17 13:14:11 -0500 (Fri, 17 Aug 2007) $
 * $Rev: 2759 $
 *
 * Version: 1.1.2
 *
 * Requires: jQuery 1.1.3+
 */
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}('(9($){l e=$.1q.C,r=$.1q.r;$.1q.M({C:9(){3(!1[0])f();3(1[0]==p)3($.7.O||($.7.E&&U($.7.13)>11))6 n.19-(($(5).C()>n.19)?i():0);k 3($.7.E)6 n.19;k 6 $.I&&5.P.1E||5.o.1E;3(1[0]==5)6 1C.1y(($.I&&5.P.1w||5.o.1w),5.o.1u);6 e.1T(1,1P)},r:9(){3(!1[0])f();3(1[0]==p)3($.7.O||($.7.E&&U($.7.13)>11))6 n.1b-(($(5).r()>n.1b)?i():0);k 3($.7.E)6 n.1b;k 6 $.I&&5.P.1N||5.o.1N;3(1[0]==5)3($.7.1M){l a=n.1p;n.1a(27,n.1o);l b=n.1p;n.1a(a,n.1o);6 5.o.1c+b}k 6 1C.1y((($.I&&!$.7.E)&&5.P.1L||5.o.1L),5.o.1c);6 r.1T(1,1P)},19:9(){3(!1[0])f();6 1[0]==p||1[0]==5?1.C():1.14(\':N\')?1[0].1u-h(1,\'q\')-h(1,\'1I\'):1.C()+h(1,\'1h\')+h(1,\'1H\')},1b:9(){3(!1[0])f();6 1[0]==p||1[0]==5?1.r():1.14(\':N\')?1[0].1c-h(1,\'s\')-h(1,\'1F\'):1.r()+h(1,\'1v\')+h(1,\'1D\')},21:9(a){3(!1[0])f();a=$.M({A:w},a||{});6 1[0]==p||1[0]==5?1.C():1.14(\':N\')?1[0].1u+(a.A?(h(1,\'L\')+h(1,\'1x\')):0):1.C()+h(1,\'q\')+h(1,\'1I\')+h(1,\'1h\')+h(1,\'1H\')+(a.A?(h(1,\'L\')+h(1,\'1x\')):0)},1Y:9(a){3(!1[0])f();a=$.M({A:w},a||{});6 1[0]==p||1[0]==5?1.r():1.14(\':N\')?1[0].1c+(a.A?(h(1,\'K\')+h(1,\'1U\')):0):1.r()+h(1,\'s\')+h(1,\'1F\')+h(1,\'1v\')+h(1,\'1D\')+(a.A?(h(1,\'K\')+h(1,\'1U\')):0)},m:9(a){3(!1[0])f();3(a!=1S)6 1.1Q(9(){3(1==p||1==5)p.1a(a,$(p).u());k 1.m=a});3(1[0]==p||1[0]==5)6 n.1p||$.I&&5.P.m||5.o.m;6 1[0].m},u:9(a){3(!1[0])f();3(a!=1S)6 1.1Q(9(){3(1==p||1==5)p.1a($(p).m(),a);k 1.u=a});3(1[0]==p||1[0]==5)6 n.1o||$.I&&5.P.u||5.o.u;6 1[0].u},12:9(a){6 1.1O({A:w,J:w,v:1.z()},a)},1O:9(b,c){3(!1[0])f();l x=0,y=0,H=0,G=0,8=1[0],4=1[0],T,10,Z=$.D(8,\'12\'),F=$.7.1M,S=$.7.26,18=$.7.O,1n=$.7.E,R=$.7.E&&U($.7.13)>11,1m=w,1l=w,b=$.M({A:Q,15:w,1k:w,J:Q,1K:w,v:5.o},b||{});3(b.1K)6 1.1J(b,c);3(b.v.1j)b.v=b.v[0];3(8.B==\'Y\'){x=8.V;y=8.X;3(F){x+=h(8,\'K\')+(h(8,\'s\')*2);y+=h(8,\'L\')+(h(8,\'q\')*2)}k 3(18){x+=h(8,\'K\');y+=h(8,\'L\')}k 3((S&&1g.I)){x+=h(8,\'s\');y+=h(8,\'q\')}k 3(R){x+=h(8,\'K\')+h(8,\'s\');y+=h(8,\'L\')+h(8,\'q\')}}k{17{10=$.D(4,\'12\');x+=4.V;y+=4.X;3((F&&!4.B.1G(/^t[d|h]$/i))||S||R){x+=h(4,\'s\');y+=h(4,\'q\');3(F&&10==\'1i\')1m=Q;3(S&&10==\'25\')1l=Q}T=4.z||5.o;3(b.J||F){17{3(b.J){H+=4.m;G+=4.u}3(18&&($.D(4,\'24\')||\'\').1G(/23-22|20/)){H=H-((4.m==4.V)?4.m:0);G=G-((4.u==4.X)?4.u:0)}3(F&&4!=8&&$.D(4,\'1e\')!=\'N\'){x+=h(4,\'s\');y+=h(4,\'q\')}4=4.1B}W(4!=T)}4=T;3(4==b.v&&!(4.B==\'Y\'||4.B==\'1d\')){3(F&&4!=8&&$.D(4,\'1e\')!=\'N\'){x+=h(4,\'s\');y+=h(4,\'q\')}3(((1n&&!R)||18)&&10!=\'1r\'){x-=h(T,\'s\');y-=h(T,\'q\')}1A}3(4.B==\'Y\'||4.B==\'1d\'){3(((1n&&!R)||(S&&$.I))&&Z!=\'1i\'&&Z!=\'1z\'){x+=h(4,\'K\');y+=h(4,\'L\')}3(R||(F&&!1m&&Z!=\'1z\')||(S&&Z==\'1r\'&&!1l)){x+=h(4,\'s\');y+=h(4,\'q\')}1A}}W(4)}l a=j(8,b,x,y,H,G);3(c){$.M(c,a);6 1}k{6 a}},1J:9(b,c){3(!1[0])f();l x=0,y=0,H=0,G=0,4=1[0],z,b=$.M({A:Q,15:w,1k:w,J:Q,v:5.o},b||{});3(b.v.1j)b.v=b.v[0];17{x+=4.V;y+=4.X;z=4.z||5.o;3(b.J){17{H+=4.m;G+=4.u;4=4.1B}W(4!=z)}4=z}W(4&&4.B!=\'Y\'&&4.B!=\'1d\'&&4!=b.v);l a=j(1[0],b,x,y,H,G);3(c){$.M(c,a);6 1}k{6 a}},z:9(){3(!1[0])f();l a=1[0].z;W(a&&(a.B!=\'Y\'&&$.D(a,\'12\')==\'1r\'))a=a.z;6 $(a)}});l f=9(){1Z"1X: 1g 1W 14 1V";};l h=9(a,b){6 U($.D(a.1j?a[0]:a,b))||0};l j=9(a,b,x,y,d,c){3(!b.A){x-=h(a,\'K\');y-=h(a,\'L\')}3(b.15&&(($.7.E&&U($.7.13)<11)||$.7.O)){x+=h(a,\'s\');y+=h(a,\'q\')}k 3(!b.15&&!(($.7.E&&U($.7.13)<11)||$.7.O)){x-=h(a,\'s\');y-=h(a,\'q\')}3(b.1k){x+=h(a,\'1v\');y+=h(a,\'1h\')}3(b.J&&(!$.7.O||a.V!=a.m&&a.X!=a.m)){d-=a.m;c-=a.u}6 b.J?{1f:y-c,1t:x-d,u:c,m:d}:{1f:y,1t:x}};l g=0;l i=9(){3(!g){l a=$(\'<1s>\').D({r:16,C:16,1e:\'2d\',12:\'1i\',1f:-1R,1t:-1R}).2c(\'o\');g=16-a.2b(\'<1s>\').2a(\'1s\').D({r:\'16%\',C:29}).r();a.28()}6 g}})(1g);',62,138,'|this||if|parent|document|return|browser|elem|function|||||||||||else|var|scrollLeft|self|body|window|borderTopWidth|width|borderLeftWidth||scrollTop|relativeTo|false|||offsetParent|margin|tagName|height|css|safari|mo|st|sl|boxModel|scroll|marginLeft|marginTop|extend|visible|opera|documentElement|true|sf3|ie|op|parseInt|offsetLeft|while|offsetTop|BODY|elemPos|parPos|520|position|version|is|border|100|do|oa|innerHeight|scrollTo|innerWidth|offsetWidth|HTML|overflow|top|jQuery|paddingTop|absolute|jquery|padding|relparent|absparent|sf|pageYOffset|pageXOffset|fn|static|div|left|offsetHeight|paddingLeft|scrollHeight|marginBottom|max|fixed|break|parentNode|Math|paddingRight|clientHeight|borderRightWidth|match|paddingBottom|borderBottomWidth|offsetLite|lite|scrollWidth|mozilla|clientWidth|offset|arguments|each|1000|undefined|apply|marginRight|empty|collection|Dimensions|outerWidth|throw|inline|outerHeight|row|table|display|relative|msie|99999999|remove|200|find|append|appendTo|auto'.split('|'),0,{}))

/**
 * Jcrop v.0.9.5 (packed)
 * (c) 2008 Kelly Hallman and DeepLiquid.com
 * More information: http://deepliquid.com/content/Jcrop.html
 * Released under MIT License - this header must remain with code
 */

eval(function(p,a,c,k,e,d){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--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[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}('$.1n=7(G,F){d G=G,F=F;g(1p(G)!==\'2d\')G=$(G)[0];g(1p(F)!==\'2d\')F={};g(!(\'2x\'1a F))F.2x=$.3d.3e?K:M;g(!(\'2c\'1a F))F.2c=$.3d.3e?K:M;d 4f={2x:K,3W:\'4C\',1f:4D,3T:\'4Y\',3x:.6,3O:.4,3P:.5,53:5,3N:9,3D:5,51:14,25:0,2c:M,3I:M,3B:M,30:M,3A:M,49:0,4p:0,4k:8,3V:20,3X:3,2f:K,3n:[0,0],2z:[0,0],2O:[0,0],2D:7(){},2G:7(){}};d j=4f;21(F);d $I=$(G).B({16:\'1b\'});47($I,j.49,j.4p);d S=$I.W(),L=$I.U(),$12=$(\'<12 />\').W(S).U(L).1f(1L(\'4F\')).B({16:\'4H\',4B:j.3T});g(j.1f)$12.1f(j.1f);$I.54($12);d $34=$(\'<I />\').3Y(\'2N\',$I.3Y(\'2N\')).B(\'16\',\'1b\').W(S).U(L);d $2C=$(\'<12 />\').W(1t(V)).U(1t(V)).B({1l:59,16:\'1b\',4o:\'4g\'}).1P($34);d $2g=$(\'<12 />\').W(1t(V)).U(1t(V)).B({1l:5b});d $28=$(\'<12 />\').B({16:\'1b\',1l:55}).3U($I).1P($2C,$2g);d 23=j.4k;d $1S=$(\'<12 />\').1f(1L(\'3v\')).W(S+(23*2)).U(L+(23*2)).B({16:\'1b\',R:D(-23),P:D(-23),1l:3R,1z:0}).3q(48);d 1I,1Q;d 2u=2Q(G),1q,1B,3i,58,3h,1O;g(\'36\'1a j){1I=j.36[0]/S;1Q=j.36[1]/L}d E=7(){d A=0,u=0,q=0,m=0,Z,Y;7 1A(z){d z=2T(z);q=A=z[0];m=u=z[1]};7 1y(z){d z=2T(z);Z=z[0]-q;Y=z[1]-m;q=z[0];m=z[1]};7 3f(){k[Z,Y]};7 2b(2y){d Z=2y[0],Y=2y[1];g(0>A+Z)Z-=Z+A;g(0>u+Y)Y-=Y+u;g(L<m+Y)Y+=L-(m+Y);g(S<q+Z)Z+=S-(q+Z);A+=Z;q+=Z;u+=Y;m+=Y};7 2K(T){d c=Q();1E(T){C\'1s\':k[c.q,c.y];C\'11\':k[c.x,c.y];C\'2e\':k[c.q,c.m];C\'1M\':k[c.x,c.m]}};7 Q(){g(!j.25&&!1B)k 3F();d 1k=j.25?j.25:1B,5c=j.2O,4u=j.2z,1V=q-A,1Z=m-u,3c=N.17(1V),3j=N.17(1Z),3M=3c/3j,15,13;g(3M<1k){13=m;w=3j*1k;15=1V<0?A-w:w+A;g(15<0){15=0;h=N.17((15-A)/1k);13=1Z<0?u-h:h+u}1g g(15>S){15=S;h=N.17((15-A)/1k);13=1Z<0?u-h:h+u}}1g{15=q;h=3c/1k;13=1Z<0?u-h:u+h;g(13<0){13=0;w=N.17((13-u)*1k);15=1V<0?A-w:w+A}1g g(13>L){13=L;w=N.17(13-u)*1k;15=1V<0?A-w:w+A}}k 4E=3g(1F(A,u,15,13))};7 2T(p){g(p[0]<0)p[0]=0;g(p[1]<0)p[1]=0;g(p[0]>S)p[0]=S;g(p[1]>L)p[1]=L;k[p[0],p[1]]};7 1F(A,u,q,m){d 2R=A,3r=q,3o=u,3l=m;g(q<A){2R=q;3r=A}g(m<u){3o=m;3l=u}k[N.1K(2R),N.1K(3o),N.1K(3r),N.1K(3l)]};7 3F(){d 1U=q-A;d 22=m-u;g(2q&&(N.17(1U)>2q))q=(1U>0)?(A+2q):(A-2q);g(2n&&(N.17(22)>2n))m=(22>0)?(u+2n):(u-2n);g(2i&&(N.17(22)<2i))m=(22>0)?(u+2i):(u-2i);g(2m&&(N.17(1U)<2m))q=(1U>0)?(A+2m):(A-2m);g(A<0){q-=A;A-=A}g(u<0){m-=u;u-=u}g(q<0){A-=q;q-=q}g(m<0){u-=m;m-=m}g(q>S){d X=q-S;A-=X;q-=X}g(m>L){d X=m-L;u-=X;m-=X}g(A>S){d X=A-L;m-=X;u-=X}g(u>L){d X=u-L;m-=X;u-=X}k 3g(1F(A,u,q,m))};7 3g(a){k{x:a[0],y:a[1],q:a[2],m:a[3],w:a[2]-a[0],h:a[3]-a[1]}};k{1F:1F,1A:1A,1y:1y,3f:3f,2b:2b,2K:2K,Q:Q}}();d J=7(){d 4v,4z,4y,1R,2U=4x;d 2F={};d H={};d 2E=K;d 1i=j.3D;g(j.30){2F={R:1Y(\'3C\').B(\'R\',$.3d.3e?D(-1):D(0)),3Q:1Y(\'3C\'),P:1Y(\'3z\'),3L:1Y(\'3z\')}}g(j.3A){H.t=1W(\'n\');H.b=1W(\'s\');H.r=1W(\'e\');H.l=1W(\'w\')}j.3B&&2Y([\'n\',\'s\',\'e\',\'w\']);j.3I&&2Y([\'1M\',\'11\',\'1s\',\'2e\']);7 1Y(1u){d 1J=$(\'<12 />\').B({16:\'1b\',1z:j.3O}).1f(1L(1u));$2C.1P(1J);k 1J};7 2W(T,3y){d 1J=$(\'<12 />\').3q(3b(T)).B({3p:T+\'-2A\',16:\'1b\',1l:3y});$2g.1P(1J);k 1J};7 3J(T){k 2W(T,2U++).B({R:D(-1i+1),P:D(-1i+1),1z:j.3P}).1f(1L(\'H\'))};7 1W(T){d s=j.3N,o=1i,h=s,w=s,t=o,l=o;1E(T){C\'n\':C\'s\':w=1t(V);O;C\'e\':C\'w\':h=1t(V);O}k 2W(T,2U++).W(w).U(h).B({R:D(-t+1),P:D(-l+1)})};7 2Y(2J){4U(i 1a 2J)H[2J[i]]=3J(2J[i])};7 31(c){d 3a=N.1K((c.h/2)-1i),35=N.1K((c.w/2)-1i),4V=4W=-1i+1,2a=c.w-1i,1X=c.h-1i,x,y;\'e\'1a H&&H.e.B({R:D(3a),P:D(2a)})&&H.w.B({R:D(3a)})&&H.s.B({R:D(1X),P:D(35)})&&H.n.B({P:D(35)});\'1s\'1a H&&H.1s.B({P:D(2a)})&&H.2e.B({R:D(1X),P:D(2a)})&&H.1M.B({R:D(1X)});\'b\'1a H&&H.b.B({R:D(1X)})&&H.r.B({P:D(2a)})};7 3K(x,y){$34.B({R:D(-y),P:D(-x)});$28.B({R:D(y),P:D(x)})};7 2A(w,h){$28.W(w).U(h)};7 3s(){d p=E.Q();E.1A([p.x,p.y]);E.1y([p.q,p.m])};7 2I(){g(1R)k 1e()};7 1e(){d c=E.Q();2A(c.w,c.h);3K(c.x,c.y);j.30&&2F[\'3L\'].B({P:D(c.w-1)})&&2F[\'3Q\'].B({R:D(c.h-1)});2E&&31(c);1R||1w();j.2D(2H(c))};7 1w(){$28.1w();$I.B(\'1z\',j.3x);1R=M};7 1r(){1o();$28.1v();$I.B(\'1z\',1);1R=K};7 1v(){1r();$I.B(\'1z\',1);1R=K};7 2t(){2E=M;31(E.Q());$2g.1w()};7 1o(){2E=K;$2g.1v()};7 2o(v){(3h=v)?1o():2t()};7 1h(){d c=E.Q();2o(K);3s()};1o();$2C.1P($(\'<12 />\').1f(1L(\'3v\')).3q(3b(\'1N\')).B({3p:\'1N\',16:\'1b\',1l:4M,1z:0}));k{2I:2I,1e:1e,1r:1r,1w:1w,1v:1v,2t:2t,1o:1o,2o:2o,1h:1h}}();d 1j=7(){d 2w=7(){},2v=7(){},2L=j.2x;g(!2L){$1S.3k(2B).2S(26).4N(26)}7 4j(){g(2L){$(3t).3k(2B).2S(26)}$1S.B({1l:4G})}7 4i(){g(2L){$(3t).3H(\'3k\',2B).3H(\'2S\',26)}$1S.B({1l:3R})}7 2B(e){2w(2r(e))};7 26(e){e.2j();e.2k();g(1q){1q=K;2v(2r(e));j.2G(2H(E.Q()));4i();2w=7(){};2v=7(){}}k K};7 1G(1N,1h){1q=M;2w=1N;2v=1h;4j();k K};7 1x(t){$1S.B(\'3p\',t)};$I.4s($1S);k{1G:1G,1x:1x}}();d 33=7(){d $24=$(\'<4w 1u="4L" />\').B({16:\'1b\',P:\'-4O\'}).57(43).56(2f).5a(41),$3S=$(\'<12 />\').B({16:\'1b\',4o:\'4g\'}).1P($24);7 2l(){g(j.2c){$24.1w();$24.4Z()}};7 41(e){$24.1v()};7 2f(e){g(!j.2f)k;d 42=1O,1C;1O=e.4Q?M:K;g(42!=1O){g(1O&&1q){1C=E.Q();1B=1C.w/1C.h}1g 1B=0;J.1e()}e.2k();e.2j();k K};7 29(e,x,y){E.2b([x,y]);J.2I();e.2j();e.2k()};7 43(e){g(e.4T)k M;2f(e);d 2h=1O?10:1;1E(e.5d){C 37:29(e,-2h,0);O;C 39:29(e,2h,0);O;C 38:29(e,0,-2h);O;C 40:29(e,0,2h);O;C 27:J.1r();O;C 9:k M}k K};g(j.2c)$3S.3U($I);k{2l:2l}}();7 D(n){k\'\'+1m(n)+\'D\'};7 1t(n){k\'\'+1m(n)+\'%\'};7 1L(44){k j.3W+\'-\'+44};7 2Q(G){d z=$(G).2y();k[z.P,z.R]};7 2r(e){k[(e.4q-2u[0]),(e.4r-2u[1])]};7 46(1u){g(1u!=3i){1j.1x(1u);3i=1u}};7 4a(19,z){2u=2Q(G);1j.1x(19==\'1N\'?19:19+\'-2A\');g(19==\'1N\')k 1j.1G(4e(z),2P);d 1C=E.Q();E.1A(E.2K(4b(19)));1j.1G(45(19,1C),2P)};7 45(19,f){k 7(z){g(!j.25&&!1B)1E(19){C\'e\':z[1]=f.m;O;C\'w\':z[1]=f.m;O;C\'n\':z[0]=f.q;O;C\'s\':z[0]=f.q;O}1g 1E(19){C\'e\':z[1]=f.y+1;O;C\'w\':z[1]=f.y+1;O;C\'n\':z[0]=f.x+1;O;C\'s\':z[0]=f.x+1;O}E.1y(z);J.1e()}};7 4e(z){d 2M=z;33.2l();k 7(z){E.2b([z[0]-2M[0],z[1]-2M[1]]);2M=z;J.1e()}};7 4b(T){1E(T){C\'n\':k\'1M\';C\'s\':k\'11\';C\'e\':k\'11\';C\'w\':k\'1s\';C\'1s\':k\'1M\';C\'11\':k\'2e\';C\'2e\':k\'11\';C\'1M\':k\'1s\'}};7 3b(T){k 7(e){1q=M;4a(T,2r(e));e.2k();e.2j();k K}};7 47($G,w,h){d 11=$G.W(),1H=$G.U();g((11>w)&&w>0){11=w;1H=(w/$G.W())*$G.U()}g((1H>h)&&h>0){1H=h;11=(h/$G.U())*$G.W()}1I=$G.W()/11;1Q=$G.U()/1H;$G.W(11).U(1H)};7 2H(c){k{x:1m(c.x*1I),y:1m(c.y*1Q),q:1m(c.q*1I),m:1m(c.m*1Q),w:1m(c.w*1I),h:1m(c.h*1Q)}};7 2P(z){d c=E.Q();g(c.w>j.3n[0]&&c.h>j.3n[1]){J.2t();J.1h()}1g{J.1r()}1j.1x(\'2X\')};7 48(e){1q=M;2u=2Q(G);J.1r();J.1o();46(\'2X\');E.1A(2r(e));1j.1G(4c,2P);33.2l();e.2k();e.2j();k K};7 4c(z){E.1y(z);J.1e()};7 2Z(a){d A=a[0],u=a[1],q=a[2],m=a[3];g(3h)k;d 2s=E.1F(A,u,q,m);d c=E.Q();d 18=2p=[c.x,c.y,c.q,c.m];d 3w=j.3V;d x=18[0];d y=18[1];d q=18[2];d m=18[3];d 3Z=2s[0]-2p[0];d 4m=2s[1]-2p[1];d 4n=2s[2]-2p[2];d 4l=2s[3]-2p[3];d 1c=0;d 4h=j.3X;J.2o(M);d 3u=7(){k 7(){1c+=(V-1c)/4h;18[0]=x+((1c/V)*3Z);18[1]=y+((1c/V)*4m);18[2]=q+((1c/V)*4n);18[3]=m+((1c/V)*4l);g(1c<V)32();1g J.1h();g(1c>=4K.8)1c=V;1d(18)}}();7 32(){4I.4t(3u,3w)};32()};7 1d(l){E.1A([l[0],l[1]]);E.1y([l[2],l[3]]);J.1e()};7 21(F){g(1p(F)!=\'2d\')F={};j=$.4X(j,F);g(1p(j.2D)!==\'7\')j.2D=7(){};g(1p(j.2G)!==\'7\')j.2G=7(){}};7 3m(){k 2H(E.Q())};7 2V(){k E.Q()};7 3E(F){21(F);g(\'1d\'1a F){1d(F.1d);J.1h()}};g(1p(F)!=\'2d\')F={};g(\'1d\'1a F){1d(F.1d);J.1h()}d 2q=j.2z[0]||0;d 2n=j.2z[1]||0;d 2m=j.2O[0]||0;d 2i=j.2O[1]||0;1j.1x(\'2X\');k{2Z:2Z,1d:1d,21:3E,3m:3m,2V:2V}};$.5e.1n=7(j){7 3G(1D){d 4d=j.4R||1D.2N;d I=4P 4S();d 1D=1D;I.50=7(){$(1D).1v().4A(I);1D.1n=$.1n(I,j)};I.2N=4d};g(1p(j)!==\'2d\')j={};1T.4J(7(){g(\'1n\'1a 1T){g(j==\'52\')k 1T.1n;1g 1T.1n.21(j)}1g 3G(1T)});k 1T};',62,325,'|||||||function||||||var|||if|||options|return||y2||||x2||||y1|||||pos|x1|css|case|px|Coords|opt|obj|handle|img|Selection|false|boundy|true|Math|break|left|getFixed|top|boundx|ord|height|100|width|delta|oy|ox||nw|div|yy||xx|position|abs|animat|mode|in|absolute|pcent|setSelect|update|addClass|else|done|hhs|Tracker|aspect|zIndex|parseInt|Jcrop|disableHandles|typeof|btndown|release|ne|pct|type|hide|show|setCursor|setCurrent|opacity|setPressed|aspectLock|fc|from|switch|flipCoords|activateHandlers|nh|xscale|jq|round|cssClass|sw|move|shift_down|append|yscale|awake|trk|this|xsize|rw|insertDragbar|south|insertBorder|rh||setOptions|ysize|bound|keymgr|aspectRatio|trackUp||sel|doNudge|east|moveOffset|keySupport|object|se|watchShift|hdl_holder|nudge|ymin|preventDefault|stopPropagation|watchKeys|xmin|ylimit|animMode|initcr|xlimit|mouseAbs|animto|enableHandles|docOffset|onDone|onMove|trackDocument|offset|maxSize|resize|trackMove|img_holder|onChange|seehandles|borders|onSelect|unscale|updateVisible|li|getCorner|trackDoc|lloc|src|minSize|doneSelect|getPos|xa|mouseup|rebound|hdep|tellScaled|dragDiv|crosshair|createHandles|animateTo|drawBorders|moveHandles|animateStart|KeyManager|img2|midhoriz|trueSize||||midvert|createDragger|rwa|browser|msie|getOffset|makeObj|animating|lastcurs|rha|mousemove|yb|tellSelect|minSelect|ya|cursor|mousedown|xb|refresh|document|animator|tracker|interv|bgOpacity|zi|vline|dragEdges|sideHandles|hline|handleOffset|setOptionsNew|getRect|attachWhenDone|unbind|cornerHandles|insertHandle|moveto|right|real_ratio|handleSize|borderOpacity|handleOpacity|bottom|290|keywrap|bgColor|insertBefore|animationDelay|baseClass|swingSpeed|attr|ix1||onBlur|init_shift|parseKey|cl|dragmodeHandler|myCursor|presize|newSelection|boxWidth|startDragMode|oppLockCorner|selectDrag|loadsrc|createMover|defaults|hidden|velocity|toBack|toFront|boundary|iy2|iy1|ix2|overflow|boxHeight|pageX|pageY|before|setTimeout|max|start|input|370|dragmode|end|after|backgroundColor|jcrop|null|last|holder|450|relative|window|each|99|radio|360|mouseout|30px|new|shiftKey|useImg|Image|ctrlKey|for|north|west|extend|black|focus|onload|edgeMargin|api|handlePad|wrap|300|keyup|keydown|dimmed|310|blur|320|min|keyCode|fn'.split('|'),0,{}))

/**
 * Interface Elements for jQuery
 * Tooltip
 *
 * http://interface.eyecon.ro
 *
 * Copyright (c) 2006 Stefan Petre
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 *
 */

/**
 * Creates tooltips using title attribute
 *
 *
 *
 * @name ToolTip
 * @description Creates tooltips using title attribute
 * @param Hash hash A hash of parameters
 * @option String position tooltip's position ['top'|'left'|'right'|'bottom'|'mouse']
 * @options Function onShow (optional) A function to be executed whenever the tooltip is displayed
 * @options Function onHide (optional) A function to be executed whenever the tooltip is hidden
 *
 * @type jQuery
 * @cat Plugins/Interface
 * @author Stefan Petre
 */
jQuery.iTooltip = {
	current : null,
	focused : false,
	oldTitle : null,
	focus : function(e)
	{
		jQuery.iTooltip.focused = true;
		jQuery.iTooltip.show(e, this, true);
	},
	hidefocused : function(e)
	{
		if (jQuery.iTooltip.current != this)
			return ;
		jQuery.iTooltip.focused = false;
		jQuery.iTooltip.hide(e, this);
	},
	show : function(e, el, focused)
	{
		if (jQuery.iTooltip.current != null)
			return ;
		if (!el) {
			el = this;
		}

		jQuery.iTooltip.current = el;
		pos = jQuery.extend(
			jQuery.iUtil.getPosition(el),
			jQuery.iUtil.getSize(el)
		);
		jEl = jQuery(el);
		title = jEl.attr('title');
		href = jEl.attr('href');
		if (title) {
			jQuery.iTooltip.oldTitle = title;
			jEl.attr('title','');
			jQuery('#tooltipTitle').html(title);
			if (href)
				jQuery('#tooltipURL').html(href.replace('http://', ''));
			else
				jQuery('#tooltipURL').html('');
			helper = jQuery('#tooltipHelper');
			if(el.tooltipCFG.className){
				helper.get(0).className = el.tooltipCFG.className;
			} else {
				helper.get(0).className = '';
			}
			helperSize = jQuery.iUtil.getSize(helper.get(0));
			filteredPosition = focused && el.tooltipCFG.position == 'mouse' ? 'bottom' : el.tooltipCFG.position;

			// WSP-1595 : Megah4xx0r3d
			left_distance = ( document.body.clientWidth > 1024 ) ? "15%" : "10%";
			if( jQuery('#prg_description').hasClass('description_l') )
			{
				left_distance = ( document.body.clientWidth > 1024 ) ? "15%" : "10%";
			}
			else
			{
				left_distance = ( document.body.clientWidth > 1024 ) ? "45%" : "50%";
			}

			//alert( "distance: " + left_distance + "(width)" + document.body.clientWidth );


			switch (filteredPosition) {
				case 'top':
					ny = pos.y - helperSize.hb;
					nx = pos.x;
				break;
				case 'left' :
					ny = pos.y;
					nx = pos.x - helperSize.wb;
				break;
				case 'right' :
					ny = pos.y;
					nx = pos.x + pos.wb;
				break;
				case 'mouse' :
					jQuery('body').bind('mousemove', jQuery.iTooltip.mousemove);
					pointer = jQuery.iUtil.getPointer(e);
					ny = pointer.y + 15;
					nx = pointer.x + 15;
				break;
				default :
					ny = pos.y + pos.hb;
					nx = pos.x;
				break;
			}
			helper.css(
				{
					top 	: ny + 'px',
					//left	: nx + 'px'
					// WSP-1595 : Megah4xx0r3d again!
					left	: left_distance
				}
			);
			if (el.tooltipCFG.delay == false) {
				helper.show();
			} else {
				helper.fadeIn(el.tooltipCFG.delay);
			}
			if (el.tooltipCFG.onShow)
				el.tooltipCFG.onShow.apply(el);
			jEl.bind('mouseout',jQuery.iTooltip.hide)
				 .bind('blur',jQuery.iTooltip.hidefocused);
		}
	},
	mousemove : function(e)
	{
		if (jQuery.iTooltip.current == null) {
			jQuery('body').unbind('mousemove', jQuery.iTooltip.mousemove);
			return;
		}
		pointer = jQuery.iUtil.getPointer(e);
		jQuery('#tooltipHelper').css(
			{
				top 	: pointer.y + 15 + 'px',
				left	: pointer.x + 15 + 'px'
			}
		);
	},
	hide : function(e, el)
	{
		if (!el) {
			el = this;
		}
		if (jQuery.iTooltip.focused != true && jQuery.iTooltip.current == el) {
			jQuery.iTooltip.current = null;
			jQuery('#tooltipHelper').fadeOut(1);
			jQuery(el)
				.attr('title',jQuery.iTooltip.oldTitle)
				.unbind('mouseout', jQuery.iTooltip.hide)
				.unbind('blur', jQuery.iTooltip.hidefocused);
			if (el.tooltipCFG.onHide)
				el.tooltipCFG.onHide.apply(el);
			jQuery.iTooltip.oldTitle = null;
		}
	},
	build : function(options)
	{
		if (!jQuery.iTooltip.helper)
		{
			jQuery('body').append('<div id="tooltipHelper"><div id="tooltipTitle"></div><div id="tooltipURL"></div></div>');
			jQuery('#tooltipHelper').css(
				{
					position:	'absolute',
					zIndex:		3000,
					display: 	'none'
				}
			);
			jQuery.iTooltip.helper = true;
		}
		return this.each(
			function(){
				if(jQuery.attr(this,'title')) {
					this.tooltipCFG = {
						position	: /top|bottom|left|right|mouse/.test(options.position) ? options.position : 'bottom',
						className	: options.className ? options.className : false,
						delay		: options.delay ? options.delay : false,
						onShow		: options.onShow && options.onShow.constructor == Function ? options.onShow : false,
						onHide		: options.onHide && options.onHide.constructor == Function ? options.onHide : false
					};
					var el = jQuery(this);
					el.bind('mouseover',jQuery.iTooltip.show);
					el.bind('focus',jQuery.iTooltip.focus);
				}
			}
		);
	}
};


jQuery.fn.ToolTip = jQuery.iTooltip.build;


// Popupwindow plugin (http://rip747.wordpress.com/2007/03/02/the-return-of-popupwindow-jquery-plugin/).
jQuery.fn.popup = function(p)
{
	var profiles = p || {};

	return this.each(function(index){

		if ( $(this).attr("class").split(" ").length > 1 ) {
			var setting, parameters, mysettings, b, a;

			link_classes = $(this).attr("class").split(" ");

			var n = 0;
			var mysettings = new Array();

			for (var i = 0; i < link_classes.length; i++)
			{
				if ( link_classes[i] == "scroll" )
				{
					mysettings[n] = "scrollbars:1";
					n++;
				}
				else if ( link_classes[i] == "resizable" )
				{
					mysettings[n] = "resizable:1";
					n++;
				}
				else if ( link_classes[i].search(/^[0-9]+x[0-9]+$/) == 0 )
				{
					popup_size = link_classes[i].split('x');
					mysettings[n] = "width:"+popup_size[0];
					n++;
					mysettings[n] = "height:"+popup_size[1];
					n++;
				}
			}

			settings = {
				height:120, // sets the height in pixels of the window.
				width:350, // sets the width in pixels of the window.
				toolbar:0, // determines whether a toolbar (includes the forward and back buttons) is displayed {1 (YES) or 0 (NO)}.
				scrollbars:0, // determines whether scrollbars appear on the window {1 (YES) or 0 (NO)}.
				status:0, // whether a status line appears at the bottom of the window {1 (YES) or 0 (NO)}.
				resizable:0, // whether the window can be resized {1 (YES) or 0 (NO)}. Can also be overloaded using resizable.
				left:( screen.width - popup_size[0] ) / 2, // left position when the window appears.
				top:0 // top position when the window appears.
			};

			// if mysettings length is 1 and not a value pair then assume it is a profile declaration
			// and see if the profile settings exists

			if(mysettings.length == 1 && mysettings[0].split(":").length == 1)
			{
				a = mysettings[0];
				// see if a profile has been defined
				if(typeof profiles[a] != "undefined")
				{
					settings = $.extend(settings, profiles[a]);
				}
			}
			else
			{
				// overrides the settings with parameter passed in using the rel tag.
				for(var i=0; i < mysettings.length; i++)
				{
					b = mysettings[i].split(":");
					if(typeof settings[b[0]] != "undefined" && b.length == 2)
					{
						settings[b[0]] = b[1];
					}
				}
			}

			parameters = "height=" + settings.height + ",width=" + settings.width + ",toolbar=" + settings.toolbar + ",scrollbars=" + settings.scrollbars  + ",status=" + settings.status + ",resizable=" + settings.resizable + ",left=" + settings.left  + ",screenX=" + settings.left + ",top=" + settings.top  + ",screenY=" + settings.top;

			$(this).click(function(){
				var name = "PopUpWindow" + index;
				window.open(this.href, name, parameters).focus();
				return false;
			});
		} else {
			return false;
		};
	});

};



//	Base64 encode / decode (http://www.webtoolkit.info/)
var Base64 = {
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;

		input = Base64._utf8_encode(input);

		while (i < input.length) {

			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);

			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;

			if (isNaN(chr2)) {
				enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4 = 64;
			}

			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
		}
		return output;
	},

	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;

		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

		while (i < input.length) {
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));

			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;

			output = output + String.fromCharCode(chr1);

			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
		}

		output = Base64._utf8_decode(output);
		return output;
	},

	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}
		return utftext;
	},

	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {
			c = utftext.charCodeAt(i);
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
		}
		return string;
	}
}
// ----------------------------------------------------------------------------------
// mail_antispam - the mail link in the XHTML must be like this one: <a class="mail_antispam mail lang(fr, en, de, com)" href="#">Mail</a>
function mail_antispam() {
	$("a.mail_antispam").each( function() {
		total_mail = $(this).attr("class");
		mail_array = total_mail.split(" ");
		mail = mail_array[1]+"@softonic.";
		if (mail_array[2] == undefined){
			lang = "com";
			}else{
			lang = mail_array[2];
		}
		if (mail_array[3] == undefined){
			subject = "";
			}else{
			subject = "?subject=" + mail_array[3];
		}
		$(this).text(mail+lang);
		$(this).attr( "href", "mailto:"+mail+lang+subject);
		$(this).attr( "title", mail+lang );
	});
}

// AWARDS 2009
function vote_percent() {
	$("div.current_percent").each( function() {
		percent = $(this).attr("title");
		$(this).width(parseInt(percent)+"%");
	});
}

function awards_check() {
	$("#send_btn").bind('click',function(){
		if ( !$('#terms_accept').is(':checked')) {
			$("#terms_box").addClass("error");
			return false;
		}
	}
	);
	return false;
}

function show_div() {
	$(".message_invite").show();
}
function hide_div() {
	$(".message_invite").hide();
}
function info_invite() {
	$(".info_invite").click(show_div)
	$(".info_invite").bind("blur", hide_div)
}
function avatar_gallery_show() {
	$(".show_avatar").click( function(){
		$(".team_image").hide();
		$("#avatar_gallery").show();
	});
}

// ----------------------------------------------------------------------------------

// Show help box for a input field

jQuery.fn.toggleTip = function(element) {
	var elem = element || 'div';
	var msg = $(this).attr("title") || 'Message not defined';
	var labelid = $(this).attr("id") ;
	var term = $(this).parents('li:first').find("label[@for="+labelid+"]").html();

	return this.each(function(){
		$(this).focus(function(){
			if ($(this).parents('li').find('div.fieldset').size()>0){
				$(this).parents('li').find('div.fieldset').append('<'+elem+' class="msg_info"><strong>'+ term + '</strong>'+msg+'</'+elem+'>');
			}else{
				$(this).parent().find('input,select,textarea').after('<'+elem+' class="msg_info"><strong>'+ term + '</strong>'+msg+'</'+elem+'>');
			}
		});
		$(this).blur(function(){
			$(this).parents('li').find(elem+'.msg_info').remove();
		});
	});
};

// autocomplete plugin
jQuery.autocomplete = function(input, options) {
	// Create a link to self
	var me = this;

	var show_res = true;

	var txt = '';
	// Create jQuery object for input element
	var $input = $(input).attr("autocomplete", "off");

	// Apply inputClass if necessary
	if (options.inputClass) $input.addClass(options.inputClass);

	// Create results
	var results = document.createElement("div");
	// Create jQuery object for results
	var $results = $(results);
	$results.hide().addClass(options.resultsClass).css("position", "absolute");
	if( options.width > 0 ) $results.css("width", options.width);

	// Add to body element
	$("body").append(results);

	input.autocompleter = me;

	var timeout = null;
	var prev = "";
	var active = -1;
	var cache = {};
	var keyb = false;
	var hasFocus = false;
	var lastKeyPressCode = null;

	// flush cache
	function flushCache(){
		cache = {};
		cache.data = {};
		cache.length = 0;
	};

	// flush cache
	flushCache();

	// if there is a data array supplied
	if( options.data != null ){
		var sFirstChar = "", stMatchSets = {}, row = [];

		// no url was specified, we need to adjust the cache length to make sure it fits the local data store
		if( typeof options.url != "string" ) options.cacheLength = 1;

		// loop through the array and create a lookup structure
		for( var i=0; i < options.data.length; i++ ){
			// if row is a string, make an array otherwise just reference the array
			row = ((typeof options.data[i] == "string") ? [options.data[i]] : options.data[i]);

			// if the length is zero, don't add to list
			if( row[0].length > 0 ){
				// get the first character
				sFirstChar = row[0].substring(0, 1).toLowerCase();
				// if no lookup array for this character exists, look it up now
				if( !stMatchSets[sFirstChar] ) stMatchSets[sFirstChar] = [];
				// if the match is a string
				stMatchSets[sFirstChar].push(row);
			}
		}

		// add the data items to the cache
		for( var k in stMatchSets ){
			// increase the cache size
			options.cacheLength++;
			// add to the cache
			addToCache(k, stMatchSets[k]);
		}
	}

	$input
	.keydown(function(e) {
		if($input.val() == ''){
			show_res = true;
		}
		if(!show_res){
			return;
		}
		// track last key pressed
		lastKeyPressCode = e.keyCode;
		switch(e.keyCode) {
			case 38: // up
				e.preventDefault();
				moveSelect(-1);
				break;
			case 40: // down
				e.preventDefault();
				moveSelect(1);
				break;
			case 27:
				$input.val(prev);
				$input.focus();
				hideResults();
				show_res = false;
				break;
			case 9:  // tab
			case 13: // return
				if( selectCurrent() ){
					// make sure to blur off the current field
					$input.get(0).blur();
					e.preventDefault();
				}
				break;
			default:
				active = -1;
				if (timeout) clearTimeout(timeout);
				timeout = setTimeout(function(){onChange();}, options.delay);
				break;
		}
	})
	.focus(function(){
		// track whether the field has focus, we shouldn't process any results if the field no longer has focus
		hasFocus = true;
	})
	.blur(function() {
		// track whether the field has focus
		hasFocus = false;
		hideResults();
	});

	hideResultsNow();

	function onChange() {
		// ignore if the following keys are pressed: [del] [shift] [capslock]
		if( lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32) ) return $results.hide();
		var v = $input.val();
		if (v == prev) return;
		prev = v;
		if (v.length >= options.minChars) {
			$input.addClass(options.loadingClass);
			requestData(v);
		} else {
			$input.removeClass(options.loadingClass);
			$results.hide();
		}
	};

	function moveSelect(step) {

		var lis = $("li", results);
		if (!lis) return;

		active += step;

		if (active < 0) {
			active = 0;
		} else if (active >= lis.size()) {
			active = lis.size() - 1;
		}

		lis.removeClass("ac_over");

		$(lis[active]).addClass("ac_over");

		// Weird behaviour in IE
		// if (lis[active] && lis[active].scrollIntoView) {
		// 	lis[active].scrollIntoView(false);
		// }

	};

	function selectCurrent() {
		var li = $("li.ac_over", results)[0];
		if (!li) {
			var $li = $("li", results);
			if (options.selectOnly) {
				if ($li.length == 1) li = $li[0];
			} else if (options.selectFirst) {
				li = $li[0];
			}
		}
		if (li) {
			selectItem(li);
			return true;
		} else {
			return false;
		}
	};

	function selectItem(li) {
		if (!li) {
			li = document.createElement("li");
			li.extra = [];
			li.selectValue = "";
		}
		var v = $.trim(li.selectValue ? li.selectValue : li.innerHTML);
		input.lastSelected = v;
		prev = v;
		$results.html("");
		$input.val(v);
		hideResultsNow();
		if (options.onItemSelect) setTimeout(function() { options.onItemSelect(li) }, 1);
	};

	// selects a portion of the input string
	function createSelection(start, end){
		// get a reference to the input element
		var field = $input.get(0);
		if( field.createTextRange ){
			var selRange = field.createTextRange();
			selRange.collapse(true);
			selRange.moveStart("character", start);
			selRange.moveEnd("character", end);
			selRange.select();
		} else if( field.setSelectionRange ){
			field.setSelectionRange(start, end);
		} else {
			if( field.selectionStart ){
				field.selectionStart = start;
				field.selectionEnd = end;
			}
		}
		field.focus();
	};

	// fills in the input box w/the first match (assumed to be the best match)
	function autoFill(sValue){
		// if the last user key pressed was backspace, don't autofill
		if( lastKeyPressCode != 8 ){
			// fill in the value (keep the case the user has typed)
			$input.val($input.val() + sValue.substring(prev.length));
			// select the portion of the value not typed by the user (so the next character will erase)
			createSelection(prev.length, sValue.length);
		}
	};

	function showResults() {
		if(!show_res || options.hide){
			return;
		}
		// get the position of the input field right now (in case the DOM is shifted)
		var pos = findPos(input);
		// either use the specified width, or autocalculate based on form element
		var iWidth = (options.width > 0) ? options.width : $input.width();

		var lo = document.createElement("div");
		lo.innerHTML = 'close [X]';
		$(lo).addClass("ac_close");
		$(lo).click(function(e) {
			e.preventDefault();
			e.stopPropagation();
			$input.val(prev);
			$input.focus();
			hideResults();
			show_res = false;
		});
		results.appendChild(lo);


		// reposition
		$results.css({
			width: parseInt(iWidth+4) + "px",
			top: (pos.y + input.offsetHeight) + "px",
			left: pos.x + "px"
		}).show();
	};

	function hideResults() {
		if (timeout) clearTimeout(timeout);
		timeout = setTimeout(hideResultsNow, 200);
	};

	function hideResultsNow() {
		if (timeout) clearTimeout(timeout);
		$input.removeClass(options.loadingClass);
		if ($results.is(":visible")) {
			$results.hide();
		}
		if (options.mustMatch) {
			var v = $input.val();
			if (v != input.lastSelected) {
				selectItem(null);
			}
		}
	};

	function receiveData(q, data) {
		if (data) {
			$input.removeClass(options.loadingClass);
			results.innerHTML = "";

			// if the field no longer has focus or if there are no matches, do not display the drop down
			if( !hasFocus || data.length == 0 ) return hideResultsNow();

			if ($.browser.msie) {
				// we put a styled iframe behind the calendar so HTML SELECT elements don't show through
				$results.append(document.createElement('iframe'));
			}
			//txt = $input.val();
			results.appendChild(dataToDom(data));

			// autofill in the complete box w/the first match as long as the user hasn't entered in more data
			if( options.autoFill && ($input.val().toLowerCase() == q.toLowerCase()) ) autoFill(data[0][0]);
			showResults();
		} else {
			hideResultsNow();
		}
	};

	function parseData(data) {
		if (!data) return null;

		var parsed = [];
		if(options.json){
			var resp = eval( "(" + data + ")" );
			var rows = resp['response'];

			$('#ajax_debug').append( resp['debug'] );

			for (var i=0; i < rows.length; i++) {
				var row = $.trim(rows[i]);
				if (row) {
					parsed[parsed.length] = [row,i];
				}
			}
		}else{
			var rows = data.split(options.lineSeparator);
			for (var i=0; i < rows.length; i++) {
				var row = $.trim(rows[i]);
				if (row) {
					parsed[parsed.length] = row.split(options.cellSeparator);
				}
			}
		}
		return parsed;
	};

	function dataToDom(data) {
		var ul = document.createElement("ul");
		var num = data.length;

		// limited results to a max number
		//if( (options.maxItemsToShow > 0) && (options.maxItemsToShow < num) ) num = options.maxItemsToShow;
		if( (options.maxItemsToShow > 0) ) {
			var maxitems = options.maxItemsToShow;
		} else {
			var maxitems = num;
		}
		var v = $input.val();
		if (!options.matchCase){
			v = v.toLowerCase();
		}
		options.hide = true;

		for (var i=0; i < maxitems; i++) {
			var row = data[i];
			if(!row){
				break;
			}
			var cmpst = (row.length > 0) ? row[0] : row;
			if ( cmpst.substring(0,v.length) != v )
			{
				maxitems++;
				continue;
			}
			var li = document.createElement("li");
			options.hide = false;
			if (options.formatItem) {
				li.innerHTML = options.formatItem(row, i, num);
				li.selectValue = row[0];
			} else {
				li.innerHTML = row[0];
				li.selectValue = row[0];
			}
			var extra = null;
			if (row.length > 1) {
				extra = [];
				for (var j=1; j < row.length; j++) {
					extra[extra.length] = row[j];
				}
			}
			li.extra = extra;
			ul.appendChild(li);
			$(li).hover(
				function() { $("li", ul).removeClass("ac_over"); $(this).addClass("ac_over"); active = $("li", ul).indexOf($(this).get(0)); },
				function() { $(this).removeClass("ac_over"); }
			).click(function(e) { e.preventDefault(); e.stopPropagation(); selectItem(this); });
		}
		return ul;
	};

	function requestData(q) {
		if (!options.matchCase) q = q.toLowerCase();
		var data = options.cacheLength ? loadFromCache(q) : null;
		// recieve the cached data
		if (data) {
			receiveData(q, data);
		// if an AJAX url has been supplied, try loading the data now
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
			$.get(makeUrl(q), function(data) {
				data = parseData(data);
				addToCache(q, data);
				receiveData(q, data);
			});
		// if there's been no data found, remove the loading class
		} else {
			$input.removeClass(options.loadingClass);
		}
	};

	function makeUrl(q) {
		var url = options.url + "/" + encodeURI(q.substring(0,2));
		for (var i in options.extraParams) {
			url += "/" + encodeURI(options.extraParams[i]);
		}
		return url;
	};


	function loadFromCache(q) {
		if (!q) return null;
		if (cache.data[q]) return cache.data[q];
		if (options.matchSubset) {
			for (var i = q.length - 1; i >= options.minChars; i--) {
				var qs = q.substr(0, i);
				var c = cache.data[qs];
				if (c) {
					var csub = [];
					for (var j = 0; j < c.length; j++) {
						var x = c[j];
						var x0 = x[0];
						if (matchSubset(x0, q)) {
							csub[csub.length] = x;
						}
					}
					return csub;
				}
			}
		}
		return null;
	};

	function matchSubset(s, sub) {
		if (!options.matchCase) s = s.toLowerCase();
		var i = s.indexOf(sub);
		if (i == -1) return false;
		return i == 0 || options.matchContains;
	};

	this.flushCache = function() {
		flushCache();
	};

	this.setExtraParams = function(p) {
		options.extraParams = p;
	};

	this.findValue = function(){
		var q = $input.val();

		if (!options.matchCase) q = q.toLowerCase();
		var data = options.cacheLength ? loadFromCache(q) : null;
		if (data) {
			findValueCallback(q, data);
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
			$.get(makeUrl(q), function(data) {
				data = parseData(data)
				addToCache(q, data);
				findValueCallback(q, data);
			});
		} else {
			// no matches
			findValueCallback(q, null);
		}
	}

	function findValueCallback(q, data){
		if (data) $input.removeClass(options.loadingClass);

		var num = (data) ? data.length : 0;
		var li = null;

		for (var i=0; i < num; i++) {
			var row = data[i];

			if( row[0].toLowerCase() == q.toLowerCase() ){
				li = document.createElement("li");
				if (options.formatItem) {
					li.innerHTML = options.formatItem(row, i, num);
					li.selectValue = row[0];
				} else {
					li.innerHTML = row[0];
					li.selectValue = row[0];
				}
				var extra = null;
				if( row.length > 1 ){
					extra = [];
					for (var j=1; j < row.length; j++) {
						extra[extra.length] = row[j];
					}
				}
				li.extra = extra;
			}
		}

		if( options.onFindValue ) setTimeout(function() { options.onFindValue(li) }, 1);
	}

	function addToCache(q, data) {
		if (!data || !q || !options.cacheLength) return;
		if (!cache.length || cache.length > options.cacheLength) {
			flushCache();
			cache.length++;
		} else if (!cache[q]) {
			cache.length++;
		}
		cache.data[q] = data;
	};

	function findPos(obj) {
		var curleft = obj.offsetLeft || 0;
		var curtop = obj.offsetTop || 0;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
		return {x:curleft,y:curtop};
	}
}

jQuery.fn.autocomplete = function(url, options, data) {
	// Make sure options exists
	options = options || {};
	// Set url as option
	options.url = url;
	// set some bulk local data
	options.data = ((typeof data == "object") && (data.constructor == Array)) ? data : null;
	options.hide = false;

	// Set default values for required options
	options.json = options.json || false;
	options.inputClass = options.inputClass || "ac_input";
	options.resultsClass = options.resultsClass || "ac_results";
	options.lineSeparator = options.lineSeparator || "\n";
	options.cellSeparator = options.cellSeparator || "|";
	options.minChars = options.minChars || 1;
	options.delay = options.delay || 400;
	options.matchCase = options.matchCase || 0;
	options.matchSubset = options.matchSubset || 1;
	options.matchContains = options.matchContains || 0;
	options.cacheLength = options.cacheLength || 1;
	options.mustMatch = options.mustMatch || 0;
	options.extraParams = options.extraParams || {};
	options.loadingClass = options.loadingClass || "ac_loading";
	options.selectFirst = options.selectFirst || false;
	options.selectOnly = options.selectOnly || false;
	options.maxItemsToShow = options.maxItemsToShow || -1;
	options.autoFill = options.autoFill || false;
	options.width = parseInt(options.width, 10) || 0;

	options.onItemSelect = function(li)
	{
		if( li != null )
		{
			if( !!li.extra ) var sValue = li.extra[0];
			else var sValue = li.selectValue;
			search_to( 0 );
		}
	}

	options.formatItem = formatAutocompleteItem;



	this.each(function() {
		var input = this;
		new jQuery.autocomplete(input, options);
	});

	// Don't break the chain
	return this;
}

jQuery.fn.autocompleteArray = function(data, options) {
	return this.autocomplete(null, options, data);
}

jQuery.fn.indexOf = function(e){
	for( var i=0; i<this.length; i++ ){
		if( this[i] == e ) return i;
	}
	return -1;
};

function formatAutocompleteItem(row){
	return row[0].replace( $("#search").val().toLowerCase(), "<strong>" + $("#search").val() + "</strong>");
}

// Generic preload images hack (http://www.mattfarina.com/2007/02/01/preloading_images_with_jquery)
	jQuery.preloadImages = function()
	{
		for(var i = 0; i<arguments.length; i++)
		{
			jQuery("<img>").attr("src", arguments[i]);
		}
	}

// Generic element toggle (enhanced with effects!)
	jQuery.fn.toggle_to = function(new_element,type) {
		var effect = type || 'swap'; // if effect is undefined, use 'swap' as default

		this.hide();
		return this.each(function(){
			switch(effect)
			{
				case 'fade' : $(new_element).fadeIn('slow'); break;
				case 'swap' : $(new_element).show(); break;
			}
		});
	};

// Generic checkbox functionality
	jQuery.fn.check = function(mode) {
		var mode = mode || 'on'; // if mode is undefined, use 'on' as default

		return this.each(function() {
			switch(mode) {
				case 'on':		this.checked = true; break;
				case 'off':		this.checked = false; break;
				case 'toggle':	this.checked = !this.checked; break;
			}
		});
	};



// Generic field clearing (http://bassistance.de/2007/01/23/unobtrusive-clear-searchfield-on-focus/)
	jQuery.fn.clean = function() {
		return this.focus(function() {
			if( this.value == this.defaultValue ) {
				this.value = "";
			}
		}).blur(function() {
			if( !this.value.length ) {
				this.value = this.defaultValue;
			}
		});
	};

// Generic AJAX GET page loading
	function ajax_load(source,target)
	{
		$.get(source,function(html){
			$(target).empty().append(html).fadeIn();
		});
	}

//Add funtion "in_array" in the type array
	Array.prototype.in_array = function(value){
		for( var z=0; z < this.length; ++z ){
			if ( value.indexOf(this[z]) >= 0 ){
				return true;
			}
		}
		return false
	}

// ----------------------------------------------------------------------------------
// Shared functionality (header+searchengine)

	function logOut()
	{
		url = document.URL;

		url_global = $('#logout').attr('href');
		action = url_global.split( "/" );

		domain_url = new String ( document.domain );
		logout_url = "http://"+ domain_url + "/"+ action[3];

		$.ajax({
			type: "POST",
			url: logout_url,
			data: "action=logout",
			dataType: "json",
			success: function(json)
			{
				$('#ajax_debug').append( json['debug'] );
				if ( -1 != url.indexOf('opinar') )
				{
					// Reload page
					document.location.reload();
				}
				else
				{
					$('#user_info').remove();
					$('#user_box').append( json['data'] );
				}
				init();
			}
		});
	}

	function validateLogin()
	{
		url_global = $('#form_login_box').attr('action');
		action = url_global.split( "/" );

		domain_url = new String ( document.domain );
		login_url = "http://"+ domain_url + "/"+ action[3];

		$.ajax({
			type: "POST",
			url: login_url,
			data: "action=login&" + $('#email').attr('name') +"="+ encodeURIComponent($('#email').val()) +"&"+$('#password').attr('name') +"="+ $('#password').val(),
			dataType: "json",
			success: function(json)
			{
				$('#ajax_debug').append( json['debug'] );
				if ( json['response'] == 'KO' )
				{
					if ( json['type'] == 'USER_NOT_FOUND' )
					{
						// To redirect to page registration
						document.location.href = $('#login_link').attr('href') + "/error";
					}
					else if ( json['type'] == 'ERROR_FORM' )
					{
						// To redirect to page registration
						document.location.href = $('#login_link').attr('href') + "/error";
					}
					else if ( json['type'] == 'UNEXPECTED_ERROR_FORM' )
					{
						// To redirect to page registration
						document.location.href = $('#login_link').attr('href') + "/error";
					}
				}
				else if ( json['response'] == 'OK' )
				{
					/*if ( json['type'] == 'DELUXE' )
					{
						// Reload page
						document.location.reload();
					}
					else if ( json['type'] == 'ADMIN' )
					{
						// To show admin bar
					}*/

					url = document.URL;
					if ( -1 != url.indexOf('opinar') )
					{
						// Reload page
						document.location.reload();
					}
					else
					{
						$('#login_box').remove();
						$('#user_box').append( json['data'] );
					}

				/**
				 * Disabled the AJAJ logout solution.
					// Logout
					$("#logout").click(function(){
						logOut();
						return false;
					});
				*/
				}
			}
		});

		return false;
	}

	function edit_contact( id_user, action )
	{
		domain_url = new String ( document.domain );
		add_contact_url = "http://"+ domain_url + "/add-contact-json/"+id_user;
		data = "action="+action;

		$.ajax({
			type: "POST",
			url: add_contact_url,
			data: data,
			dataType: "json",
			success: function(json)
			{
				$('#ajax_debug').append( json['debug'] );
				$("#"+action+"_"+id_user).html(json.data);
				if ( "del" == action ) $("#li_"+id_user).slideUp( "slow" );
				if ( "add" == action ) $("#block_"+id_user).slideUp( "slow" );
				if ( "block" == action ) $("#add_"+id_user).slideUp( "slow" );
			}
		});
	}

	function profileActions( action, id_user )
	{
		var id_user_login = $("#user_id_profile").attr("value");
		var user_login = $("#user_login").attr("value").replace( '.', '-' );

		var private_profile = (id_user == id_user_login);

		if ( action == 'comunity_myactivity' || action == 'comunity_friendsactivity' ) $(".recent_activity").addClass("selected");
		else if ( action == 'comunity_opinions' ) $(".comments").addClass("selected");
		else if ( action == 'comunity_user_cp_favorites' ) $(".favorites").addClass("selected");
		else if ( action == 'comunity_friends' ) $(".friends").addClass("selected");
		else if ( action == 'comunity_followers' ) $(".followers").addClass("selected");

		if ( id_user_login )
		{
			$("#direct_message").show();
		}
		else
		{
			$("#direct_message_register").show();
		}

		if ( !private_profile && id_user_login > 0 )
		{
			var friends = $( "#friends_data" ).val().split( ',' );
			var followers = $( "#followers_data" ).val().split( ',' );
			usercard = $("#userprofile_actions .del_friend").attr('id').split( '_' );
			friend = ( exists_in_array ( usercard[1], friends ) );
			follow = ( exists_in_array ( usercard[1], followers ) );
			if ( friend )
			{
				var del_friend = $(".del_friend").html().replace( /loginid/g, id_user_login ).replace( /loginusername/g, user_login).replace( /id_user/g, usercard[1] );
				$("#userprofile_actions .del_friend").html( del_friend ).show();
			}
			else
			{
				var add_friend = $(".add_friend").html().replace( /loginid/g, id_user_login ).replace( /loginusername/g, user_login).replace( /id_user/g, usercard[1] );
				$("#userprofile_actions .add_friend").html( add_friend ).show();
			}

		}

		if ( $(".direct_message").html() == null && undefined == id_user_login) $("#userprofile_actions").remove();

		if ( 'comunity_user_cp_favorites' == action && private_profile )
		{
			var html_private = $("#html_private").html();
			var favorites = $( "#favorites_data" ).val().split( '#' );
			var len = favorites.length-2;
			var options = null;
			for ( var x = 0 ; x <= len ; x++ )
			{
				options = favorites[x].split( '-');
				$("#favorite_"+options[0]).append( html_private.replace( /#id_file#/g, options[0] ) );
				if ( options[2] == 1 ) $("#fav_update_"+options[0]).attr( 'checked', 'checked' );
				if ( options[3] == 1 ) $("#fav_opinion_"+options[0]).attr( 'checked', 'checked' );
			}
			$("#save_changes").show();
		}
		else if ( ( 'comunity_friends' == action || 'comunity_followers' == action ) && id_user_login > 0 )
		{
			var friends = $( "#friends_data" ).val().split( ',' );
			var followers = $( "#followers_data" ).val().split( ',' );
			var del_friend = $("#del_friend_html").html().replace( /loginid/g, id_user_login ).replace( /loginusername/g, user_login);
			var add_friend = $("#add_friend_html").html().replace( /loginid/g, id_user_login ).replace( /loginusername/g, user_login);
				var follow_friend = $("#follow_friend_html").html().replace( /loginid/g, id_user_login ).replace( /loginusername/g, user_login);
				var reciproc_html  = $("#reciproc_html").html();

				$("#contact_list li").each( function() {
				var li = $(this).attr("id").split( '_' );
				if ( id_user_login != li[1] )
				{
					friend = ( exists_in_array ( li[1], friends ) );
					follow = ( exists_in_array ( li[1], followers ) );
					var new_html = '';
					if (!friend)
					{
						add_friend_li = add_friend.replace( /id_user/g, li[1] );
						add_friend_li = add_friend_li.replace( /username/g, $("#a_"+li[1]).attr( 'title') );
						new_html=new_html+add_friend_li;
						if (follow && private_profile)
						{
							follow_friend_li = follow_friend.replace( /id_user/g, li[1] );
							follow_friend_li = follow_friend_li.replace( /username/g, $("#a_"+li[1]).attr( 'title') );
							new_html=new_html+follow_friend_li;
						}
					}
					else if ( friend && follow && 'comunity_followers' == action && private_profile )
					{
						reciproc_li = reciproc_html.replace( /username/g, $("#a_"+li[1]).attr( 'title') );
						new_html = reciproc_li;
					}
					else if (friend && private_profile)
					{
						del_friend_li = del_friend.replace( /id_user/g, li[1] );
						del_friend_li = del_friend_li.replace( /username/g, $("#a_"+li[1]).attr( 'title') );
						new_html = del_friend_li;
					}
					if ( new_html!='') $("#li_"+li[1]).append( '<div class="friend_info">'+new_html+'</div>' );
				}
			});
		}
		$(".del_contacts").bind("click", function() {
			edit_contact( $(this).attr("rel"), "del" );
			return false;
		});

		$(".add_contacts").bind("click", function() {
			edit_contact( $(this).attr("rel"), "add" );
			return false;
		});

		$(".block_contacts").bind("click", function() {
			edit_contact( $(this).attr("rel"), "block" );
			return false;
		});
	}

// BEGIN OF POINTS PROMO FUNCTIONS

function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
	var cookie_string = name + "=" + escape ( value );

	if ( exp_y )
	{
		var expires = new Date ( exp_y, exp_m, exp_d );
		cookie_string += "; expires=" + expires.toGMTString();
	}

	if ( path )
				cookie_string += "; path=" + escape ( path );

	if ( domain )
				cookie_string += "; domain=" + escape ( domain );

	if ( secure )
				cookie_string += "; secure";

	document.cookie = cookie_string;

 // alert( "cookie is: " + cookie_string + "and domain name: " + document.domain );
}

function get_country_banner( banner_tag )
{
	var dest_tag = banner_tag;

	// Task WEB-2407
	if ( banner_tag.indexOf('down') >= 0 ){
		dest_tag = banner_tag.substring(5);
	}

	if ( show_dart == false )
	{
		$('.show_banner_' + dest_tag).html( Base64.decode( ad_pep[banner_tag] ) );
	}
	else
	{
		$('.show_banner_' + dest_tag).html( Base64.decode( ad_dart[banner_tag] ) );
	}
}

function get_cookie ( cookieName )
{
	var theCookie = "" + document.cookie;
	var ind = theCookie.indexOf ( cookieName );

	if ( ind == -1 || cookieName == "" )
		return false;

	var ind1 = theCookie.indexOf ( ';', ind );

	if ( ind1 == -1 )
		ind1 = theCookie.length;

	return unescape ( theCookie.substring ( ind + cookieName.length + 1, ind1 ) );
}

function delete_cookie ( cookieName )
{
	setCookie ( cookieName, '', -1 );
}
// END OF POINTS PROMO FUNCTIONS


var user_browser_language = "";
var user_browser_language_str = "";

function prepare_language_cookie ()
{
	user_browser_langs = new String( get_cookie( "blang" ) );

	user_browser_language = user_browser_langs.split(";");

	user_browser_language_str = user_browser_language[1];
	user_browser_language = user_browser_language[0];
}

	function init()
	{
		// Accept new terms for user_logged
//		if ( $('#user_info').length && $('#users_accepted_terms').length && $('#users_accepted_terms').val() < 3 && $('#url_user_cancel').val() != document.location )
//		{
//			$('body').append('<div id="new_terms_window"></div>');
//			$('#new_terms_window').load( url_absolute + '/new-terms-1','',
//				function() {
//					message_error = $("#accept-terms").attr("rel");
//					$("#accept-terms, #hide-activity").click( function(){
//						if ( $("#check-accept").attr("checked") != true )
//						{
//							alert( message_error );
//							return false;
//						}
//					});
//				}
//			);
//		}

		// Facebook Connect.
		var facebook_connect = new FacebookConnect();

		// Awards 2009 check terms:
		vote_percent();
		awards_check();

		// Quick hack for IE cache problems.
		// Retrieve survey cookie.
		if ( !get_cookie( 'zmg_poll' ) )
		{
			// Show layer if the cookie doesn't exist.
			$("#user_survey").removeClass( 'hidden' );
		}

		//User_survey
		var url = $(".close_survey_layer").attr( 'href' );
		$(".close_survey_layer").click( function(){
			$("#user_survey").hide('slow');
			$.ajax({
				type: "POST",
				url: url,
				data: "sent=1&action=delete",
				dataType: "text/html",
				success: function(json)
				{
					return false;
				}
			});

			return false;
		});

		avatar_gallery_show();
		info_invite();
		prepare_language_cookie();

		//SKIP STEP IN REGISTER SUBSCRIPTION
		$(".register_step_2 .skip").click( function(){
			$("#user_profile #action").val('not_subscribe');
			$("#user_profile").submit();
		});


		//SELF CLOSE POPUPS
		$("#close_button").click( function(){ self.close(); });


		//JS fix for OS breaklines
		$("#compare_box dd.os").each( function() {
			osContent = $(this).html();
			$(this).html( osContent.replace( /\//g ,"/<wbr>") );
		} );

		//SHOW/HIDE COUNTRIES LIST IN WAP-PUSH DOWNLOAD
		$("#mobile_wap_install_box .see_countries").click( function() {
			if ($("#mobile_wap_install_box .other_countries").is(":hidden"))
			{
				$("#mobile_wap_install_box .other_countries").show(); return false;
			}
			else
			{
				$("#mobile_wap_install_box .other_countries").hide(); return false;
			}
		});

		//SWAP COUNTRY SENTENCE IN WAP-PUSH DOWNLOAD
		$("#mobile_wap_install_box .country_swap").click( function() {
			$("#mobile_wap_install_box .selected_country_data").show();
			var country_title = $(this).attr("rel");
			var country_replace = country_title.split('_');
			var country_name = country_replace[0];
			var country_ID = country_replace[2];
			var country_number = country_replace[1];
			var country_price = country_replace[3];
			var price_details = country_replace[4];
			var partner_url = country_replace[5];
			var partner_name = country_replace[6];
			var partner_support_email = country_replace[7];
			if ($("#mobile_wap_install_box .wap_country").html() == $(this).html())
			{
			if ($("#mobile_wap_install_box .hide_options").length > 0) { $("#mobile_wap_install_box .hide_options").show(); }
			return false;
			}
			else
			{
				$("#mobile_wap_install_box .wap_country").html(country_name);
				$("#mobile_wap_install_box .wap_id").html(country_ID);
				$("#mobile_wap_install_box .wap_number").html(country_number);
				$(".wap_push_price .wap_price").html(country_price);
				$(".wap_push_price .wap_price_details").html(price_details);
				$("#mobile_wap_install_box #wappush_partner_url").html(partner_name);
				$("#mobile_wap_install_box #wappush_partner_url").attr("href", partner_url);

				if (partner_support_email) {
					$("#support2").hide(); $("#support1").show();
					if ($("#support_email_wappush").length > 0) { $("#mobile_wap_install_box #support_email_wappush").attr("href", partner_support_email).html(partner_support_email); }
				} else {
					$("#support1").hide(); $("#support2").show();
				};
				if ($("#mobile_wap_install_box .hide_options").length > 0) { $("#mobile_wap_install_box .hide_options").show(); }
				return false;
			}
		});

		//JS events to fix IE behaviours
		if ( $.browser.msie )
		{
			// Submit with Enter IE Fix
			$("#form_login_box input").keydown(function(e){
				if (e.keyCode == 13) {
					$(this).parents('form').submit();
					return false;
				}
			});

			if ( $.browser.version == '6.0' )
			{
				$("#form_login_box #email").attr("autocomplete","off");
			}
		}

		$("#make_homepage").click( function() {
			if ( $.browser.msie)
			{
				this.style.behavior='url(#default#homepage)';
				this.setHomePage($(this).attr("href"));
			}else{
				alert ( $(this).parents("li").attr("title") );
			}
			return false;
		});

		// Login
		$("#login_link").click(function(){
			$('#user_links').toggle_to('#login_box', 'fade');
			$('#corp_box').fadeOut();
			$('#email').focus();
			return false;
		});

		// Community box disappears if there is nothing to show.
		if ( $(".community_box").children().size() < 1 )
		{
			$("#community").hide();
		}

		/**
		 * Disabled the AJAJ logout solution.
			// Logout
			$("#logout").click(function(){
				logOut();
				return false;
			});
		*/

		// Login

		$('#login_box form').submit(function(){
			// validateLogin();
			$('#email').removeClass("input_error");
			$('#password').removeClass("input_error");
			if( $('#email').val() == "" )
			{
				$('#email').focus();
				$('#email').addClass("input_error");
				return false;
			}

			if( $('#password').val() == "" )
			{
				$('#password').focus();
				$('#password').addClass("input_error");
				return false;
			}

			return true;

		});

		$('#login_box input').not(":button,:submit,:image").clean();

		// Login community
		$("a#click2loginb").click(function(){
			$('#box_register_community').toggle_to('#box_identify_community', 'fade');
			return false;
		});

		var action = $("#container").attr("class");
		if ( undefined != action )
		{
			profileActions( action, $("#container").attr("rel") );
		}

		// Popups
		$(".popup").popup();

		// mail_antispam
		mail_antispam();

		// Search form
		var so_no_windows = new Array();
		so_no_windows['mac']='limewire';
		so_no_windows['pocketpc']='windows mobile';
		so_no_windows['palm']='touch launcher';
		so_no_windows['phones']='mobile themes';

		var so_mobile = new Array();
		so_mobile['symbian'] = 'free symbian downloads';
		so_mobile['java'] = 'java downloads';
		so_mobile['windows-mobile'] = 'windows mobile ringtone';
		so_mobile['blackberry'] = 'blackberry themes';
		so_mobile['iphone'] = 'iphone ringtones';
		so_mobile['android'] = 'google android phone';

		var search_string = 'E.g.: windows media player';
		var search_string_submit = 'E.g.: ';

		for (so in so_no_windows )
		{
			if( section_search_name == so)
			{
				if ( ( section_search_name == 'phones' ) && mobile_so_name )
				{
					search_string = search_string_submit+so_mobile[mobile_so_name];
				}
				else
				{
					search_string = search_string_submit+so_no_windows[so];
				}
				break;
			}
		}

		if ( $("#search").val() == "" ) {
			if ( $(this).val() == search_string ) $(this).val("");
			prev_color = $("#search").css("color");
			$("#search").css("color","#ccc").val(search_string);
		}

		$("#search").focus(function(){
			if( $("#search").val() == search_string )
			{
				$("#search").val('');
			}
			$("#search").css("color", prev_color);
			$("#search").addClass("search_inputtext_focus");
		}).click(function(){
			$(this).focus()
		});
		$("#search").blur(function(){
			if( $("#search").css("color", prev_color).val() == '' )
			{
				$("#search").val(search_string).css("color", "#ccc");
			}
			$("#search").removeClass("search_inputtext_focus");
		});

		$("#search_form_top").submit(function(){
			$("#search").val($("#search").val().replace(search_string_submit, ""));
			search_to(0);
			return false;
		});

		$("#search_form").submit(function(){
			search_advanced();
			return false;
		});

		$("#search_form_bottom a").click(function(){
			return search_to(1);
		});
		$("#search_form_bottom").submit(function(){
			search_to(1);
			return false;
		});

		$("#search_form_inline a").click(function(){
			search_to(2);
		});

		$("#search_form_inline").submit(function(){
			search_to(2);
			return false;
		});

		$("#search_form_search a").click(function(){
			return search_to(3);
		});
		$("#search_form_search").submit(function(){
			search_to(3);
			return false;
		});

		$("#ask_search a").click(function(){
			$("#ask_search").submit();
		});

		$("#ask_search").submit(function(){
			return true;
		});

		$("#drivers_search").submit(function(){
			return true;
		});

		if($("#search_autocomplete").val()==1){
			if ( ($.browser.msie && $.browser.version >= 5) || (!$.browser.msie))
			{

				if( (screen.width >= 800) && (screen.height >= 600) ){
					$("#search").attr("autocomplete","off");
					$("#search").autocomplete(
						"/autocomplete" + "/" + $("#id_section").val(),
						{
							json:true,
							delay:600,
							minChars:2,
							matchSubset:0,
							matchContains:1,
							cacheLength:10,
							maxItemsToShow:10,
							mustMatch:0,
							autoFill:false
						}
					);
				}
			}
		}

		// FORMS Tooltip

		// Promos Deluxe
			if ($('#deluxe_register').is('a') ) {
				$("#register_link").hide();
			}

		// Register Form Step 1 Tooltip
			if ($('#user_register').not(".download_form").is('form') ) {
				$("#user_links").hide();
				$('#nickname').toggleTip();
				$('#bday').toggleTip();
				$('#bmonth').toggleTip();
				$('#byear').toggleTip();
			}

		// Register Form Step 2 Tooltip
			if ($('#user_profile').is('form')) {
				$('#nickname').toggleTip();
				$('#country').toggleTip();
				$('#province').toggleTip();
				$('#city').toggleTip();
				$('#address').toggleTip();
				$('#phone').toggleTip();
				$('#profession').toggleTip();
				$('#sector').toggleTip();
				$('#education').toggleTip();
				$('#bday').toggleTip();
				$('#bmonth').toggleTip();
				$('#byear').toggleTip();
				$("#user_links").hide();
				$("#"+getOS()).addClass("bold");
			}
		// User control panel change password Tooltip
			if ($('#user_mod_password').is('form')) {
				$('#current_password').toggleTip();
				$('#new_password').toggleTip();
				$('#password_confirmation').toggleTip();
			}
		// User control panel change email Tooltip
			if ($('#user_mod_email').is('form')) {
				$('#new_email').toggleTip();
				$('#email_confirmation').toggleTip();
			}
		// Recommend program Tooltip
			if ($('#recommend_form').is('form')) {
				$('#mail_to').toggleTip();
				$('#email_confirmation').toggleTip();
			}
	// Bulletin check form
	// The form detects the user OS and
	// when they mark the bulletin group checkbox the OS checkbox will be automatically marked as well.
	// When the bulletin group checkbox is unmarked, all the selected OS checkboxes will be unmarked.

	$('#bulletin').click( function() {
		if ($('#bulletin').attr("checked") != true) {
			$('#win_week,#mac_week,#lin_week,#palm_week,#ppc_week,#mov_week').removeAttr("checked");
		} else {
			var labelid = $("#"+getOS()).attr("for") ;
			$("#"+getOS()).parents('li:first').find("input[@id="+labelid+"]").attr({ checked: 'checked' });
		}
	});
	$('#win_week,#mac_week,#lin_week,#palm_week,#ppc_week,#mov_week').click( function() {
		if ($('#bulletin').attr("checked") != true) {
			$('#bulletin').attr({checked: 'checked'});
		} else {
			if ($('#win_week').attr("checked") != true && $('#mac_week').attr("checked") != true && $('#lin_week').attr("checked") != true && $('#palm_week').attr("checked") != true && $('#ppc_week').attr("checked") != true && $('#mov_week').attr("checked") != true) {
				$('#bulletin').removeAttr("checked");
			}
		}
	});
	// End of Bulletin check form

			if ($('#user_subscriptions').is('form')) {
				$("#"+getOS()).addClass("bold");
			}
		// Search Adv.
		$("#show_adv_search").click( function() {
			advsearch = $("#adv_search").val();
			if ( advsearch == 0 )
			{
				$("#adv_search").val(1);
				$("#advanced_searcher").css({ display: "block"});
				document.getElementById('plusfind').innerHTML = '-';
			}
			else
			{
				$("#adv_search").val(0);
				$("#advanced_searcher").css({ display: "none"});
				document.getElementById('plusfind').innerHTML = '+';

			}
			return false;
		});

		// Forms
		/*$('input.submit,a.submit').not(":submit").click(function(){
			$(this).parents('form').submit();
		});*/

		$('#login_box input, #login_box_community input').not(":button,:submit").clean();

		// Validator
		$.validator.setDefaults({
			debug:false
		});

		// Softometer width
		$("#softometer .mercury").css( "width", parseInt($("#softometer .mercury").html()) );

		// Language Flags
		$("a#see_more_flags,a.see_more_flags,a.more_results,p.more_results").click( function (){
			$(this).parents("ul").find("li").removeClass("additional");
			$(this).parents("li").remove();
			return false;
		});


		// Display Toggler
		$("a.toggle_view").click( function() {
			dest = this.getAttribute("rel");
			if ( $( "#" + dest ).is(":hidden") )
			{
				if ( $.browser.opera || $.browser.safari )	//special effect only on Opera & Safari
					$( "#" + dest ).show();
				else
					$( "#" + dest ).slideDown("fast");
			}
			else
			{
				if ( $.browser.opera || $.browser.safari )
					$( "#" + dest ).hide();
				else
					$( "#" + dest ).slideUp("fast");
			}
			return false;
		});


		// Currency selector
		$("#currency_link,#currency_cancel").click( function () {
			// If we are outside Forum activate Currency select form
			if ( $("#header").length > 0 )
			{
				if ( $("#currency_link_div").is(":visible") )
					$( "#currency_link_div" ).toggle_to('#currency_select_div','fade');
				else
					$( "#currency_select_div" ).toggle_to('#currency_link_div','fade');

				return false;
			}
			else
			{
				return true;
			}
		});

		$("#currency_select").change( function () {
			if ( 'ABC' == $(this).val() )
				$(this).val('');

			$('#redirect').val(document.location.href);
			document.form_currency.submit();
		});

		$("div#user_visitors div.usercard_content_visitor").click(function () {
			document.location.href=$(this).parent().parent().find(".user_options_mini li.meet_user a").attr("href");
		});

		$("select#id_brand").change(function () {
			if( $(this).val() != 0 )
			{
				document.location.href = $(this).val();
				return true;
			}
		});

		$("#post_form").submit( function(){
			if ( $(this).hasClass("check_fields_rating") )
				return check_fields_rating();
		});

		// Manager bar behaviours
		$('#manager_bar select').change( function() {
			location.href = $(this).val();
		});

		// Editors list behaviours
		$("#editor_select").click( function() {
			if ( $("ul#editors_list").is(":hidden") )
			{
				$(this).removeClass("close").addClass("open").siblings("ul#editors_list").show();
				if ( $.browser.msie )
				{
					$("#compare_box table.list_box caption span").css({ height:"18px", width:"67px", overflow:"hidden" });
				}
				setTimeout('hide_reviewers()', 3000 );
			}
			else
			{
				$("ul#editors_list").hide();
				if ( $.browser.msie )
				{
					$("#compare_box table.list_box caption span").css({ height:"auto", width:"auto", overflow:"auto" });
				}
				$(this).removeClass("open").addClass("close");
			}
		});

		$("div.editor_select").mouseover( function() {
				active_reviewers = "true";
		}).mouseout( function() {
				active_reviewers = "false";
				setTimeout('hide_reviewers()', 3000 );
		});


		// Highlit user own opinions.
		if ( $( "#opinions_data" ).val() )
		{
			opinions = $( "#opinions_data" ).val().split( '#' );

			var len = opinions.length;
			for ( var x = 0 ; x <= len ; x++ ) {
				opiniondiv = "opinion-" + opinions[x];
				$("#"+opiniondiv).addClass("own_opinion");
			}
		}

		// Google Analytics automatic tracking using pageTracker._trackPageview.
		set_ga_tracking();

		// Programs in you language on program's lists. ONLY FOR SOFTONIC EN
		$("td.information_description .information_data input.all_languages").each( function() {
			languages = $(this).val();
			languages_array = languages.split(",");
			if ( languages_array.length > 0 )
			{
				i=0;
				for ( i=0; i<languages_array.length; i++ )
				{
					if ( languages_array[i] == user_browser_language )
					{
						$(this).siblings("dl").find(".main_language, .language_flags").remove().end().prepend("<dt>Available in:</dt><dd class='language_flags flag_"+user_browser_language+"' title='"+user_browser_language_str+"'>&nbsp;<span>"+user_browser_language+"</span></dd>");
					}
				}
			}
		});

		if ( $("#more_info p.all_languages").size() > 0 )
		{
			languages_array = new Array();

			languages_temp = $("#more_info p.all_languages").attr("class");
			languages_temp = new String ( languages_temp.replace (/all_languages /i, "") );
			languages_array = languages_temp.split("-");

			if ( languages_array.length > 0 )
			{
				i=0;
				for ( i=0; i<languages_array.length; i++ )
				{
					if ( languages_array[i] == user_browser_language )
					{
						$("#file_data dl dd.license_row").after("<dt>Available in:</dt><dd id='language_flags'><ul><li class='flag_"+user_browser_language+"' title='"+user_browser_language_str+"'><span>"+user_browser_language+"</span></li></ul></dd>");
					}
				}
			}
		}


		// Get the browser language review.
		if(get_cookie('blang') != false){
			var main_browser_language = get_cookie('blang').substring(0,2).toLowerCase();
			if( main_browser_language == "pt" )
			{
				main_browser_language = "br";
			}
			var review_language_class = main_browser_language + "_review";
			var review_language_html = $("#languages_reviews ." + review_language_class).html();
			if(review_language_html != null && $("#file_review_language") != null)
			{
				var lang_div = jQuery(document.createElement("div"));
				lang_div.html(review_language_html);
				lang_div.attr("class", review_language_class);

				$("#file_review_language").append(lang_div);
				$("#file_review_language").removeClass("hidden");
			}
		}

		//compare path bar
		if ($("#compare_container").length>0)
		{
			type=$("#compare_back_button").attr("rel");
			if (type=="section") $("#pathbar span.section_compare").show();
			else if (type=="search") $("#pathbar span.search_compare").show();
			else $("#pathbar span.no_back_compare").show();
		}

		// Teaser Bar
		$("#close_teaser_bar").click( function (){
			closeTeaserBar();
			return false;
		});

		//Toolbar RSS
		$("#toolbar_image").each( function() {
			if ( $.browser.msie ) {
				$("#toolbar_image_ie").show();
			}
			else {
				$("#toolbar_image_ff").show();
			}
		});

	}
	// end of init() function;

// ----------------------------------------------------------------------------------
// general.js

	function do_ga_tracking( obj )
	{
		ga_identifier = false;
		link_classes = $(obj).attr("class").split(" ");
		for (var i = 0; i < link_classes.length; i++)
		{
			if ( link_classes[i].indexOf( 'gaid_' ) == 0 )
			{
				ga_identifier = new String( link_classes[i] );
				ga_identifier = ga_identifier.replace("gaid_","");
				break;
			}
		}
		if ( false != ga_identifier )
		{
			pageTracker._trackPageview(ga_identifier);
		}
	}

	function set_ga_tracking()
	{

		$("a.ga_tracking").click( function() { do_ga_tracking( this ); });
		$("form.ga_tracking").submit( function() { do_ga_tracking( this ); });
	}

	function hide_reviewers()
	{
		if ( "false" == active_reviewers )
		{
			active_reviewers = "true";
			$("ul#editors_list").hide();
			if ( $.browser.msie )
			{
				$("#compare_box table.list_box caption span").css({ height:"auto", width:"auto", overflow:"auto" });
			}
			$("#editor_select").removeClass("open").addClass("close");
		}
	}

	function confirmAction ( TEXT, URL )
	{
		if ( window.confirm( TEXT ) )
		{
			document.location.href = URL;
		}
		return false;
	}

	/* unused I think */
	function switchclass ( id )
	{
			var n = document.getElementById(id);
			if ( n.className == "side6" )
			{
					 n.className = "side7";
			}
			else if ( n.className == "side7" )
			{
					 n.className = "side6";
			}
	}

	function isAGoodString( string )
	{
		if (!string) return false;
		var badChars = "*|,\":<>[]{}`\';()@&$#%";
		for (var i = 0; i < string.length; i++) {
			if (badChars.indexOf(string.charAt(i)) != -1)
				return false;
		}
		return true;
	}
	function CheckEmail( string )
	{
		if (!string) return false;
		if (!isAGoodString(string) == false) return false;
		if (string.search(/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/) == -1)
			return false;
		return true;
	}


// ----------------------------------------------------------------------------------
// Search engine functions

	function softonicSearchEvents()
	{
		$("a#show_more").click(function(){
			$("#more").hide();
			$("#more_also_try").slideDown("slow");
		});

		search_string = $('h1.section_title a strong:first').attr("title");
		if ( search_string == null )
			search_string = $(".warning_box h2 strong:first").attr("title");

		if ( search_string != null )
		{
			$("#search").css("color",prev_color).val( search_string );
			$("#search").val( search_string );
			$("#search_b").val( search_string );
			$("#search_google").val( search_string );
			$("#search_ask").val( search_string );
		}

		if ( $("#google_search_results_list").size() > 0 )
		{
			$("#google_search_button").attr("checked", "checked");
		}

		if ( $.browser.msie && $.browser.version == "7.0" )
		{
			$("#browser_search").show().find("a").addClass("explorer").click(function(){
				window.external.AddSearchProvider($(this).attr("href"));
				return false;
			});
		}
		else if ( $.browser.mozilla )
		{
			$("#browser_search").show().find("a").addClass("firefox").click(function(){
				window.external.AddSearchProvider($(this).attr("href"));
				return false;
			});
		}
		else if ( !$.browser.msie )
		{
			$("#softonic_toolbar_promotion").css({ display: "none"});
		}
	}

	function clean_special_chars ( str, clean_all )
	{
		if ( clean_all != null && clean_all == true )
		{
			str = str.replace( /%/g, "%25" );	// %
			str = str.replace( "_", "-" );		// _
			str = str.replace( /\ /g, "-" );	// -
			str = str.replace( "%2C", "-" );	// -
			str = str.replace( /\#/g, "%23" );	// #
			str = str.replace( /\?/g, "%3F" );	// ?
			str = str.replace( /\&/g, "%26" );	// &
		}
		
		str = str_replace("%28", "", str);	// (
		str = str_replace("%29", "", str);	// )
		str = str_replace("%20", "-", str);	// ' '
		str = str.replace( /\//g, "%2F" );	// "/"

		return str;
	}

	// Funcion str_replace() para JavaScript //
	// str_replace(string busca, string reenplazar, string original) //
	function str_replace(busca, repla, orig)
	{
		str 	= new String(orig);
		rExp	= "/"+busca+"/gi";
		rExp	= eval(rExp);
		newS	= String(repla);
		str	= new String(str.replace(rExp, newS));
		return str;
	}

	/**
	 * Return the search URL.
	 */
	function getSearchUrl( search_string )
	{
		if ( search_string.match( "\"" ) )
		{
			// If there is only one word quotation marks, removing the quotes.
			search_string = checkQuotes( search_string );
		}

		id_section = $("#id_section").val();
		section_name = ( id_section != 2) ? seo_separator_cat + section_search_name : "";

		str = new String( search_string.toLowerCase() );

		search = clean_special_chars( str, true );

		while (search.match("--")) search = str_replace( "--", "-", search );

		url = url_absolute + url_search + "/" + search + section_name;

		if ( search_mobile = $("#search_mobile_filter").val() )
		{
			if ( search_mobile.length > 0 )
			{
				url += "/" + search_mobile;
			}
		}
		if ( $("#search_form_top #ptn").length )
		{
			url += "?ptn=" + $("#search_form_top #ptn").val();
		}

		return url;
	}

	/**
	 * If there is only one word quotation marks, removing the quotes.
	 */
	function checkQuotes( search_string )
	{
		new_search_string = search_string.replace( /\"(.[^\s-]*)\"/g, '$1' )

		return new_search_string;
	}

	/**
	 * Construct & go to advanced search url.
	 */
	function search_advanced()
	{
		search_string = new String( $.trim( $('#search_form #search').val() ) );

		if ( search_string.length < 1 )
		{
			alert( $("#message_error_empty_field").val() );
			$( "#search_form #search" ).addClass("error").focus().val("");
			return false;
		}

		search_url = getSearchUrl( search_string );

		// Quit mobile filter if exists.
	 	search_mobile = $("#search_mobile_filter").val()
	 	if ( search_mobile )
		{
		 	var arr = search_url.split( '/' );
		 	arr.pop();
		 	search_url = arr.join("/");
		}

		// Check advanced filters if exists.
		url_filters = "";
		force_section = $('#force_section').val();
		force_language = $('#force_language').val();
		force_license = $('#force_license').val();
		force_average_rank = $('#force_average_rank').val();
		force_rank = $('#force_rank').val();

		if ( force_section || force_language || force_license || force_average_rank || force_rank )
		{
			url_filters = "/"+ $('#advanced_search_term').val() +"/"+ force_section +"-"+ force_language +"-"+ force_license +"-"+ force_average_rank +"-"+ force_rank;
		}

		// Check mobile filter if exists.
		url_mobile_filter = "";
		if ( search_mobile )
		{
			if ( search_mobile.length > 0 )
			{
				url_mobile_filter = "/" + search_mobile;
			}
		}

		document.location = search_url + url_filters + url_mobile_filter;
	}

	function search_to(frm_id)
	{
		searchlink = "/s/";

		if (frm_id == 0)
		{
			var frm 	= window.document.search_form_top;
			var search	= "#search";
			if ( $("#softonic_search_button").length < 1 )
				checked = true;
			else if ( $("#softonic_search_button").attr("checked") )
				checked = true;
			else
				checked = false;
		}
		else if (frm_id == 1)
		{
			var frm		= window.document.search_form_bottom;
			var search	= "#search_b";
			checked		= frm.search_in[0].checked;
		}
		else if (frm_id == 2)
		{
			var frm		= window.document.search_form_inline;
			var search	= "#search_inline";
			checked		= true;
		}
		else if (frm_id == 3)
		{
			var frm		= window.document.search_form_search;
			var search	= "#search_google";
			checked		= false;
		}

		$( search, frm ).removeClass("error");

		search_value = new String( $.trim(frm.search.value) );
		if ( search_value.length < 1 )
		{
			alert( $("#message_error_empty_field").val() );
			$( search, frm ).addClass("error").focus().val("");
			return false;
		}

		//Apunta al buscador de softonic o al de google segun la seleccion del usuario
		if (checked)
		{
			search_url = getSearchUrl( search_value );
			if ( search_url )
			{
				top.document.location = search_url;
			}
			return false;
		}
		else
		{
			search_value = clean_special_chars ( search_value, true );

			if ( "" != frm.param.value)
			{
				url_google = url_google + "/" + frm.param.value;
			}
			top.document.location = url_google + "/" + search_value ;
			return false;
		}
	}

	function setDriverSearch()
	{
		if (document.getElementById("google_search_button").checked == true) {
			document.drivers_search.action = url_google + "/" + document.getElementById("search").value;
			document.drivers_search.method = "post";
		}
	}

	function ss(w,id){window.status=w;return true;}
	function cs(){window.status='';}

	function iniSelectObj ( id_select, value )
	{
		if ( value == '0' )
			return false;

		var obj = document.getElementById( id_select );
		var i	= 0;

		for ( i = 0; i < obj.options.length; i++ )
		{
			obj.options[i].selected = false;

			if ( obj.options[i].value == value )
				obj.options[i].selected = true;
		}

		return true;
	}

//-----------------------------------------------------------------------------
// FIRST 10 RECORDS IN LIST/SEARCH RESULTS

var first_page = new Array();

function addFirstPage( id_file )
{
	first_page.push( id_file );
}

//-----------------------------------------------------------------------------

function redirectTo( url )
{
	document.location.href = url;
}


//-----------------------------------------------------------------------------
// EXPLICITS IDS

var explicits_ids = new Array();

//-----------------------------------------------------------------------------

function defineDisable( id_obj, disabled )
{
	try
	{
		document.getElementById( id_obj ).disabled = disabled;
	}
	catch (e)
	{
		// Object doesn't exists
	}
}

function changeClassName( id_obj, className )
{
	try
	{
		document.getElementById( id_obj ).className = className;
	}
	catch (e)
	{
		// Object doesn't exists
	}
}

function adjustHeight( row_ids )
{
	var rows	= row_ids.split( '#' );
	var row		= '';
	var ids		= new Array();
	var img		= new Image();
	var max		= 0;

	for( var r = 0; r < rows.length; r++ )
	{
		ids = rows[r].split( '-' );
		max = 0;

		for( var i = 0; i < ids.length; i++ )
		{
			try
			{
				img.src = document.getElementById( 'screenshot_' + ids[i] ).src;

				if( img.height >= max )
					max = parseInt( img.height ) + 10;
			}
			catch (e)
			{
				// Program excluded
			}
		}

		for( var i = 0; i < ids.length; i++ )
		{
			try
			{
				document.getElementById( 'cell_' + ids[i] ).style.height = max + 'px';
			}
			catch (e)
			{
				// Program excluded
			}
		}
	}
}

function attach_hidden_captcha( url, form_id )
{
	$.ajax({
		type: "POST",
		url: url,
		data: "action=get_key",
		dataType: "json",
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );
			if ( json['response'] == 'OK' )
			{
				$('#'+form_id).append('<input type="hidden" value="'+json['data']+'" name="verify_hash" />');
			}
		}
	});
}

function getOS()
{
	var OSName='Windows';
	if (navigator.userAgent.indexOf("Win")!=-1) OSName="Windows";
	if (navigator.userAgent.indexOf('Mac')!=-1) OSName="Mac";
	if (navigator.userAgent.indexOf("X11")!=-1) OSName="Linux";
	if (navigator.userAgent.indexOf("Linux")!=-1) OSName="Linux";

	return OSName;
}

// Teaser bar function.
function closeTeaserBar()
{
	domain_url = new String ( document.domain );
	url = $("#close_teaser_bar").attr( 'href' );
	data = "action=close";

	$.ajax({
		type: "POST",
		url: url,
		data: data,
		dataType: "json",
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );
			if ( json['status'] == 'OK' )
			{
				// Cierro el teaser... de prueba oculto el enlace que borra la X
				$("#close_teaser_bar").hide();
			}
			return false;
		}
	});
}

// Site catalyst event registration.
function scEvent( event )
{
	// SC Disabled.
	return true;

	var s_account = "a64softoniccom2";
	var s_ev = s_gi( s_account );
	s_ev.linkTrackVars = 'events';
	s_ev.linkTrackEvents = event;
	s_ev.events = event;

	s_ev.tl( this, 'o', 'Link_custom' );
}

// ----------------------------------------------------------------------------------
// Last forum posts in home
function home_forum()
{
	var unique_authors = Array ();

	var stop = false;

	if ( 'undefined' != typeof(threads) )
	{
		for ( var i = 0; ( i < threads.length ) && ( stop == false ); i++ )
		{
			if ( exists_in_array ( threads[i]['poster'], unique_authors ) == false )
			{
				unique_authors[ unique_authors.length ] = threads[i]['poster'];

				threads[i]['preview'] = threads[i]['preview'].substring ( 0 , 100 );

				document.getElementById('forumNews').innerHTML += '<div class="item">'+
					'<b><a href="http://foros.softonic.com/showthread.phtml?t=' + threads[i]['threadid'] + '" title="' + threads[i]['preview'] + '...">'+ threads[i]['title']+'</a></b><br>'+
					'<i>'+threads[i]['replycount']+' respuesta(s)</i><div class="by">Por <a href="http://foros.softonic.com/member.phtml?userid=' + threads[i]['posterid'] + '" title="Usuario ' + threads[i]['poster'] + '">' + threads[i]['poster'] + '</a>  '+'</div>'+
				'</div>';
			}

			if ( unique_authors.length == 3 )
			{
				stop = true;
			}
		}
	}
}

function exists_in_array ( id, authors )
{
	var exists = false;

	for ( var i = 0; ( i < authors.length ) && ( exists == false ); i++ )
	{
		if ( authors[i] == id )
		{
			exists = true;
		}
	}

	return exists;
}

function hideAllLayers()
{
	$('#congr_found').addClass("hidden");
	$('#congr_not_found').addClass("hidden");
	$('#congr_not_logged').addClass("hidden");
	$('#congr_not_player').addClass("hidden");
}

/* START Nielsen//NetRatings Event Tracking function */
/* COPYRIGHT 2006 Nielsen//NetRatings */
function _nnEventTrack(_nnClickURL)
{
	var _nnCI = "es-intercom";
	var _nnCG = "0";
	var _nnCC = "uk"; /* country code */
	var _nnLP = location.protocol.indexOf('https')>-1?'https:':'http:';
	var _nnRP = escape(window.location);
	var _nnND = _nnLP + '//secure-' + _nnCC + '.imrworldwide.com/';
	var _nnPixel = new Image(1,1);
	var _nnParams = "rnd=" + (new Date()).getTime() + "&ci=" + _nnCI + "&cg=" + _nnCG;

	_nnClickURL = 'http://' + document.domain + '/' + _nnClickURL;
	_nnParams += "&si=" + escape(_nnClickURL) + "&rp=" + _nnRP;
	_nnPixel.src = _nnND + "cgi-bin/m?" + _nnParams;
}
/* END Nielsen//NetRatings Event Tracking function */


/* @end JAVASCRIPT general */

/* @JAVASCRIPT ga */

(function(){var aa="_gat",s="_gaq",v=true,w=false,x=undefined,ba="4.5.9",z="length",A="cookie",C="location",D="&",E="=",F="__utma=",H="__utmb=",I="__utmc=",ca="__utmk=",K="__utmv=",L="__utmz=",M="__utmx=",da="GASO=";var N=function(f){return x==f||"-"==f||""==f},ea=function(f){return f[z]>0&&" \n\r\t".indexOf(f)>-1},Q=function(f,i,b){var j="-",c;if(!N(f)&&!N(i)&&!N(b)){c=f.indexOf(i);if(c>-1){b=f.indexOf(b,c);if(b<0)b=f[z];j=P(f,c+i.indexOf(E)+1,b)}}return j},fa=function(f){var i=w,b=0,j,c;if(!N(f)){i=v;for(j=0;j<f[z];j++){c=f.charAt(j);b+="."==c?1:0;i=i&&b<=1&&(0==j&&"-"==c||".0123456789".indexOf(c)>-1)}}return i},R=function(f,i){var b=encodeURIComponent;return b instanceof Function?i?encodeURI(f):b(f):escape(f)},
T=function(f,i){var b=decodeURIComponent,j;f=f.split("+").join(" ");if(b instanceof Function)try{j=i?decodeURI(f):b(f)}catch(c){j=unescape(f)}else j=unescape(f);return j},U=function(f,i){return f.indexOf(i)>-1},V=function(f,i){f[f[z]]=i},W=function(f){return f.toLowerCase()},X=function(f,i){return f.split(i)},ga=function(f,i){return f.indexOf(i)},P=function(f,i,b){b=x==b?f[z]:b;return f.substring(i,b)},ia=function(f,i){return f.join(i)},ja=function(f){var i=1,b=0,j;if(!N(f)){i=0;for(j=f[z]-1;j>=0;j--){b=
f.charCodeAt(j);i=(i<<6&268435455)+b+(b<<14);b=i&266338304;i=b!=0?i^b>>21:i}}return i},ka=function(){var f=window,i=x;if(f&&f.gaGlobal&&f.gaGlobal.hid)i=f.gaGlobal.hid;else{i=Y();f.gaGlobal=f.gaGlobal?f.gaGlobal:{};f.gaGlobal.hid=i}return i},Y=function(){return Math.round(Math.random()*2147483647)},Z={Ha:function(f,i){this.bb=f;this.nb=i},t:63072000000,ib:w,_gasoDomain:x,_gasoCPath:x};Z.Gb=function(){var f=this,i=Z.Ha;function b(c){return new i(c[0],c[1])}function j(c){var p=[];c=c.split(",");var m;for(m=0;m<c.length;++m)p.push(b(c[m].split(":")));return p}f.Ia="utm_campaign";f.Ja="utm_content";f.Ka="utm_id";f.La="utm_medium";f.Ma="utm_nooverride";f.Na="utm_source";f.Oa="utm_term";f.Pa="gclid";f.ba=0;f.z=0;f.Ya="15768000";f.sb="1800";f.ta=[];f.va=[];f.nc="cse";f.oc="q";f.ob=5;f.T=j("images.google:q,google:q,yahoo:p,msn:q,bing:q,aol:query,aol:encquery,lycos:query,ask:q,altavista:q,netscape:query,cnn:query,looksmart:qt,about:terms,mamma:query,alltheweb:q,gigablast:q,voila:rdata,virgilio:qs,live:q,baidu:wd,alice:qs,yandex:text,najdi:q,aol:q,club-internet:query,mama:query,seznam:q,search:q,wp:szukaj,onet:qt,netsprint:q,google.interia:q,szukacz:q,yam:k,pchome:q,kvasir:q,sesam:q,ozu:q,terra:query,nostrum:query,mynet:q,ekolay:q,search.ilse:search_for,rambler:words");
f.u=x;f.lb=w;f.h="/";f.U=100;f.oa="/__utm.gif";f.ga=1;f.ha=1;f.v="|";f.fa=1;f.da=1;f.Ra=1;f.b="auto";f.I=1;f.ra=1000;f.Jc=10;f.Pb=10;f.Kc=0.2;f.o=x;f.a=document;f.e=window};Z.Hb=function(f){var i=this,b=f;i.r=(new Date).getTime();var j=[F,H,I,L,K,M,da];function c(k,n,r,a){var d="",l=0;d=Q(k,"2"+n,";");if(!N(d)){k=d.indexOf("^"+r+".");if(k<0)return["",0];d=P(d,k+r[z]+2);if(d.indexOf("^")>0)d=d.split("^")[0];r=d.split(":");d=r[1];l=parseInt(r[0],10);if(!a&&l<i.r)d=""}if(N(d))d="";return[d,l]}i.k=function(){var k=b.a[A];return b.o?i.Wb(k,b.o):k};i.Wb=function(k,n){var r=[],a,d;for(a=0;a<j[z];a++){d=c(k,j[a],n)[0];N(d)||(r[r[z]]=j[a]+d+";")}return r.join("")};i.l=function(k,
n,r){var a=r>0?h(r):"";if(b.o){n=i.kc(b.a[A],k,b.o,n,r);k="2"+k;a=e(r)}q(k+n,a)};i.kc=function(k,n,r,a,d){var l="";d=p(d);a=m([a,i.r+d*1],r);l=Q(k,"2"+n,";");if(!N(l)){k=m(c(k,n,r,v),r);l=ia(l.split(k),"");return l=a+l}return a};function p(k){return k||Z.t}function m(k,n){return"^"+ia([[n,k[1]].join("."),k[0]],":")}function q(k,n){b.a[A]=k+"; path="+b.h+"; "+n+i.fb()}i.fb=function(){return N(b.b)?"":"domain="+b.b+";"};function e(k){return k>0?g():""}function g(){return h(Z.t)}function h(k){var n=
new Date;k=new Date(n.getTime()+k);return"expires="+k.toGMTString()+"; "}};Z.$=function(f){var i,b,j,c,p,m,q,e=this,g,h=f;e.j=new Z.Hb(f);function k(a){a=a instanceof Array?a.join("."):"";return N(a)?"-":a}function n(a,d){var l=[];if(!N(a)){l=a.split(".");if(d)for(a=0;a<l[z];a++)fa(l[a])||(l[a]="-")}return l}function r(a,d,l){var t=e.M,o,u;for(o=0;o<t[z];o++){u=t[o][0];u+=N(d)?d:d+t[o][4];t[o][2](Q(a,u,l))}}e.kb=function(){return x==g||g==e.P()};e.k=function(){return e.j.k()};e.ma=function(){return p?p:"-"};e.vb=function(a){p=a};e.za=function(a){g=fa(a)?a*1:"-"};e.la=function(){return k(m)};
e.Aa=function(a){m=n(a)};e.Vb=function(){e.j.l(K,"",-1)};e.lc=function(){return g?g:"-"};e.fb=function(){return N(h.b)?"":"domain="+h.b+";"};e.ja=function(){return k(i)};e.tb=function(a){i=n(a,1)};e.C=function(){return k(b)};e.ya=function(a){b=n(a,1)};e.ka=function(){return k(j)};e.ub=function(a){j=n(a,1)};e.na=function(){return k(c)};e.wb=function(a){c=n(a);for(a=0;a<c[z];a++)if(a<4&&!fa(c[a]))c[a]="-"};e.fc=function(){return q};e.Dc=function(a){q=a};e.Sb=function(){i=[];b=[];j=[];c=[];p=x;m=[];
g=x};e.P=function(){var a="",d;for(d=0;d<e.M[z];d++)a+=e.M[d][1]();return ja(a)};e.ua=function(a){var d=e.k(),l=w;if(d){r(d,a,";");e.za(e.P());l=v}return l};e.zc=function(a){r(a,"",D);e.za(Q(a,ca,D))};e.Hc=function(){var a=e.M,d=[],l;for(l=0;l<a[z];l++)V(d,a[l][0]+a[l][1]());V(d,ca+e.P());return d.join(D)};e.Nc=function(a,d){var l=e.M,t=h.h;e.ua(a);h.h=d;for(a=0;a<l[z];a++)N(l[a][1]())||l[a][3]();h.h=t};e.Cb=function(){e.j.l(F,e.ja(),Z.t)};e.Ea=function(){e.j.l(H,e.C(),h.sb*1000)};e.Db=function(){e.j.l(I,
e.ka(),0)};e.Ga=function(){e.j.l(L,e.na(),h.Ya*1000)};e.Eb=function(){e.j.l(M,e.ma(),Z.t)};e.Fa=function(){e.j.l(K,e.la(),Z.t)};e.Oc=function(){e.j.l(da,e.fc(),0)};e.M=[[F,e.ja,e.tb,e.Cb,"."],[H,e.C,e.ya,e.Ea,""],[I,e.ka,e.ub,e.Db,""],[M,e.ma,e.vb,e.Eb,""],[L,e.na,e.wb,e.Ga,"."],[K,e.la,e.Aa,e.Fa,"."]]};Z.Kb=function(f){var i=this,b=f,j=new Z.$(b),c=function(){},p=function(m){var q=(new Date).getTime(),e;e=(q-m[3])*(b.Kc/1000);if(e>=1){m[2]=Math.min(Math.floor(m[2]*1+e),b.Pb);m[3]=q}return m};i.H=function(m,q,e,g,h,k){var n,r=b.I,a=b.a[C];j.ua(e);n=X(j.C(),".");if(n[1]<500||g){if(h)n=p(n);if(g||!h||n[2]>=1){if(!g&&h)n[2]=n[2]*1-1;n[1]=n[1]*1+1;m="?utmwv="+ba+"&utmn="+Y()+(N(a.hostname)?"":"&utmhn="+R(a.hostname))+(b.U==100?"":"&utmsp="+R(b.U))+m;if(0==r||2==r){g=2==r?c:k||c;i.$a(b.oa+m,g)}if(1==
r||2==r){m=("https:"==a.protocol?"https://ssl.google-analytics.com/__utm.gif":"http://www.google-analytics.com/__utm.gif")+m+"&utmac="+q+"&utmcc="+i.ac(e);if(la)m+="&gaq=1";i.$a(m,k)}}}j.ya(n.join("."));j.Ea()};i.$a=function(m,q){var e=new Image(1,1);e.src=m;e.onload=function(){e.onload=null;(q||c)()}};i.ac=function(m){var q=[],e=[F,L,K,M],g,h=j.k(),k;for(g=0;g<e[z];g++){k=Q(h,e[g]+m,";");if(!N(k)){if(e[g]==K){k=X(k.split(m+".")[1],"|")[0];if(N(k))continue;k=m+"."+k}V(q,e[g]+k+";")}}return R(q.join("+"))}};Z.n=function(){var f=this;f.Y=[];f.hb=function(i){var b,j=f.Y,c;for(c=0;c<j.length;c++)b=i==j[c].q?j[c]:b;return b};f.Ob=function(i,b,j,c,p,m,q,e){var g=f.hb(i);if(x==g){g=new Z.n.Mb(i,b,j,c,p,m,q,e);V(f.Y,g)}else{g.Qa=b;g.Ab=j;g.zb=c;g.xb=p;g.Wa=m;g.yb=q;g.Za=e}return g}};Z.n.Lb=function(f,i,b,j,c,p){var m=this;m.Bb=f;m.Ba=i;m.D=b;m.Ua=j;m.pb=c;m.qb=p;m.Ca=function(){return"&"+["utmt=item","tid="+R(m.Bb),"ipc="+R(m.Ba),"ipn="+R(m.D),"iva="+R(m.Ua),"ipr="+R(m.pb),"iqt="+R(m.qb)].join("&utm")}};
Z.n.Mb=function(f,i,b,j,c,p,m,q){var e=this;e.q=f;e.Qa=i;e.Ab=b;e.zb=j;e.xb=c;e.Wa=p;e.yb=m;e.Za=q;e.R=[];e.Nb=function(g,h,k,n,r){var a=e.gc(g),d=e.q;if(x==a)V(e.R,new Z.n.Lb(d,g,h,k,n,r));else{a.Bb=d;a.Ba=g;a.D=h;a.Ua=k;a.pb=n;a.qb=r}};e.gc=function(g){var h,k=e.R,n;for(n=0;n<k.length;n++)h=g==k[n].Ba?k[n]:h;return h};e.Ca=function(){return"&"+["utmt=tran","id="+R(e.q),"st="+R(e.Qa),"to="+R(e.Ab),"tx="+R(e.zb),"sp="+R(e.xb),"ci="+R(e.Wa),"rg="+R(e.yb),"co="+R(e.Za)].join("&utmt")}};Z.Fb=function(f){var i=f,b=i.e,j=this,c="-";j.V=b.screen;j.Sa=!j.V&&b.java?java.awt.Toolkit.getDefaultToolkit():x;j.d=b.navigator;j.W=c;j.xa=c;j.Va=c;j.qa=c;j.pa=1;j.eb=c;function p(){var m,q,e;q="ShockwaveFlash";var g="$version",h=j.d?j.d.plugins:x;if(h&&h[z]>0)for(m=0;m<h[z]&&!e;m++){q=h[m];if(U(q.name,"Shockwave Flash"))e=q.description.split("Shockwave Flash ")[1]}else{q=q+"."+q;try{m=new ActiveXObject(q+".7");e=m.GetVariable(g)}catch(k){}if(!e)try{m=new ActiveXObject(q+".6");e="WIN 6,0,21,0";
m.AllowScriptAccess="always";e=m.GetVariable(g)}catch(n){}if(!e)try{m=new ActiveXObject(q);e=m.GetVariable(g)}catch(r){}if(e){e=X(e.split(" ")[1],",");e=e[0]+"."+e[1]+" r"+e[2]}}return e?e:c}j.bc=function(){var m;if(b.screen){j.W=j.V.width+"x"+j.V.height;j.xa=j.V.colorDepth+"-bit"}else if(j.Sa)try{m=j.Sa.getScreenSize();j.W=m.width+"x"+m.height}catch(q){}j.qa=W(j.d&&j.d.language?j.d.language:j.d&&j.d.browserLanguage?j.d.browserLanguage:c);j.pa=j.d&&j.d.javaEnabled()?1:0;j.eb=i.ha?p():c;j.Va=R(i.a.characterSet?
i.a.characterSet:i.a.charset?i.a.charset:c)};j.Ic=function(){return D+"utm"+["cs="+R(j.Va),"sr="+j.W,"sc="+j.xa,"ul="+j.qa,"je="+j.pa,"fl="+R(j.eb)].join("&utm")};j.$b=function(){var m=i.a,q=b.history[z];m=j.d.appName+j.d.version+j.qa+j.d.platform+j.d.userAgent+j.pa+j.W+j.xa+(m[A]?m[A]:"")+(m.referrer?m.referrer:"");for(var e=m[z];q>0;)m+=q--^e++;return ja(m)}};Z.m=function(f,i,b,j){var c=j,p=this;p.c=f;p.rb=i;p.r=b;function m(g){return N(g)||"0"==g||!U(g,"://")}function q(g){var h="";g=W(g.split("://")[1]);if(U(g,"/")){g=g.split("/")[1];if(U(g,"?"))h=g.split("?")[0]}return h}function e(g){var h="";h=W(g.split("://")[1]);if(U(h,"/"))h=h.split("/")[0];return h}p.ic=function(g){var h=p.gb();return new Z.m.w(Q(g,c.Ka+E,D),Q(g,c.Na+E,D),Q(g,c.Pa+E,D),p.Q(g,c.Ia,"(not set)"),p.Q(g,c.La,"(not set)"),p.Q(g,c.Oa,h&&!N(h.K)?T(h.K):x),p.Q(g,c.Ja,x))};p.jb=function(g){var h=
e(g),k=q(g);if(U(h,"google")){g=g.split("?").join(D);if(U(g,D+c.oc+E))if(k==c.nc)return v}return w};p.gb=function(){var g,h=p.rb,k,n,r=c.T;if(!(m(h)||p.jb(h))){g=e(h);for(k=0;k<r[z];k++){n=r[k];if(U(g,W(n.bb))){h=h.split("?").join(D);if(U(h,D+n.nb+E)){g=h.split(D+n.nb+E)[1];if(U(g,D))g=g.split(D)[0];return new Z.m.w(x,n.bb,x,"(organic)","organic",g,x)}}}}};p.Q=function(g,h,k){g=Q(g,h+E,D);return k=!N(g)?T(g):!N(k)?k:"-"};p.uc=function(g){var h=c.ta,k=w,n;if(g&&"organic"==g.S){g=W(T(g.K));for(n=0;n<
h[z];n++)k=k||W(h[n])==g}return k};p.hc=function(){var g="",h="";g=p.rb;if(!(m(g)||p.jb(g))){g=g.split("://")[1];if(U(g,"/")){h=P(g,g.indexOf("/"));h=h.split("?")[0];g=W(g.split("/")[0])}if(0==g.indexOf("www."))g=P(g,4);return new Z.m.w(x,g,x,"(referral)","referral",x,h)}};p.Xb=function(g){var h="";if(c.ba){h=g&&g.hash?g.href.substring(g.href.indexOf("#")):"";h=""!=h?h+D:h}h+=g.search;return h};p.dc=function(){return new Z.m.w(x,"(direct)",x,"(direct)","(none)",x,x)};p.vc=function(g){var h=w,k,n=
c.va;if(g&&"referral"==g.S){g=W(R(g.X));for(k=0;k<n[z];k++)h=h||U(g,W(n[k]))}return h};p.L=function(g){return x!=g&&g.mb()};p.cc=function(g,h){var k="",n="-",r,a=0,d,l,t=p.c;if(!g)return"";l=g.k();k=p.Xb(c.a[C]);if(c.z&&g.kb()){n=g.na();if(!N(n)&&!U(n,";")){g.Ga();return""}}n=Q(l,L+t+".",";");r=p.ic(k);if(p.L(r)){k=Q(k,c.Ma+E,D);if("1"==k&&!N(n))return""}if(!p.L(r)){r=p.gb();if(!N(n)&&p.uc(r))return""}if(!p.L(r)&&h){r=p.hc();if(!N(n)&&p.vc(r))return""}if(!p.L(r))if(N(n)&&h)r=p.dc();if(!p.L(r))return"";
if(!N(n)){a=n.split(".");d=new Z.m.w;d.Zb(a.slice(4).join("."));d=W(d.Da())==W(r.Da());a=a[3]*1}if(!d||h){h=Q(l,F+t+".",";");l=h.lastIndexOf(".");h=l>9?P(h,l+1)*1:0;a++;h=0==h?1:h;g.wb([t,p.r,h,a,r.Da()].join("."));g.Ga();return D+"utmcn=1"}else return D+"utmcr=1"}};
Z.m.w=function(f,i,b,j,c,p,m){var q=this;q.q=f;q.X=i;q.ea=b;q.D=j;q.S=c;q.K=p;q.Xa=m;q.Da=function(){var e=[],g=[["cid",q.q],["csr",q.X],["gclid",q.ea],["ccn",q.D],["cmd",q.S],["ctr",q.K],["cct",q.Xa]],h,k;if(q.mb())for(h=0;h<g[z];h++)if(!N(g[h][1])){k=g[h][1].split("+").join("%20");k=k.split(" ").join("%20");V(e,"utm"+g[h][0]+E+k)}return e.join("|")};q.mb=function(){return!(N(q.q)&&N(q.X)&&N(q.ea))};q.Zb=function(e){var g=function(h){return T(Q(e,"utm"+h+E,"|"))};q.q=g("cid");q.X=g("csr");q.ea=g("gclid");
q.D=g("ccn");q.S=g("cmd");q.K=g("ctr");q.Xa=g("cct")}};Z.Ib=function(f,i,b,j){var c=this,p=i,m=E,q=f,e=j;c.O=b;c.sa="";c.p={};c.tc=function(){var h;h=X(Q(c.O.k(),K+p+".",";"),p+".")[1];if(!N(h)){h=h.split("|");g(1,c.p,h[1]);c.sa=h[0];c.Z()}};c.Z=function(){c.Qb();var h=c.sa,k,n,r="";for(k in c.p)if((n=c.p[k])&&1===n[2])r+=k+m+n[0]+m+n[1]+m+1+",";N(r)||(h+="|"+r);if(N(h))c.O.Vb();else{c.O.Aa(p+"."+h);c.O.Fa()}};c.Ec=function(h){c.sa=h;c.Z()};c.Cc=function(h,k,n,r){if(1!=r&&2!=r&&3!=r)r=3;var a=w;if(k&&n&&h>0&&h<=q.ob){k=R(k);n=R(n);if(k[z]+n[z]<=64){c.p[h]=
[k,n,r];c.Z();a=v}}return a};c.mc=function(h){if((h=c.p[h])&&1===h[2])return h[1]};c.Ub=function(h){var k=c.p;if(k[h]){delete k[h];c.Z()}};c.Qb=function(){e._clearKey(8);e._clearKey(9);e._clearKey(11);var h=c.p,k,n;for(n in h)if(k=h[n]){e._setKey(8,n,k[0]);e._setKey(9,n,k[1]);(k=k[2])&&3!=k&&e._setKey(11,n,""+k)}};function g(h,k,n){var r;if(!N(n)){n=n.split(",");for(var a=0;a<n[z];a++){r=n[a];if(!N(r)){r=r.split(m);if(r[z]==4)k[r[0]]=[r[1],r[2],h]}}}}};Z.N=function(){var f=this,i={},b="k",j="v",c=[b,j],p="(",m=")",q="*",e="!",g="'",h={};h[g]="'0";h[m]="'1";h[q]="'2";h[e]="'3";var k=1;function n(o,u,y,B){if(x==i[o])i[o]={};if(x==i[o][u])i[o][u]=[];i[o][u][y]=B}function r(o,u,y){return x!=i[o]&&x!=i[o][u]?i[o][u][y]:x}function a(o,u){if(x!=i[o]&&x!=i[o][u]){i[o][u]=x;u=v;var y;for(y=0;y<c[z];y++)if(x!=i[o][c[y]]){u=w;break}if(u)i[o]=x}}function d(o){var u="",y=w,B,O;for(B=0;B<c[z];B++){O=o[c[B]];if(x!=O){if(y)u+=c[B];u+=l(O);y=w}else y=v}return u}
function l(o){var u=[],y,B;for(B=0;B<o[z];B++)if(x!=o[B]){y="";if(B!=k&&x==o[B-1])y+=B.toString()+e;y+=t(o[B]);V(u,y)}return p+u.join(q)+m}function t(o){var u="",y,B,O;for(y=0;y<o[z];y++){B=o.charAt(y);O=h[B];u+=x!=O?O:B}return u}f.qc=function(o){return x!=i[o]};f.G=function(){var o="",u;for(u in i)if(x!=i[u])o+=u.toString()+d(i[u]);return o};f.Ac=function(o){if(o==x)return f.G();var u=o.G(),y;for(y in i)if(x!=i[y]&&!o.qc(y))u+=y.toString()+d(i[y]);return u};f._setKey=function(o,u,y){if(typeof y!=
"string")return w;n(o,b,u,y);return v};f._setValue=function(o,u,y){if(typeof y!="number"&&(x==Number||!(y instanceof Number))||Math.round(y)!=y||y==NaN||y==Infinity)return w;n(o,j,u,y.toString());return v};f._getKey=function(o,u){return r(o,b,u)};f._getValue=function(o,u){return r(o,j,u)};f._clearKey=function(o){a(o,b)};f._clearValue=function(o){a(o,j)}};Z.Jb=function(f,i){var b=this;b.Qc=i;b.xc=f;b._trackEvent=function(j,c,p){return i._trackEvent(b.xc,j,c,p)}};Z.aa=function(f,i){var b=this,j=x,c=new Z.Gb,p=w,m=x;b.e=window;b.r=Math.round((new Date).getTime()/1000);b.s=f||"UA-XXXXX-X";b.ab=c.a.referrer;b.ia=x;b.f=x;b.B=x;b.F=w;b.A=x;b.Ta="";b.g=x;b.cb=x;b.c=x;b.i=x;c.o=i?R(i):x;function q(){if("auto"==c.b){var a=c.a.domain;if("www."==P(a,0,4))a=P(a,4);c.b=a}c.b=W(c.b)}function e(){var a=c.b,d=a.indexOf("www.google.")*a.indexOf(".google.")*a.indexOf("google.");return d||"/"!=c.h||a.indexOf("google.org")>-1}function g(a,d,l){if(N(a)||N(d)||N(l))return"-";
a=Q(a,F+b.c+".",d);if(!N(a)){a=a.split(".");a[5]=a[5]?a[5]*1+1:1;a[3]=a[4];a[4]=l;a=a.join(".")}return a}function h(){return"file:"!=c.a[C].protocol&&e()}function k(a){if(!a||""==a)return"";for(;ea(a.charAt(0));)a=P(a,1);for(;ea(a.charAt(a[z]-1));)a=P(a,0,a[z]-1);return a}function n(a,d,l,t){if(!N(a())){d(t?T(a()):a());U(a(),";")||l()}}function r(a){var d,l=""!=a&&c.a[C].host!=a;if(l)for(d=0;d<c.u[z];d++)l=l&&ga(W(a),W(c.u[d]))==-1;return l}b.wc=function(){var a=w;if(b.B)a=b.B.match(/^[0-9a-z-_.]{10,1200}$/i);
return a};b.jc=function(){return Y()^b.A.$b()&2147483647};b.ec=function(){if(!c.b||""==c.b||"none"==c.b){c.b="";return 1}q();return c.Ra?ja(c.b):1};b.Yb=function(a,d){if(N(a))a="-";else{d+=c.h&&"/"!=c.h?c.h:"";d=a.indexOf(d);a=d>=0&&d<=8?"0":"["==a.charAt(0)&&"]"==a.charAt(a[z]-1)?"-":a}return a};b.wa=function(a){var d="",l=c.a;d+=c.fa?b.A.Ic():"";d+=c.da?b.Ta:"";d+=c.ga&&!N(l.title)?"&utmdt="+R(l.title):"";d+="&utmhid="+ka()+"&utmr="+R(b.ia)+"&utmp="+R(b.Bc(a));return d};b.Bc=function(a){var d=c.a[C];
return a=x!=a&&""!=a?R(a,v):R(d.pathname+d.search,v)};b.Lc=function(a){if(b.J()){var d="";if(b.g!=x&&b.g.G()[z]>0)d+="&utme="+R(b.g.G());d+=b.wa(a);j.H(d,b.s,b.c)}};b.Tb=function(){var a=new Z.$(c);return a.ua(b.c)?a.Hc():x};b._getLinkerUrl=function(a,d){var l=a.split("#"),t=a,o=b.Tb();if(o)if(d&&1>=l[z])t+="#"+o;else if(!d||1>=l[z])if(1>=l[z])t+=(U(a,"?")?D:"?")+o;else t=l[0]+(U(a,"?")?D:"?")+o+"#"+l[1];return t};b.Fc=function(){var a;if(b.wc()){b.i.Dc(b.B);b.i.Oc();Z._gasoDomain=c.b;Z._gasoCPath=
c.h;a=c.a.createElement("script");a.type="text/javascript";a.id="_gasojs";a.src="https://www.google.com/analytics/reporting/overlay_js?gaso="+b.B+D+Y();c.a.getElementsByTagName("head")[0].appendChild(a)}};b.pc=function(){var a=b.r,d=b.i,l=d.k(),t=b.c+"",o=c.e,u=o?o.gaGlobal:x,y,B=U(l,F+t+"."),O=U(l,H+t),ma=U(l,I+t),G,J=[],S="",ha=w;l=N(l)?"":l;if(c.z){y=c.a[C]&&c.a[C].hash?c.a[C].href.substring(c.a[C].href.indexOf("#")):"";if(c.ba&&!N(y))S=y+D;S+=c.a[C].search;if(!N(S)&&U(S,F)){d.zc(S);d.kb()||d.Sb();
G=d.ja()}n(d.ma,d.vb,d.Eb,true);n(d.la,d.Aa,d.Fa)}if(N(G))if(B)if(!O||!ma){G=g(l,";",a);b.F=v}else{G=Q(l,F+t+".",";");J=X(Q(l,H+t,";"),".")}else{G=ia([t,b.jc(),a,a,a,1],".");ha=b.F=v}else if(N(d.C())||N(d.ka())){G=g(S,D,a);b.F=v}else{J=X(d.C(),".");t=J[0]}G=G.split(".");if(o&&u&&u.dh==t&&!c.o){G[4]=u.sid?u.sid:G[4];if(ha){G[3]=u.sid?u.sid:G[4];if(u.vid){a=u.vid.split(".");G[1]=a[0];G[2]=a[1]}}}d.tb(G.join("."));J[0]=t;J[1]=J[1]?J[1]:0;J[2]=x!=J[2]?J[2]:c.Jc;J[3]=J[3]?J[3]:G[4];d.ya(J.join("."));d.ub(t);
N(d.lc())||d.za(d.P());d.Cb();d.Ea();d.Db()};b.rc=function(){j=new Z.Kb(c)};b._initData=function(){var a;if(!p){if(!b.A){b.A=new Z.Fb(c);b.A.bc()}b.c=b.ec();b.i=new Z.$(c);b.g=new Z.N;m=new Z.Ib(c,b.c,b.i,b.g);b.rc()}if(h()){b.pc();m.tc()}if(!p){if(h()){b.ia=b.Yb(b.ab,c.a.domain);if(c.da){a=new Z.m(b.c,b.ia,b.r,c);b.Ta=a.cc(b.i,b.F)}}b.cb=new Z.N;p=v}Z.ib||b.sc()};b._visitCode=function(){b._initData();var a=Q(b.i.k(),F+b.c+".",";");a=a.split(".");return a[z]<4?"":a[1]};b._cookiePathCopy=function(a){b._initData();
b.i&&b.i.Nc(b.c,a)};b.sc=function(){var a=c.a[C].hash;if(a&&1==a.indexOf("gaso="))a=Q(a,"gaso=",D);else a=(a=c.e.name)&&0<=a.indexOf("gaso=")?Q(a,"gaso=",D):Q(b.i.k(),da,";");if(a[z]>=10){b.B=a;b.Fc()}Z.ib=v};b.J=function(){return b._visitCode()%10000<c.U*100};b.Gc=function(){var a,d,l=c.a.links;if(!c.lb){a=c.a.domain;if("www."==P(a,0,4))a=P(a,4);c.u.push("."+a)}for(a=0;a<l[z]&&(c.ra==-1||a<c.ra);a++){d=l[a];if(r(d.host))if(!d.gatcOnclick){d.gatcOnclick=d.onclick?d.onclick:b.yc;d.onclick=function(t){var o=
!this.target||this.target=="_self"||this.target=="_top"||this.target=="_parent";o=o&&!b.Rb(t);b.Mc(t,this,o);return o?w:this.gatcOnclick?this.gatcOnclick(t):v}}}};b.yc=function(){};b._trackPageview=function(a){if(h()){b._initData();c.u&&b.Gc();b.Lc(a);b.F=w}};b._trackTrans=function(){var a=b.c,d=[],l,t,o;b._initData();if(b.f&&b.J()){for(l=0;l<b.f.Y[z];l++){t=b.f.Y[l];V(d,t.Ca());for(o=0;o<t.R[z];o++)V(d,t.R[o].Ca())}for(l=0;l<d[z];l++)j.H(d[l],b.s,a,v)}};b._setTrans=function(){var a=c.a,d,l,t;a=a.getElementById?
a.getElementById("utmtrans"):a.utmform&&a.utmform.utmtrans?a.utmform.utmtrans:x;b._initData();if(a&&a.value){b.f=new Z.n;t=a.value.split("UTM:");c.v=!c.v||""==c.v?"|":c.v;for(a=0;a<t[z];a++){t[a]=k(t[a]);d=t[a].split(c.v);for(l=0;l<d[z];l++)d[l]=k(d[l]);if("T"==d[0])b._addTrans(d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8]);else"I"==d[0]&&b._addItem(d[1],d[2],d[3],d[4],d[5],d[6])}}};b._addTrans=function(a,d,l,t,o,u,y,B){b.f=b.f?b.f:new Z.n;return b.f.Ob(a,d,l,t,o,u,y,B)};b._addItem=function(a,d,l,t,o,u){var y;
b.f=b.f?b.f:new Z.n;(y=b.f.hb(a))||(y=b._addTrans(a,"","","","","","",""));y.Nb(d,l,t,o,u)};b._setVar=function(a){if(a&&""!=a&&e()){b._initData();m.Ec(R(a));b.J()&&j.H("&utmt=var",b.s,b.c)}};b._setCustomVar=function(a,d,l,t){b._initData();return m.Cc(a,d,l,t)};b._deleteCustomVar=function(a){b._initData();m.Ub(a)};b._getVisitorCustomVar=function(a){b._initData();return m.mc(a)};b._setMaxCustomVariables=function(a){c.ob=a};b._link=function(a,d){if(c.z&&a){b._initData();c.a[C].href=b._getLinkerUrl(a,
d)}};b._linkByPost=function(a,d){if(c.z&&a&&a.action){b._initData();a.action=b._getLinkerUrl(a.action,d)}};b._setXKey=function(a,d,l){b.g._setKey(a,d,l)};b._setXValue=function(a,d,l){b.g._setValue(a,d,l)};b._getXKey=function(a,d){return b.g._getKey(a,d)};b._getXValue=function(a,d){return b.g.getValue(a,d)};b._clearXKey=function(a){b.g._clearKey(a)};b._clearXValue=function(a){b.g._clearValue(a)};b._createXObj=function(){b._initData();return new Z.N};b._sendXEvent=function(a){var d="";b._initData();
if(b.J()){d+="&utmt=event&utme="+R(b.g.Ac(a))+b.wa();j.H(d,b.s,b.c,w,v)}};b._createEventTracker=function(a){b._initData();return new Z.Jb(a,b)};b._trackEvent=function(a,d,l,t){var o=b.cb;if(x!=a&&x!=d&&""!=a&&""!=d){o._clearKey(5);o._clearValue(5);(a=o._setKey(5,1,a)&&o._setKey(5,2,d)&&(x==l||o._setKey(5,3,l))&&(x==t||o._setValue(5,1,t)))&&b._sendXEvent(o)}else a=w;return a};b.Mc=function(a,d,l){b._initData();if(b.J()){var t=new Z.N;t._setKey(6,1,d.href);var o=l?function(){b.db(a,d)}:x;j.H("&utmt=event&utme="+
R(t.G())+b.wa(),b.s,b.c,w,v,o);if(l){var u=this;c.e.setTimeout(function(){u.db(a,d)},500)}}};b.db=function(a,d){if(!a)a=c.e.event;var l=v;if(d.gatcOnclick)l=d.gatcOnclick(a);if(l||typeof l=="undefined")if(!d.target||d.target=="_self")c.e[C]=d.href;else if(d.target=="_top")c.e.top.document[C]=d.href;else if(d.target=="_parent")c.e.parent.document[C]=d.href};b.Rb=function(a){if(!a)a=c.e.event;var d=a.shiftKey||a.ctrlKey||a.altKey;if(!d)if(a.modifiers&&c.e.Event)d=a.modifiers&c.e.Event.CONTROL_MASK||
a.modifiers&c.e.Event.SHIFT_MASK||a.modifiers&c.e.Event.ALT_MASK;return d};b.Pc=function(){return c};b._setDomainName=function(a){c.b=a};b._addOrganic=function(a,d,l){c.T.splice(l?0:c.T.length,0,new Z.Ha(a,d))};b._clearOrganic=function(){c.T=[]};b._addIgnoredOrganic=function(a){V(c.ta,a)};b._clearIgnoredOrganic=function(){c.ta=[]};b._addIgnoredRef=function(a){V(c.va,a)};b._clearIgnoredRef=function(){c.va=[]};b._setAllowHash=function(a){c.Ra=a?1:0};b._setCampaignTrack=function(a){c.da=a?1:0};b._setClientInfo=
function(a){c.fa=a?1:0};b._getClientInfo=function(){return c.fa};b._setCookiePath=function(a){c.h=a};b._setTransactionDelim=function(a){c.v=a};b._setCookieTimeout=function(a){c.Ya=a};b._setDetectFlash=function(a){c.ha=a?1:0};b._getDetectFlash=function(){return c.ha};b._setDetectTitle=function(a){c.ga=a?1:0};b._getDetectTitle=function(){return c.ga};b._setLocalGifPath=function(a){c.oa=a};b._getLocalGifPath=function(){return c.oa};b._setLocalServerMode=function(){c.I=0};b._setRemoteServerMode=function(){c.I=
1};b._setLocalRemoteServerMode=function(){c.I=2};b._getServiceMode=function(){return c.I};b._setSampleRate=function(a){c.U=a};b._setSessionTimeout=function(a){c.sb=a};b._setAllowLinker=function(a){c.z=a?1:0};b._setAllowAnchor=function(a){c.ba=a?1:0};b._setCampNameKey=function(a){c.Ia=a};b._setCampContentKey=function(a){c.Ja=a};b._setCampIdKey=function(a){c.Ka=a};b._setCampMediumKey=function(a){c.La=a};b._setCampNOKey=function(a){c.Ma=a};b._setCampSourceKey=function(a){c.Na=a};b._setCampTermKey=function(a){c.Oa=
a};b._setCampCIdKey=function(a){c.Pa=a};b._getAccount=function(){return b.s};b._setAccount=function(a){b.s=a};b._setNamespace=function(a){c.o=a?R(a):x};b._getVersion=function(){return ba};b._setAutoTrackOutbound=function(a){c.u=[];if(a)c.u=a};b._setTrackOutboundSubdomains=function(a){c.lb=a};b._setHrefExamineLimit=function(a){c.ra=a};b._setReferrerOverride=function(a){b.ab=a};b._setCookiePersistence=function(a){Z.t=a}};Z._getTracker=function(f,i){return new Z.aa(f,i)};var $={ca:{},_createAsyncTracker:function(f,i){i=i||"";f=new Z.aa(f);return $.ca[i]=f},_getAsyncTracker:function(f){f=f||"";var i=$.ca[f];if(!i){i=new Z.aa;$.ca[f]=i}return i},push:function(){for(var f=arguments,i=0,b=0;b<f[z];b++)try{if(typeof f[b]==="function")f[b]();else{var j="",c=f[b][0],p=c.lastIndexOf(".");if(p>0){j=P(c,0,p);c=P(c,p+1)}var m=$._getAsyncTracker(j);m[c].apply(m,f[b].slice(1))}}catch(q){i++}return i}};window[aa]=Z;var la=window[s];function na(){var f=window[s],i=w;if(f&&typeof f.push=="function"){i=f.constructor==Array;if(!i)return}window[s]=$;i&&$.push.apply($,f)}na();})()


/* @end JAVASCRIPT ga */

/* @JAVASCRIPT file */

/**
 * General dependences of Softonic's Program Page Javascript Library:
 * - Jquery Library ( http://jquery.com/ )
 */

/**
 * Variables definition
 */

var user_rate = new Number( 0 );
var english_numbers = new Array ( "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" );

/**
 * Functions definition
 */

/**
 * Sets 'OK' style and hides an error message for a given field.
 */
function setFieldAsOK( field )
{
	// Put the text of the error.
	$('#' + field.attr('id') ).parent().removeClass('error').find('div.error').remove();

	// Show the actual tooltip (if any).
	$('#' + field.attr('id') + '_tooltip').show();

	return true;
}

/**
 * Sets 'ERROR' style and shows an error message for a given field.
 */
function setFieldAsInvalid( field, error_message )
{

	// Hide the actual tooltip (if any).
	$('#' + field.attr('id') + '_tooltip').hide();

	// Put the text of the error.
	$('#' + field.attr('id') ).parent().removeClass('error').find('div.error').remove();
	$('#' + field.attr('id') ).parent().addClass('error').append('<div class="error">'+ error_message +'</div>');

	// Hidden the message box.
	$('#message_box').hide();

	return false;
}

/**
 * Functions to opinion form.
 */

function validateFieldOpinion( field )
{
	url = new String ( document.domain );
	setFieldAsOK( field );

	$.ajax({
		type: "POST",
		url: "http://"+ url + $("#opinion_form input.ajax_form_controller").attr("value"),
		data: field.attr('name') +"="+ field.val(),
		dataType: "json",
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );
			if ( json['response'] == 'OK' )
			{
				setFieldAsOK( field );
			}
			else if ( json['response'] == 'KO' )
			{
				if (json['data'][field.attr('name')] != undefined)
				{
					setFieldAsInvalid(field, json['data'][field.attr('name')]['message']);
				}
			}
		}
	});
}

var success_form = false;

function check_fields()
{
	if ( $('#action_form').val() == 'evaluate' )
	{
		return true;
	}
	else
	{

		url = new String ( document.domain );

		if ( !success_form )
		{
			$.ajax({
				type: "POST",
				url: "http://"+ url + $("#opinion_form input.ajax_form_controller").attr("value"),
				data:  $("#opinion_form input[@type=text]").serialize()+"&"+$("#opinion_form textarea").serialize(),
				dataType: "json",
				success: function(json)
				{

					$('#ajax_debug').append( json['debug'] );
					if ( json['response'] == 'OK' )
					{
						//assigRatingValues();
						if ( $("#param1").val() > 0 || $("#param2").val() > 0 || $("#param3").val() > 0 || $("#param4").val() > 0 || $("#param5").val() > 0 || $("#rank").val() >0 )
						{
							success_form = check_fields_rating();
							if ( success_form )
							{
								$(".post_form").submit();
							}
						}
						else
						{
							var valorando = 0;
						}

						if ( valorando == 0 )
						{
							if ( '1' == $('#has_valuated').val() )
							{
								success_form = true;
								$(".post_form").submit();
							}
							else if ( !confirm( $("#send_opinion_msg").attr("value") ) )
							{
								$('#valuation_column').addClass('highlight_field');
								document.location.href = "#valuationflash";
								return false;
							}
							else
							{
								success_form = true;
								$(".post_form").submit();
							}
						}
					}
					else if ( json['response'] == 'KO' )
					{

						if ( json['type'] == 'ERROR_OPINION_FORM' )
						{
							if ( 'xml_title' in json['data'] )
							{
								setFieldAsInvalid( $('#xml_title'), json['data']['xml_title']['message']  );
							}

							if ( 'xml_body' in json['data'] )
							{
								setFieldAsInvalid( $('#xml_body'), json['data']['xml_body']['message'] );
							}

							if ( 'xml_best' in json['data'] )
							{
								setFieldAsInvalid( $('#xml_best'), json['data']['xml_best']['message'] );
							}

							if ( 'xml_worse' in json['data'] )
							{
								setFieldAsInvalid( $('#xml_worse'), json['data']['xml_worse']['message'] );
							}
						}

						return false;
					}
				}
			});
		}

		return success_form;
	}
}

function check_fields_rating()
{
	if ( $("#param1").val() < 0.1 ) {
		alert( $("#param1pull_h").attr("value") );
		return false;
	}

	if ( $("#param2").val() < 0.1 ) {
		alert( $("#param2pull_h").attr("value") );
		return false;
	}

	if ($("#param3").val() < 0.1 ) {
		alert( $("#param3pull_h").attr("value") );
		return false;
	}

	if ( $("#param4").val() < 0.1 ) {
		alert( $("#param4pull_h").attr("value") );
		return false;
	}

	if ( $("#param5").val() < 0.1 ) {
		alert( $("#param5pull_h").attr("value") );
		return false;
	}

	if ( $("#rank").val() < 0.1 ) {
		alert( $("#rankpull_h").attr("value") );
		return false;
	}

	return true;
}

function only_check_rating()
{
	if ( check_fields_rating() )
	{
		if ( $('#action_form').val() == 'evaluate' )
		{
			$('#valuation_form').submit();
		}
		else
		{
			$('#action_form').val('evaluate');
			$('#opinion_form').submit();
		}
	}

	return false;
}

/*
function assigRatingValues()
{
	$("#param1").val( $('#value_rate_usability').val() );
	$("#param2").val( $('#value_rate_stability').val() );
	$("#param3").val( $('#value_rate_installation').val() );
	$("#param4").val( $('#value_rate_functionality').val() );
	$("#param5").val( $('#value_rate_appearance').val() );
	$("#rank").val( $('#value_rate_rank').val() );
}

function check_rating()
{
	assigRatingValues();
	return check_fields_rating();
}*/


/**
 * Function to valuation FLASH
 */
function setSlider1Fld(campo, valor) {
	document.getElementById(campo).value = valor;
}

function setSliderFld(campo1, valor1, campo2, valor2, campo3, valor3, campo4, valor4, campo5, valor5, campo6, valor6)
{
	document.getElementById(campo1).value = valor1;
	document.getElementById(campo2).value = valor2;
	document.getElementById(campo3).value = valor3;
	document.getElementById(campo4).value = valor4;
	document.getElementById(campo5).value = valor5;
	document.getElementById(campo6).value = valor6;
}

function actualizarcampos()
{

	if ( $("div#valuationpull").is(':hidden') )
	{
		var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
		var PeliFlash = InternetExplorer ? document.getElementById('movie') : document.movie;
		PeliFlash.TPlay("_root.actualizar");
	}

}

/**
 * Events that happen only if it's an UniversalDownload free download.
 */

function softonicUniversalDownloaderEvents()
{
	show_sponsored_banner();
	$("#free_download_sponsor").show();
	$("#file_download_program_similar, #download_suggestions, #file_download_opinions").show();
	$('#file_title_content').hide();
	$('#file_title_content_mobile').hide();
	$('#file_title_space').css("height", "0px");
	document.location.href = "#pathbar";
}

/**
 * Initial actions, behaviours & events description
 */

function softonicFileEvents()
{
	$("#file_review ul.review_options a.share_m").click( function() {
		if ( $("#sharing_options_list").is(":hidden") )
			$("#sharing_options_list").fadeIn("fast");
		else
			$("#sharing_options_list").fadeOut("fast");
		return false;
	});

	// Valuation and Rating
	$("#onlyVote input[@type=button]").click(function(){
		only_check_rating();
	});

	$("#opinion_form input[@type=text]").blur(function(){
		validateFieldOpinion( $(this) );
	});

	$("#opinion_form textarea").blur(function(){
		validateFieldOpinion( $(this) );
	});

	$("#copyflash a").click(function()
	{
		$('#valuationflash').removeClass('visible');
		$('#valuationflash').addClass('hidden');

		$('#valuationpull').removeClass('hidden');
		$('#valuationpull').addClass('visible');

		$('#copyflash').removeClass('visible');
		$('#copyflash').addClass('hidden');

		$('#copyhtml').removeClass('hidden');
		$('#copyhtml').addClass('visible');

	});

	$("#copyhtml a").click(function()
	{
		$('#valuationflash').removeClass('hidden');
		$('#valuationflash').addClass('visible');

		$('#valuationpull').removeClass('visible');
		$('#valuationpull').addClass('hidden');

		$('#copyflash').removeClass('hidden');
		$('#copyflash').addClass('visible');

		$('#copyhtml').removeClass('visible');
		$('#copyhtml').addClass('hidden');

	});

	$("#opinion_form").submit(function(){

		if ( $("#param1").val() == "" )
		{
			$("#param1").val("-1");
		}

		if ( $("#param2").val() == "" )
		{
			$("#param2").val("-1");
		}

		if ( $("#param3").val() == "" )
		{
			$("#param3").val("-1");
		}

		if ( $("#param4").val() == "" )
		{
			$("#param4").val("-1");
		}

		if ( $("#param5").val() == "" )
		{
			$("#param5").val("-1");
		}

		if ( $("#rank").val() == "")
		{
			$("#rank").val("-1");
		}

		return check_fields();

	});

	$("#valuation_form").submit(function(){
		return check_fields_rating();
	});

	$("textarea#xml_body").bind( "keypress", function(){
			var lines = this.value.split("\n");
			var count = lines.length;

			if (count > 14) {
				$(this).height("400px");
			}

			if (count <= 14) {
				$(this).height("200px");
			}
	});


	$("#valuation_column #valuationpull li select").change(function () {
		$parameter=$(this).attr('id').replace(/pull/,"");
		setSlider1Fld($parameter,$(this).val() );
	});

	$("#valuation_column #onlyVote").hover(
		function () {
		actualizarcampos();
		},function () {}
	);
	$("#best_worst_column #send_opinion").hover(
		function () {
		actualizarcampos();
		},function () {}
	);


	// Add/Del favorite
	$("#chk_favorite, #chk_favorite1").click(function()
	{

		if ( $(this).attr("checked") )
		{
			$("#chk_favorite, #chk_favorite1").attr( 'checked','checked' );
			optionsClick( 'add_favorite' );
			$("#user_facebook_link").trigger("fb_send");
		}
		else
		{
			if ( !$(this).attr('checked') )
			{
				$("#chk_favorite, #chk_favorite1").attr( 'checked',false );
				$("#chk_opinions, #chk_opinions1").attr('checked',false);
				$("#chk_actualize, #chk_actualize1").attr('checked',false);
			}
			optionsClick( 'del_favorite' );
		}
	});

	$("#send_file_warnings").click(function()
	{
//        $("#chk_favorite").attr('checked','checked');
//        optionsClick( 'add_favorite' );
		$("#extra_options").toggle();
	});

	$("#chk_opinions, #chk_opinions1").click(function()
	{
		if ( $(this).attr("checked") )
		{
			$("#chk_favorite, #chk_favorite1").attr('checked','checked');
			$("#chk_opinions, #chk_opinions1").attr('checked','checked');
			optionsClick( 'add_opinion' );
		}
		else
		{
			$("#chk_opinions, #chk_opinions1").attr('checked',false);
			optionsClick( 'del_opinion' );
		}
	});

	$("#chk_actualize, #chk_actualize1").click(function()
	{

		if ( $(this).attr("checked") )
		{
			$("#chk_favorite, #chk_favorite1").attr('checked','checked');
			$("#chk_actualize, #chk_actualize1").attr('checked','checked');
			optionsClick( 'add_actualize' );
		}
		else
		{
			$("#chk_actualize, #chk_actualize1").attr('checked', false );
			optionsClick( 'del_actualize' );
		}
	});

	// Free Download
	$("#free_download_sponsor").hide();
	$('#ad_related_links_div').hide();
	$("#free_download_button").click(function()
	{
		doDownloadProgram($(this).siblings("input").val(), false);

		// Google Analytics
		pageTracker._trackPageview('download/free');
		return false;
	});

	// Free Download alternative links
	$("#free_mirror_links, #free_mirror_links_success").find("li a").click(function()
	{
		$("#free_download_box #download_message_failure").hide();
		doDownloadProgram($(this).siblings("input").val(), false);
		// Google Analytics
		pageTracker._trackPageview('download/free_mirror');
		return false;
	});

	// DPS
	$("#other_countries").hide();
	$("#show_countries").click( function() {
		$("#other_countries").slideToggle("slow");
		return false;
	});

	// DPS Control.
	$("#premium_download_box #sms_form input[@type='submit']").click(function(){
		if ( !$("#sms_code").val() )
		{
			alert( $("#alertjs").val() );
			$("#sms_code").focus();
			return false;
		}
	});

	// Click&buy options.
	$("#show_countries_cb").click( function() {
		$("#other_countries_cb .additional").css("display","inline").parent("ul").find("#show_countries_cb").hide();
		return false;
	});

	$("#premium_download_box #cab_form input[@type='submit']").click(function(){
		$("#clickandbuy_go").show();
	});

	if ( document.referrer.indexOf( 'softonic' ) == -1 )
	{
		$("#minioptions").show();
	}

	// PayPal options.
	$("#paypal_download_button").click( function()
	{
		launchPaypalDownload();
		return false;
	});

	// Universal downloader options.
	if ( $('#url_download_ud').length )
	{
		$("#free_download_button_ud, #download_big, #download_button").click( function()
		{
			udLaunchDownload();
			return false;
		});
	}

	if ( $('#ud_download_link_button').length )
	{
		$("#ud_download_link_button").click( function()
		{
			$.ajax({
				type: "POST",
				url: $("#save_download_url").val(),
				dataType: "json",
				success: function(json)
				{
					$('#ajax_debug').append( json['debug'] );
				}
			});
		});
	}

	// Valuate opinion events
	$("#vote_opinion #vote_yes").click( function() {
		valuateComment(10);
	});
	$("#vote_opinion #vote_no").click( function() {
		valuateComment(0);
	});
	// End valuate opinion events

	// Valuate review
	$("#vote_review #vote_yes").click( function() {
		return valuateReview(1);
	});
	$("#vote_review #vote_no").click( function() {
		return valuateReview(0);
	});
	if( $("#total_votes").val() > 0 )
	{
		$("#text_rank_review").show();
	}
	// End valuate review

	// Glossary
	if ( $('#desc_body .glossar_term').size() > 0 )
	{
		$('#desc_body').find('.glossar_term').ToolTip( 'linksTooltip' );
	}

	// Check favorites and notifications.

	if ( $( "#favorites_data" ).val() )
	{
		files			= $( "#favorites_data" ).val().split( '#' );
		id_file			= $( "#id_file" ).val();
		total_files 	= files.length;

		for( i = 0 ; i < total_files -1 ; i++ )
		{
			parts	= files[i].split( '-' );

			if( id_program == parts[0] )
			{
				if ( parts[1] == 1 )
				{
					$("#chk_favorite, #chk_favorite1").attr('checked', true );
				}
				if ( parts[2] == 1 )
				{
					$("#chk_actualize, #chk_actualize1").attr('checked', true);
				}
				if ( parts[3] == 1 )
				{
					$("#chk_opinions, #chk_opinions1").attr('checked', true);
				}
			}
		}
	}

	// Check if user already rated a comment.
	if ( $( "#valuated_opinions_data" ).val() && $( "#id_comment" ).val() )
	{
		opinions = $( "#valuated_opinions_data" ).val().split( '#' );
		for ( a=0; a<opinions.length; a++ )
		{
			if ( $( "#id_comment" ).val() == opinions[a])
			{
				$( "#vote_opinions_options" ).hide();
				$( "#vote_opinions_voted" ).show();
				break;
			}
		}
	}

	// Hide Loading Link, Show Free Download link
	$("#free_download_button_load").hide();
	$("#free_download_button").show();

	// Events to launch for download hosting.
	if ( $( "#hosting_download_box" ).is( 'div' ) )
	{
		$( "#file_download_program_similar" ).show();
		$( "#download_suggestions" ).show();
		$( "#file_download_opinions" ).show();
		$('#ad_related_links_div').show();
		window.setTimeout( "document.location.href = '"+$( "#hosting_download_launch" ).val()+"';", 1000);
	}

	$("#file_review_award > p > a").click( function() {

		url = $("#file_review_award > p > a").attr('href');

		$("body").append("<div id=\"file_award_box\" />");

		$("#file_award_box").load( url + " #badge_info", null,
			function()
			{
				$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
				$("#TB_overlay").click( function() {
					$("#file_award_box").hide();
					TB_remove();
				});
				TB_overlaySize();

				var pagesize = TB_getPageSize();
				var arrayPageScroll = TB_getPageScrollTop();
				$("#file_award_box").css({left: ((pagesize[0] - 150)/2)+"px", top: (arrayPageScroll[1] + ((pagesize[1]-448)/2))+"px" })
					.css({display:"block"});

				$("#file_award_box").show();

				$("#file_award_box a.close").click( function() {
					$("#file_award_box").hide();
					TB_remove();
					return false;
				});;

				$('#file_award_box textarea').click( function() {
					$(this).select();
				});
			}
		);

		return false;
	});

	TB_init();

	/**
	 * Quick comments.
	 */
	// Hide the "Only vote" button when something is written in any opinion field.
	var opinion_shown = false;

	// If the submit button is inactive, the click event does nothing.
	$("#opinion_submit_button").click(function(){
		if ( $(this).hasClass("button_off") )
		{
			return false;
		}
	});

	// The vote button must hide when the user types more than 5 characters in the opinion form.
	$("#xml_title,#xml_body").keydown(function(){
		var opinion_length = $("#xml_title").val().length + $("#xml_body").val().length;
		if ( opinion_length >= 5 )
		{
			$("#onlyVote").hide();
			$("#copyflash,#copyhtml").css("clear", "both");
		}
		else
		{
			if ( $("#onlyVote:hidden").length > 0 )
			{
				$("#onlyVote").show();
			}
		}

		if ( ( $(".best_worst_inner_block:hidden").length > 0 ) && !opinion_shown )
		{
			opinion_shown = true;

			$(".best_worst_inner_block").slideDown('slow', function(){
				$("#valuation_column").fadeIn('slow');
			});
		}
	});

	$("#quick_comment_user_email").blur(function(){
		checkFieldJson($(this), 'qc_check_email', 'quick_comment_user_email', function(json){
			if ( json['status'] == 'OK' )
			{
				$("#quick_comment_user_email_error").hide();
				$("#quick_comment_reg_user").hide();
				$("#quick_comment_new_user").fadeIn();
				$("#check_notifications").fadeIn();
				$("#check_age").fadeIn();
				$("#opinion_submit_button").removeClass('button_off');
			}
			else if ( json['status'] == 'KO' )
			{
				if ( json['type'] == 'UNAVAILABLE' )
				{
					$("#quick_comment_user_email_error").hide();
					$("#quick_comment_new_user").hide();
					$("#check_notifications").hide();
					$("#check_age").hide();
					$("#quick_comment_reg_user").fadeIn();
				}
				else if ( json['type'] == 'ERROR_FORM' )
				{
					$("#quick_comment_user_email_error").html( json['data']['quick_comment_user_email']['message'] );
					$("#quick_comment_user_email_error").show();
				}
			}
		});
	});

	$("#quick_comment_user_password").keypress(function(){
		var input_value = $(this).val();
		var opinion_submit = $("#opinion_submit_button");

		if ( input_value.length > 0 )
		{
			opinion_submit.removeClass('button_off');
		}
		else
		{
			opinion_submit.addClass('button_off');
		}
	});

	$("#quick_comment_user_name").blur(function(){
		checkFieldJson($(this), 'qc_check_username', 'quick_comment_user_name', function(json){
			$("#quick_comment_user_name_error").hide();
			if ( json['status'] == 'KO' )
			{
				$("#quick_comment_user_name_error").html( json['error_message'] );
				$("#quick_comment_user_name_error").show();
			}
		});
	});
}

/**
 *	Check the field with a request JSON
 */
function checkFieldJson( field, action, id_form, response_handler )
{
	if ( field.val() == '' )
	{
		return false;
	}

	url = new String ( document.domain );

	$.ajax({
		type: "POST",
		url: "http://"+ url + $('#quick_comment_ajax').attr("value"),
		data: field.attr('name') +"="+ encodeURIComponent(field.val()) +"&action="+ action,
		dataType: "json",
		success: response_handler
	});
}

function valuateComment( points )
{
	domain_url = new String ( document.domain );
	url = "http://"+ domain_url + $("#vote_form").attr('action');

	$.ajax({
		type: "POST",
		url: url,
		data: "points="+ points+"&id_comment="+$("#vote_form #id_comment").val(),
		dataType: "json",
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );
			if( json['type'] == 'SUCCESS' )
			{
				$("#total_opinion_votes").html( json['total_votes'] );
				$("#positives_opinion_votes").html( json['positives'] );
			}
			$("#vote_opinions_options").html( json['message'] );
			$("#vote_opinions_options").addClass("voted");
		}
	});
}

function valuateReview( vote )
{
	domain_url = new String ( document.domain );
	url = $("#vote_yes").attr('href');

	$.ajax({
		type: "POST",
		url: url,
		data: "vote="+ vote+"&id_program="+id_program+"&action=rank_description",
		dataType: "json",
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );

			if( json['status'] == 'OK' )
			{
				$("#text_rank_review_vote").hide();
				$("#text_rank_review").show('slow');
				total_votes 	= parseInt( $("#review_total_votes").text() ) + 1;
				positive_votes 	= parseInt( $("#review_positive_votes").text() ) + vote;

				if( total_votes > 0 )
				{
					percent_votes	= parseInt( ( positive_votes / total_votes ) * 100 );
					$("#review_percent_votes").html( ''+percent_votes );
				}

				$("#review_positive_votes").html( '' + positive_votes );
				$("#review_total_votes").html( '' + total_votes );
			}
			$("#title_rank_review").html( json['message'] );
			return false;
		}
	});
	return false;
}


/**
 * JSON requests to add/delete Favorites.
 */
function optionsClick( action )
{
	url = $('#chk_opinions1').val();

	$.ajax({
		type: "POST",
		url: url,
		data: "process="+ action,
		dataType: "json",
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );
			if ( json['status'] == 'LOGIN' )
			{
				if ( confirm( json['message'] ) )
				{
					// Take value from input.
					document.location.href = $( '#chk_favorite1' ).val();
				}
				else
				{
					$("#chk_favorite, #chk_favorite1").attr('checked', false);
					$("#chk_opinions, #chk_opinions1").attr('checked', false);
					$("#chk_actualize, #chk_actualize1").attr('checked', false);
				}
			}
			else if ( json['status'] == 'KO' )
			{
				alert( json['message'] );
				$("#chk_favorite, #chk_favorite1").attr('checked', false);
				$("#chk_opinions, #chk_opinions1").attr('checked', false);
				$("#chk_actualize, #chk_actualize1").attr('checked', false);
			}
			else if ( json['status'] == 'OK' )
			{
				alert( json['message'] );
			}

		}
	});
}

/**
 * Free Download section
 */
function launchFreeDownload()
{
	domain_url = new String ( document.domain );
	url = "http://"+ domain_url + "/download/free";
	data = "action=check&id_file=" + $('#email').val() +"&url="+ $('#url').val();

	$.ajax({
		type: "POST",
		url: url,
		data: data,
		dataType: "json",
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );
			if ( json['response'] == 'KO' )
			{
				if ( $('#err_' + field.name ))
				{
					$('#err_' + field.name).before( $('#' + field.name)[0] );
					$('#err_' + field.name).remove();
				}

				$('#' + field.name).wrap("<div id='err_" + field.name +"' class='err_form_opinion'></div>");
				$('#err_' + field.name).append(	'<br />' + json['data'][field.name]['message'] );
			}
			else
			{
				$('#err_' + field.name).before( $('#' + field.name)[0] );
				$('#err_' + field.name).remove();
			}
		}
	});
}

/**
 * Paypal Download
 */
function launchPaypalDownload()
{
	url_base 	= $("#paypal_download_button").attr( 'rel' );
	url 		= url_base + "/paypal";
	data 		= "action=start&id_program="+id_program+"&id_version="+id_version;

	$.ajax({
		type: "POST",
		url: url,
		data: data,
		dataType: "json",
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );
			if ( json['status'] == 'OK' )
			{
				$("#form_paypal_transaction").html( json['data'] );
				$("#paypal_go").show('slow');
				$("#form_paypal").submit();
			}
		}
	});
}

function openWindow( URL, NAME, WIDTH, HEIGHT, CENTERED, POPUNDER )
{
	var LEFT	= Math.floor( ( screen.width - WIDTH ) / 2 );
	var TOP		= Math.floor( ( screen.height - HEIGHT ) / 2 );
	var PROPS	= "height=" + HEIGHT + ",width=" + WIDTH + ",toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes,status=no";

	if ( CENTERED )
	{
		PROPS = "top=" + TOP + ",left=" + LEFT + "," + PROPS;
	}

	win = window.open ( URL, NAME, PROPS );

	if (POPUNDER)
	{
		win.blur();
		window.focus();
	}
	else if ( parseInt( navigator.appVersion ) >= 4 )
	{
		win.window.focus();
	}

	return win;
}

function doDownloadProgram(parameters, isSpecial)
{
	var download_mail = '';

	if (isSpecial)
	{
		var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

		if ( !( filter.test( $('#download_mail').value ) ) )
		{
			$('#download_mail').removeClass().addClass( 'error' );
			alert( "Please enter a valid email address." );
			return false;
		}

		download_mail = '&download_mail=' + $('#download_mail').val();
	}

	window.setTimeout( "executeJSONFreeDownload('"+parameters+"', '"+download_mail+"')", 1000);

	$("#free_download_button").unbind();
	$("#free_download_button").click(function() { return false; } );
	$("#free_download_box #free_download_button").hide();
	$("#free_download_box #download_message").hide();
	$("#free_download_box #ud_external_link").hide();
	$("#free_download_box #download_message_try").show();

	var url_download = $('#free_download_popunder').val();

	// Pop-under launched on IE. To avoid the automatic blocking.
	if (
		$("#is_google_referal" ).val() == 0 && // No Google Referal. On google referal -> No automatic redirection.
		$.browser.msie // Only for IE.
	)
	{
		Popunder = openWindow( url_download, "Popunder", 100, 100, false, true );
	}

	// Timeout to prevent JS overload on download FB action
	setTimeout( '$("#user_facebook_link").trigger("fb_send")', 5000);

	return false;
}

// WEB-6648: Show the first AFC ad in the sponsored zone if the user is not from EU and the browser language is not english.
function show_sponsored_banner()
{
	var ucountry_cookie = get_cookie( 'ucountry' );

	if ( ucountry_cookie != 'EU' )
	{
		if ( user_browser_language != 'en_EN' && user_browser_language != 'en_US' )
		{
			// Do not show the banner, we use AFC instead.
			setTimeout( 'show_sponsored_adsense()', 1500 );
			return false;
		}
	}

	// Shows the banner sponsor, do not touch, etc!
	show_dart = true;
	get_country_banner( 'sponsor' );
}

function show_sponsored_adsense()
{
	$("#free_download_special_ad").hide();
	$(".show_banner_sponsor").addClass("google_sponsored_ad");
	$(".show_banner_sponsor").html($("#ad_content_0").html());
}





function executeJSONFreeDownload(parameters, download_mail)
{
	$.ajax({
		type: 'POST',
		url: $('#free_download_launch').val(),
		data: parameters + download_mail,
		dataType: 'json',
		success: function(json)
		{
			$('#ajax_debug').append( json['debug'] );

			switch ( json['response'] )
			{
				case 'OK':
					if (!$.browser.msie)
					{
						window.setTimeout( "location = $('#free_download_link').attr('href');", 3000 );
					}
					$("#content_free").html( json['data'] );

					show_sponsored_banner();

					$('#blog_posts').show();
					$('#ad_related_links_div').show();


					$('#download_suggestions').show();
					$('#file_download_opinions').show();
					$('#file_download_program_similar').show();

					$('#members_download_box').hide();
					$('#file_download_sms_text').hide();

					$('#ud_download_box').hide();
					$('#mobile_install_box').hide();
					$('#premium_download_box').hide();
					$('#premium_download_disclaimer').hide();
					$('#download_warning').hide();
					$('#no_spam_policy').hide();

					// Hide title on download success JIRA PROD-31
					$('#file_title_content').hide();
					$('#file_title_content_mobile').hide();
					$('#file_title_space').css("height", "0px");
					document.location.href = "#pathbar";

					// Task WEB-2407
					get_country_banner( "down_small_rectangle" );
					get_country_banner( "down_wide_skyscrapper" );

					freeDownloadStatistics( 'OK', json );

					// Google Adwords conversion for asyncronous page load.
					if ( $("#free_adwords_conversion").val() )
					{
						var adwords_conversion = new Image();
						adwords_conversion.src = $("#free_adwords_conversion").val();
					}

					break;

				case 'GOOGLE_REFERAL':
					$("#content_free").html( json['data'] );

					$('#blog_posts').show();
					$('#ad_related_links_div').show();

					$('#download_suggestions').show();
					$('#file_download_opinions').show();
					$('#file_download_program_similar').show();

					$('#members_download_box').hide();
					$('#file_download_sms_text').hide();

					$('#mobile_install_box').hide();
					$('#premium_download_box').hide();
					$('#premium_download_disclaimer').hide();
					$('#download_warning').hide();
					$('#no_spam_policy').hide();

					freeDownloadStatistics( 'GOOGLE_REFERAL', json );
					break;

				default:
					$("#free_download_box #download_message_try").hide();
					$("#free_download_box #free_download_button").hide();
					$("#free_download_box #download_message_failure").show();

					freeDownloadStatistics( 'KO', json );
					break;
			}
		}
	});
}

function freeDownloadStatistics( download_state, json_data )
{
	switch ( download_state )
	{
		case 'OK':
			// Nielsen/NetRatings
			// We add a 3 sec delay to this Nielsen call to fix an IE issue.
			setTimeout( "_nnEventTrack('freedownload/success')", 3000 );

			// Google Analytics:
			pageTracker._trackPageview('download/free/success');

			break;
		case 'GOOGLE_REFERAL':
			// Nielsen/NetRatings
			// We add a 3 sec delay to this Nielsen call to fix an IE issue.
			setTimeout( "_nnEventTrack('descargar/google_referal')", 3000 );

			// Google Analytics:
			pageTracker._trackPageview('download/google_referal');

			break;
		default:
			// Nielsen/NetRatings
			// We add a 3 sec delay to this Nielsen call to fix an IE issue.
			setTimeout( "_nnEventTrack('freedownload/failure')", 3000 );

			// Google Analytics:
			pageTracker._trackPageview('download/free/failure');

			break;
	}
}

//Slideshow functions, JQUERY syntax
function selectScreenshot ( selected )
{
	actual = actual_screenshot;
	actual_screenshot = new Number ( selected );
	if ( actual == selected )
		return false;

	$('#thumbnails img.thumb').addClass('thumbnail').removeClass('thumbnail_selected');
	$('#thumbnail_' + selected).addClass('thumbnail_selected');
	$("#mainimage_"+selected).show();
	$("#mainimage_"+actual).hide();
}

function moveScreenshot( type, automatic )
{
	if ( automatic == true && slideshow_status == "stop" || automatic == false && slideshow_status == "play" )
		return false;

	if ( type == "next" )
		screenshot = new Number ( actual_screenshot + 1 );
	else if ( type == "prev" )
		screenshot = new Number ( actual_screenshot - 1 );

	if ( ( type == "next" && screenshot < $('#thumbnails img.thumb').size() ) || type == "prev" && screenshot > -1 )
		selectScreenshot ( screenshot );
	else if ( type == "next" && screenshot >= $('#thumbnails img.thumb').size() )
		selectScreenshot ( 0 );
	else
		selectScreenshot ( $('#thumbnails img.thumb').size()-1 );

	if ( slideshow_status == "play" )
		setTimeout ( "moveScreenshot('next', true)", 2000);
}



function initSize ( element )
{
	max_height = new Number ( 100 );
	objImg = new Image();
	objImg.src = element.src;

	height = new Number ( objImg.height );

	if ( height > max_height )
	{
		max_height = height;
		$("#main_images").css("height", max_height+"px");
	}

}

// Universal downloader
function udLaunchDownload()
{
	// Pop-under launched. To avoid the automatic blocking.
	Popunder = openWindow( $('#url_download_ud').val(), "Popunder", 100, 100, false, true );

	if ( $("#url_landing_ud").length )
	{
		location.href = $("#url_landing_ud").val();
	}

	return false;
}


var slideshow_status = "stop";

/*
 * Thickbox 2.0 - One Box To Rule Them All.
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2006 cody lindley
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 * Thickbox is built on top of the very light weight jQuery library.
 */

//add thickbox to href elements that have a class of .thickbox

function TB_init(){
	$("a.thickbox").click(function(){
		if($(this).hasClass('canvas'))
		{
			TB_showCanvas(this.href);
		}
		else
		{
			var t = this.title || this.name || null;
			var g = this.rel || false;
			TB_show(t,this.href,g);
		}
		this.blur();
		return false;
	});
}
function TB_showCanvas(selectorId) {
	var urlString =new RegExp("#*[a-zA-Z0-9\-_]+$")
	selectorId = selectorId.match(urlString);
	if (selectorId) selectorId = selectorId[0]
	else return false;
	selectorId = (selectorId.charAt(0) == "#" ? "" : "#") + selectorId;
	TB_show("",selectorId,false);
};
function TB_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
	// Nielsen
	_nnEventTrack('screenshots/show');

	//allow to count the image clicks in Google Analytics
	if (url.charAt(0) != '#') pageTracker._trackPageview( url );

	try {
		if (document.getElementById("TB_HideSelect") == null) {
		$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
		$("#TB_overlay").click(TB_remove);
		}

		if(caption==null){caption=""};

		//$(window).scroll(TB_position);

		TB_overlaySize();
		if  ($("#TB_logo").size() < 1 )
		{
			$("body").append("<div id='TB_logo'><img src='http://ia2.sftcdn.net/shared/images/thickbox/softonic-loading.gif'></div>");
		}
		$("body").append("<div id='TB_load'><img src='http://ia2.sftcdn.net/shared/images/thickbox/loading.gif'></div>");
		$("#TB_logo").click(TB_remove);

		TB_load_position();

		var urlString = /\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.jst|\.rb|\.txt|\.bmp/g;
		var urlType = url.toLowerCase().match(urlString);
		// In case of video_screenshot check for the right url (not the href of the link).
		if ( urlType == null && url.charAt(0) != '#')
		{
			url = $(".photo_video").get(0).src.replace('img350', 'img640');
			urlType = url.toLowerCase().match(urlString);
		}
		if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images

			TB_PrevCaption = "";
			TB_PrevURL = "";
			TB_PrevHTML = "";
			TB_NextCaption = "";
			TB_NextURL = "";
			TB_NextHTML = "";
			TB_imageCount = "";
			TB_FoundURL = false;
			if(imageGroup){
				TB_TempArray = $("a[@rel="+imageGroup+"]").get();
				// Fixing video_screenshot exception.
				if ( TB_TempArray[0].name == 'video_screenshot' )
				{
					var real_video_screenshot_url = TB_TempArray[0].href;
					TB_TempArray[0].href = $(".photo_video").get(0).src.replace('img350', 'img640');
				}
				TB_FirstURL = TB_TempArray[0].href;

				for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML == "")); TB_Counter++) {
					var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
						if (!(TB_TempArray[TB_Counter].href == url)) {
							if (TB_FoundURL) {
								TB_NextCaption = TB_TempArray[TB_Counter].title;
								TB_NextURL = TB_TempArray[TB_Counter].href;
								TB_NextHTML = "<span id='TB_next'><a href='#'><img src='http://ia3.sftcdn.net/shared/images/interface/actions/resultset_next.png'></a></span>";
							} else {
								TB_PrevCaption = TB_TempArray[TB_Counter].title;
								TB_PrevURL = TB_TempArray[TB_Counter].href;
								TB_PrevHTML = "<span id='TB_prev'><a href='#'><img src='http://ia2.sftcdn.net/shared/images/interface/actions/resultset_previous.png'></a></span>";
							}
						} else {
							TB_FoundURL = true;
							TB_imageCount = "Image <strong>" + (TB_Counter +1 ) +"</strong> of <strong>"+ (TB_TempArray.length)+"</strong>";
						}
				}
				if (TB_PrevHTML == "")
					TB_PrevHTML = "<span id='TB_prev'><img src='http://ia2.sftcdn.net/shared/images/interface/actions/resultset_previous_off.png'></span>";
				if (TB_NextHTML == "")
					TB_NextHTML = "<span id='TB_next'><a href='#'><img src='http://ia3.sftcdn.net/shared/images/interface/actions/resultset_restart.png'></a></span>";

				// Removing Fix for video_screenshot exception (restore the real url for video_screenshot).
				if ( TB_TempArray[0].name == 'video_screenshot' )
				{
					TB_TempArray[0].href = real_video_screenshot_url;
				}
			}

			imgPreloader = new Image();
			imgPreloader.onload = function(){

			imgPreloader.onload = null;
			var imageWidth = imgPreloader.width;
			var imageHeight = imgPreloader.height;

			if ( imageWidth < 190 )
				TB_WIDTH = 220;
			else
				TB_WIDTH = imageWidth + 30;

			TB_HEIGHT = imageHeight + 60;
			$("#TB_window").append("<div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>Close</a></div>");
			if ( TB_TempArray.length > 1 )
				$("#TB_window").append("<div id='TB_caption'>" + TB_PrevHTML + TB_imageCount + TB_NextHTML + "</div>");
			else
				$("#TB_window").append("<div id='TB_caption'> </div>");
			$("#TB_window").append("<a href='' id='TB_ImageOff' title='"+caption+"'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'></a>");

			$("#TB_closeWindowButton").click(TB_remove);

			if (!(TB_PrevHTML == "")) {
				function goPrev(){
					if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev)};
					$("#TB_window").remove();
					$("body").append("<div id='TB_window'></div>");
					$(document).unbind("keyup");
					TB_show(TB_PrevCaption, TB_PrevURL, imageGroup);
					return false;
				}

				if (TB_PrevURL != "")
				{
					$("#TB_prev a").click(goPrev);
					$(document).keyup( function(e){ var key = e.keyCode; if(key == 37){goPrev()} });
				}
			}

			if (!(TB_NextHTML == "")) {
				function goNext(){
					$("#TB_window").remove();
					$("body").append("<div id='TB_window'></div>");
					$(document).unbind("keyup");
					if ( TB_NextURL == "" )
						TB_NextURL = TB_FirstURL;

					TB_show(TB_NextCaption, TB_NextURL, imageGroup);
					return false;
				}

				$("#TB_next a").click(goNext);

				$(document).keyup( function(e){ var key = e.keyCode; if(key == 39){goNext()} });
			}

			TB_position();
			$("#TB_load").remove();
			$("#TB_ImageOff").click(TB_remove);
			$("#TB_window").css({display:"block"}); //for safari using css instead of show
			}

			imgPreloader.src = url;
		}

		if(urlType=='.htm'||urlType=='.html'||urlType=='.php'||urlType=='.asp'||urlType=='.aspx'||urlType=='.jsp'||urlType=='.jst'||urlType=='.rb'||urlType=='.txt'||urlType=='.cfm' || (url.indexOf('TB_inline') != -1) || (url.indexOf('TB_iframe') != -1) ){//code to show html pages

			var queryString = url.replace(/^[^\?]+\??/,'');
			var params = TB_parseQuery( queryString );

			TB_WIDTH = (params['width']*1) + 30;
			TB_HEIGHT = (params['height']*1) + 40;
			ajaxContentW = TB_WIDTH - 30;
			ajaxContentH = TB_HEIGHT - 45;

			if(url.indexOf('TB_iframe') != -1){
					urlNoQuery = url.substr(0,TB_strpos(url, "?"));
					$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a></div></div><iframe src='"+urlNoQuery+"' id='TB_iframeContent' style='width:"+(ajaxContentW + 30)+"px;height:"+(ajaxContentH + 18)+"px;'></iframe>");
				}else{
					$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
			}

			$("#TB_closeWindowButton").click(TB_remove);

				if(url.indexOf('TB_inline') != -1){
					$("#TB_ajaxContent").html($('#' + params['inlineId']).html());
					TB_position();
					$("#TB_load").remove();
					$("#TB_window").css({display:"block"});
				}else if(url.indexOf('TB_iframe') != -1){
					TB_position();
					$("#TB_load").remove();
					$("#TB_window").css({display:"block"});
				}else{
					$("#TB_ajaxContent").load(url, function(){
						TB_position();
						$("#TB_load").remove();
						$("#TB_window").css({display:"block"});
					});
				}

		}
		if (url.charAt(0) == '#') {// code to show canvas

			ajaxContentW = $(url).outerWidth(true)*1;
			ajaxContentH = +$(url).outerHeight(true)*1;

			var obj = $(url).hide();
			TB_WIDTH = ajaxContentW + 30;
			TB_HEIGHT = ajaxContentH + 40;

			$("#TB_window").append("<div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>Close</a></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
			$("#TB_closeWindowButton").click(TB_remove);
			$("#TB_ajaxContent").html(obj.clone()).children().show();
			TB_position();
			$("#TB_load").remove();
			$("#TB_window").css({display:"block"});
		}

		//$(window).resize(TB_position);

	} catch(e) {
		alert( e );
	}
}

//helper functions below

function TB_remove() {
	$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').remove();});
	$("#TB_load img").remove();
	$("#TB_load").remove();
	$("#TB_logo").remove();
	$(document).unbind("keyup");
	return false;
}

function TB_position() {
	var pagesize = TB_getPageSize();
	var arrayPageScroll = TB_getPageScrollTop();

	top_window_position = ( arrayPageScroll[1] + ( ( pagesize[1]-TB_HEIGHT ) / 2 ) );
	left_window_position = ( ( pagesize[0] - TB_WIDTH ) / 2 );

	if ( pagesize[1] < 600 )
		top_window_position = ( arrayPageScroll[1] + 5 );
	else
		top_window_position = ( arrayPageScroll[1] + 100 );

	$("#TB_window").css({width:TB_WIDTH+"px",left:left_window_position+"px" , top: top_window_position+"px" });
	TB_overlaySize();
	$("#TB_logo").css({left: "20px", top: (arrayPageScroll[1] + ((pagesize[1]-150)))+"px" })
	.css({display:"block"});
}

function TB_overlaySize(){
	if (window.innerHeight && window.scrollMaxY) {
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		yScroll = document.body.offsetHeight;
		}
	$("#TB_overlay").css("height",yScroll +"px");
	$("#TB_HideSelect").css("height",yScroll +"px");
}

function TB_load_position() {
	var pagesize = TB_getPageSize();
	var arrayPageScroll = TB_getPageScrollTop();

	$("#TB_load").css({left: ((pagesize[0] - 100)/2)+"px", top: (arrayPageScroll[1] + ((pagesize[1]-100)/2))+"px" })
	.css({display:"block"});
	$("#TB_logo").css({left: "20px", top: (arrayPageScroll[1] + ((pagesize[1]-150)))+"px" })
	.css({display:"block"});
}

function TB_parseQuery ( query ) {
	var Params = new Object ();
	if ( ! query ) return Params; // return empty object
	var Pairs = query.split(/[;&]/);
	for ( var i = 0; i < Pairs.length; i++ ) {
		var KeyVal = Pairs[i].split('=');
		if ( ! KeyVal || KeyVal.length != 2 ) continue;
		var key = unescape( KeyVal[0] );
		var val = unescape( KeyVal[1] );
		val = val.replace(/\+/g, ' ');
		Params[key] = val;
	}
	return Params;
}

function TB_getPageScrollTop(){
	var yScrolltop;
	if (self.pageYOffset) {
		yScrolltop = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScrolltop = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScrolltop = document.body.scrollTop;
	}
	arrayPageScroll = new Array('',yScrolltop)
	return arrayPageScroll;
}

function TB_getPageSize(){
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;

	arrayPageSize = new Array(w,h)
	return arrayPageSize;
}

function TB_strpos(str, ch) {
for (var i = 0; i < str.length; i++)
if (str.substring(i, i+1) == ch) return i;
return -1;
}


/* @end JAVASCRIPT file */

/* @JAVASCRIPT static */

function chequea_form(form)
{
	if (isEmpty(form.Nombre.value)) {
		alert("Por favor, introduce tu nombre.");
		form.Nombre.focus();
		return false;
	}

	if (isNotEmail(form.Email.value)) {
		alert ("Por favor, introduce tu dirección de e-mail.");
		form.Email.focus();
		return false;
	}

	if (isNotEmail(form.Toemail1.value)) {
		alert("Por favor, introduce la dirección de e-mail de tu amigo.");
		form.Toemail1.focus();
		return false;
	}

	if (isEmpty(form.Mensaje.value)) {
		alert("Por favor, introduce un mensaje para tu amigo.");
		form.Mensaje.focus();
		return false;
	}

	if ( form.Toemail1.value==form.Email.value || form.Toemail2.value==form.Email.value || form.Toemail3.value==form.Email.value )
	{
		alert ("Los emails no pueden estar repetidos");
		form.Mensaje.focus();
		return false;
	}

	return true;
}


function softonicStaticEvents()
{
	$("#contact_us").validate({
		focusInvalid: true,
		errorClass: "input_error",
		event: "blur",
		rules: {
			Nombre:	{ required: true },
			Email:	{ required: true, email: true },
			Tipo:	{ required: true, minValue: 1 },
			Asunto:	{ required: true },
			Mensaje:{ required: true }
		},
		messages: {
			Nombre:	"Por favor, indica tu nombre",
			Email:	{
						required:	"Por favor, indica tu e-mail",
						email:		"Por favor, indica un e-mail válido"
					},
			Tipo:	"Por favor, indica el tipo de mensaje que vas a enviar",
			Asunto:	"Por favor, indica el asunto de tu mensaje",
			Mensaje:"Escribe el mensaje antes de intentar enviarlo :)"
		}
	});

	$("#recommend_us").validate({
		focusInvalid:true,
		errorClass: "input_error",
		event: "blur",
		rules: {
			Nombre:		{ required: true },
			Email:		{ required: true, email: true },
			Toemail1: 	{ required: true, email: true },
			Toemail2: 	{ email:true },
			Toemail3: 	{ email:true },
			Mensaje:	{ required: true }
		}
	});

	$("#content_popup .close").click(function () {
		window.close();
	});		

	mail_antispam();
	
	$("#form_lang select").change(function () {
		document.location.href = $(this).find("option:selected").val();
	});
	
	$("#mail_contactus").text("contact us");



/* @todo: 2 more forms
	$("#contact_us_cds").validate({
		focusInvalid:true,
		errorClass: "input_error",
		event: "blur",
		rules: {
			Nombre:		{ required: true },
			Email:		{ required: true, email: true },
			Toemail1: 	{ required: true, email: true },
			Toemail2: 	{ email:true },
			Toemail3: 	{ email:true },
			Mensaje:	{ required: true }
		}
	});*/

	$(".mainbar form").submit( function(){

		if ( $(this).attr("rel") == "noCheck" )
		{
			return true;
		}
		checkStaticFields( $(this).attr("id") );
		return false;
	});
}

/**
 *	Check all fields with a request JSON
 */
function checkStaticFields( id_form )
{
	if ( !$('#'+ id_form ).attr("rel") )
	{
		return false;
	}

	url = new String ( document.domain );

	$.ajax({
		type: "POST",
		url: "http://"+ url +'/'+ $('#'+ id_form ).attr("rel"),
		data: $('#'+ id_form ).serialize(),
		dataType: "json",
		success: function(json)
		{
			// Append ajax debug.
			$('#ajax_debug').append( json['debug'] );

			// Reset styles.
			$("#"+ id_form + " input, " + "#" + id_form + " textarea").each( function() {
				setStaticFieldAsOK( $(this) );
			});

			if ( json['status'] == 'OK' )
			{
				// Show missage OK.
				$('#message_box').html( json['message_box'] );
				changeClassBox( 'message_box', $('#message_box').attr('class'), 'msg_ok' );

				// Reset values.
				$("#"+ id_form + " input, " + "#" + id_form + " textarea").not("input[@type='submit']").val("").attr("checked", false);

				return true;
			}
			else if ( json['status'] == 'KO' )
			{
				if ( json['type'] == 'ERROR_FORM' )
				{
					$("#"+ id_form + " input, " + "#" + id_form + " textarea").each( function() {

						if ( json['data'] && $(this).attr('name') in json['data'] )
						{
							error_message = json['data'][$(this).attr('name')]['message'];
							setStaticFieldAsInvalid( $(this), error_message );
						}
					});
				}

				// Show missage error.
				$('#message_box').html( json['message_box'] );
				changeClassBox( 'message_box', $('#message_box').attr('class'), 'msg_ko' );
			}
		}
	});

	return false;
}

/**
 * Sets 'OK' style and hides an error message for a given field.
 */
function setStaticFieldAsOK( field )
{
	// Put the text of the error.
	$('#' + field.attr('id') ).parent().removeClass('error').find('div.error').remove();

	// Show the actual tooltip (if any).
	$('#' + field.attr('id') + '_tooltip').show();

}

/**
 * Sets 'ERROR' style and shows an error message for a given field.
 */
function setStaticFieldAsInvalid( field, error_message )
{

	// Hide the actual tooltip (if any).
	$('#' + field.attr('id') + '_tooltip').hide();

	// Put the text of the error.
	$('#' + field.attr('id') ).parent().removeClass('error').find('div.error').remove();
	$('#' + field.attr('id') ).parent().addClass('error').append('<div class="error">'+ error_message +'</div>');

}

/*
 * Change the class of the one DIV.
 */
function changeClassBox( id_box, current_class, new_class  )
{
	$('#' + id_box).removeClass( current_class ).addClass( new_class ).show();
}

/**
 * Document ready event.
 */
$(document).ready(function(){
  //Corner
  $(".corner").prepend('<span class="csl"></span><span class="csr"></span><span class="cil"></span><span class="cir"></span>');
	// Template legal-avatar.tpl events.
	$(".legal_contact").click(function(){
		window.opener.location = $(this).attr('href');
		return false;
	});

// Template awards2009.tpl login-box events.
	$("#logged_box_content #login_link").click(function(){
		$('#logged_box_content').toggle_to('#login_box_form', 'fade');
		$('#email').focus();
		return false;
	});

 // Norton promotion events.
$("#menu01").click( function(){
	$(".contenido1").show();
	$(".contenido2").hide();
	$(".contenido3").hide();
	$("#options #menu01").addClass("current");
	$("#options #menu02").removeClass("current");
	$("#options #menu03").removeClass("current");	

});
$("#menu02").click( function(){
	$(".contenido1").hide();
	$(".contenido2").show();
	$(".contenido3").hide();
	$("#options #menu02").addClass("current");
	$("#options #menu01").removeClass("current");
	$("#options #menu03").removeClass("current");	

})
;$("#menu03").click( function(){
	$(".contenido1").hide();
	$(".contenido2").hide();
	$(".contenido3").show();
	$("#options #menu03").addClass("current");
	$("#options #menu01").removeClass("current");
	$("#options #menu02").removeClass("current");	
	
	});
});


/* @end JAVASCRIPT static */

/* @JAVASCRIPT gaTracking */

/**
 * Wrapper code for Google Analytics.
 *
 * @author			Nino Dafonte
 * @created			2009-05-06
 * @description		Adapter for Google Analytics API
 *
 */

/**
 * Main object definition for Google Analytics Tracking.
 */
function gaTrack()
{}

/**
 * Tracking events.
 *
 * @param string 	tracking_place	Location where the event is generated.
 * @param string 	event_type		Event name.
 * @param string	parameter		Additional info about the event.
 * @param string	value			Optional value.
 */
gaTrack.gaTrackEvent = function( tracking_place, event_type, parameter, value )
{
	// Sending the request for tracking (var result can be true or false depends on the result of the tracking).
	if ( value == undefined )
	{
		var result = pageTracker._trackEvent( tracking_place, event_type, parameter );
	}
	else
	{
		var result = pageTracker._trackEvent( tracking_place, event_type, parameter, value );
	}
};

/**
 * Helper to add the click event on dom_elements that we want to track.
 *
 * @param string 	dom_element		Element to assign. May be: '#element', '.element' or other jquery selection method.
 * @param string 	tracking_place	Location where the event is generated (category).
 * @param string 	event_type		Event name (action).
 * @param string	parameter		Additional info about the event (label).
 * @param string	value			Optional value.
 */
gaTrack.addGaClickEvent = function( dom_element, tracking_place, event_type, parameter, value )
{
	$( document ).ready( function()
	{
		if ( $( dom_element ).length > 0 )
		{
			//$(dom_element).click( function(){ gaTrack.gaTrackEvent( tracking_place, event_type, parameter, value ); });
			gaTrack.bindFirst( dom_element, tracking_place, event_type, parameter, value )
		}
	});
};

/**
 * Helper to add a tracking point anywhere in a page ensuring page is fully loaded.
 *
 * @param string 	tracking_place	Location where the event is generated (category).
 * @param string 	event_type		Event name (action).
 * @param string	parameter		Additional info about the event (label).
 * @param string	value			Optional value.
 */
gaTrack.addGaSimpleTrack = function( tracking_place, event_type, parameter, value )
{
	$( document ).ready( function()
	{
		gaTrack.gaTrackEvent( tracking_place, event_type, parameter, value );
	});
};

/**
 * Assign events to the search results page.
 */
gaTrack.gaTrackingSearchResultsClicks = function()
{
	$(".buy_s").each( function()
	{
		var button_position = this.id.substring(11);
		var trackingData = $("#trackingData_" + button_position).val();
		gaTrack.addGaClickEvent( '#buy_button_' + button_position, 'ResultsPage', 'ClickBuyButton', trackingData );
	});

	$(".download_s").each( function()
	{
		var button_position = this.id.substring(16);
		var trackingData = $("#trackingData_" + button_position).val();
		gaTrack.addGaClickEvent( '#download_button_' + button_position, 'ResultsPage', 'ClickDownload', trackingData );
	});

	$(".tracking_title").each( function()
	{
		var button_position = this.id.substring(13);
		var trackingData = $("#trackingData_" + button_position).val();
		var parentDiv = $(this).parent();
		var is_sponsored = ( parentDiv.find("div.sponsored").length > 0 );
		var action = 'ClickTitle';
		if ( is_sponsored )
		{
			action = 'ClickTitleSponCentral';
		}
		gaTrack.addGaClickEvent( '#title_button_' + button_position, 'ResultsPage', action, trackingData );
	});

};

/**
 * Assign events to the program page.
 */
gaTrack.gaTrackingProgramClicks = function()
{
	var trackingData = $("#trackingData").val();

	gaTrack.addGaClickEvent( '#download_button', 'ProgramPage', 'ClickDownload', trackingData );
	gaTrack.addGaClickEvent( '#buy_button', 'ProgramPage', 'ClickBuyButton', trackingData );
	// WEB-9297 ( UniversalDownload Test ):
	if ( gaTrack._isUDTest() )
	{
		gaTrack.addGaClickEvent( '#download_big', 'UDprogrampage ', 'DownloadUD', trackingData );
		gaTrack.addGaClickEvent( '#other_download_options a', 'UDprogrampage ', 'OtherDownloadOptions', trackingData );
		gaTrack.addGaClickEvent( '#universal_downloader_claim', 'UDprogrampage ', 'TextSoftonicFreeDownload', trackingData );
		/* TODO: Track this!
		gaTrack.addGaClickEvent( '.download_m', 'UDprogrampage ', 'DownloadEndReview', trackingData );
		gaTrack.addGaClickEvent( '.download_m', 'UDprogrampage ', 'DownloadEndComments', trackingData );
		gaTrack.addGaClickEvent( '.download_l', 'UDprogrampage ', 'DownloadEndPage', trackingData );
		gaTrack.addGaClickEvent( '.download_s', 'UDprogrampage ', 'DownloadRightBox', trackingData );
		*/
	}
	else
	{
		gaTrack.addGaClickEvent( '#download_big', 'ProgramPage', 'ClickDownload', trackingData );
	}
};

/**
 * Assign events to the video main page.
 */
gaTrack.gaTrackingVideoClicks = function()
{
	var trackingData = $("#trackingData").val();
	gaTrack.addGaClickEvent( '#social_email', 'Video', 'ClickEmail', trackingData );
	gaTrack.addGaClickEvent( '#social_myspace', 'Video', 'ClickMyspace', trackingData );
	gaTrack.addGaClickEvent( '#social_facebook', 'Video', 'ClickFacebook', trackingData );
	gaTrack.addGaClickEvent( '#social_digg', 'Video', 'ClickDigg', trackingData );
	gaTrack.addGaClickEvent( '#more_info_desc', 'Video', 'ClickMoreInfo', trackingData );
	gaTrack.addGaClickEvent( '#video_title', 'Video', 'ClickTitle', trackingData );
	$(".trackRelated").each( function()
	{
		var button_position = this.id.substring(11);
		gaTrack.addGaClickEvent( "#relatedLnk_" + button_position, 'Video', 'RelatedWeb', trackingData );
		gaTrack.addGaClickEvent( "#relatedImg_" + button_position, 'Video', 'RelatedWeb', trackingData );
	});
};

/**
 * Assign events to the top bar main page.
 */
gaTrack.gaTrackingTopbarPromoClicks = function()
{
	gaTrack.addGaClickEvent( '#rebajas_link', 'HomeWindows', 'ClickEspeciales', 'BarraRebajas' );
};

/**
 * Assign events to the top bar main page in DE.
 */
gaTrack.gaTrackingTopbarPromoClicks_de = function()
{
	gaTrack.addGaClickEvent( '#summersales_link_de', 'HomeWindows', 'ClickEspeciales', 'BarraRebajas' );
};



/**
 * Assign events to the program download page.
 */
gaTrack.gaTrackingProgramDownloadClicks = function()
{
	var trackingData = $("#trackingData").val();

	// WEB-9295 ( UniversalDownload Test ):
	if ( gaTrack._isUDTest() )
	{
		gaTrack.addGaClickEvent( '#program_title', 'UDdownloadpage', 'Title', trackingData );
		gaTrack.addGaClickEvent( '#free_download_button_ud', 'UDdownloadpage', 'UDDownload', trackingData );
		gaTrack.addGaClickEvent( '#free_download_button', 'UDdownloadpage', 'FreeDownload', trackingData );
		gaTrack.addGaClickEvent( '#deluxe_download', 'UDdownloadpage', 'LoginDeluxe', trackingData );
		gaTrack.addGaClickEvent( '#deluxe_moreinfo', 'UDdownloadpage', 'MoreInfoDeluxe', trackingData );
	}
	else
	{
		gaTrack.addGaClickEvent( '#program_title', 'DownloadPage', 'ClickTitle', trackingData );
		gaTrack.addGaClickEvent( '#free_download_button', 'DownloadPage', 'ClickFreeDownload', trackingData );
		gaTrack.addGaClickEvent( '#helpdps', 'DownloadPage', 'ClickHelpDps', trackingData );
		gaTrack.addGaClickEvent( '#deluxe_download', 'DownloadPage', 'ClickDeluxe', trackingData );
		gaTrack.addGaClickEvent( '#deluxe_moreinfo', 'DownloadPage', 'ClickDeluxeMoreInfo', trackingData );
	}
	$(".tag_item").each( function() { gaTrack.addGaClickEvent( "#" + this.id, 'DownloadPage', 'ClickTagCloud', this.innerHTML ); } );

	// Inserted GA tracking also in dps.tpl & file.js
};

/**
 * Assign events to the summer_sale page.
 */
gaTrack.gaTrackingSummerSaleClicks = function()
{
	$(".promotion_title").each( function() { gaTrack.addGaClickEvent( "#" + this.id, 'Rebajas', 'ClickTitle', this.title ); } );
	$(".buy_l").each( function() { gaTrack.addGaClickEvent( "#" + this.id, 'Rebajas', 'ClickBuy', this.title ); } );
};

/**
 * Assign events to the inforagil page.
 */
gaTrack.gaTrackingInforagilClicks = function()
{
	$(".ga_product").each( function() { gaTrack.addGaClickEvent( "#" + this.id, 'Advertisement', 'ClickDownload', this.title + ' Inforagil' ); } );
};

/**
 * Assign events to the Top Downloads module.
 * It is done differently because is called in a module, without access to init() area in main page.
 */
gaTrack.gaTrackingTopDownloadsClicks = function()
{
	$(".top_download_link").click( function(){
		gaTrack.gaTrackEvent( 'TopDownload', 'Click', this.id.replace( 'top_download_', '' ) );
	});
};

/**
 * This checks if actual page is affected by UD testing
 */
gaTrack._isUDTest = function()
{
	if ( $( '#universal_downloader_claim' ).length > 0 || $( '#content_universaldownloader' ).length > 0 )
	{
		return true;
	}
	else
	{
		return false;
	}
};

/**
 * This binds the click event in the first place of bind stack.
 *
 * @param string 	dom_element		Element to assign. May be: '#element', '.element' or other jquery selection method.
 * @param string 	tracking_place	Location where the event is generated (category).
 * @param string 	event_type		Event name (action).
 * @param string	parameter		Additional info about the event (label).
 * @param string	value			Optional value.
 */
gaTrack.bindFirst = function( dom_element, tracking_place, event_type, parameter, value )
{
	// Initialize arrays and fill them.
	var all_element_events		= $.data( $( dom_element ).get( 0 ), 'events' );
	var all_element_functions	= new Array();

	if ( all_element_events != undefined )
	{
		$.each( all_element_events, function( key, value )
		{
			$.each( value, function( key2, value2 )
			{
				all_element_functions.push( value2 );
			});
		});
	}

	// Unbind all events from this element.
	$( dom_element ).unbind( 'click' );

	// Bind the tracking to the given element.
	$( dom_element ).bind( 'click', function(){ gaTrack.gaTrackEvent( tracking_place, event_type, parameter, value ); });

	// Bind the rest of events to the given element.
	if ( all_element_functions.length > 0 )
	{
		$.each( all_element_functions, function( key, value )
		{
			$( dom_element ).bind( 'click', value );
		});
	}
};

gaTrack.gaTrackingAdvZiclopeClicks = function()
{
	gaTrack.addGaClickEvent( '#download_zgestion', 'Advertisement_Ziclope', 'AdDownload', 'Zgestion' );
	gaTrack.addGaClickEvent( '#download_zfactura', 'Advertisement_Ziclope', 'AdDownload', 'Zfactura' );
	gaTrack.addGaClickEvent( '#download_zcliente', 'Advertisement_Ziclope', 'AdDownload', 'Zcliente' );
	gaTrack.addGaClickEvent( '#download_zeagle', 'Advertisement_Ziclope', 'AdDownload', 'EagleMailer' );
};


/* @end JAVASCRIPT gaTracking */

/* @JAVASCRIPT facebook */

/*    HTTP Host:  static.ak.connect.facebook.com                               */
/*    Generated:  June 2nd 2009 7:03:18 AM PDT                                 */
/*      Machine:  10.17.7.122                                                  */

/**
 * FeatureLoader.js.php is designed to be the minimal set of code necessary to
 * use the Facebook Javascript API.
 *
 * The majority of the API is split into "features" which can be loaded
 * separately or all at once. Most features are packaged together into
 * connect.js.pkg.php, so it doesn't really matter which ones you pull in.
 *
 * @provides connect-FeatureLoader
 *
 */

// Create FB namespace if necessary
if (!window.FB) {
  FB = {};
}

// Only load if this class is not already loaded
if (!FB.Bootstrap) {
  FB.Bootstrap = {
    /*
     * Use this to request loading of features in Facebook Client JavaScript library
     * @param features  array of features (see wiki for options)
     * @param callback  callback function to be executed when all required features
     *                  are finished loading
     */
    requireFeatures : function(features, callback) {
      // Don't do anything if this page is a cross domain channel page
      if (FB.Bootstrap.isXdChannel) {
        return;
      }

      FB.Bootstrap.enqueueFeatureRequest({"features": features,
            "callback": callback,
            "loadedCount": 0});
      if (FB.Bootstrap.FeatureMap) {
        if (FB.FeatureLoader) {
          FB.FeatureLoader.singleton.checkRequestQueue();
        } else {
          FB.Bootstrap.addScript(FB.Bootstrap.FeatureMap["Base"].src);
        }
      }
    },

    /*
     * Convenient wrapper for calling Facebook API calls. Because the Facebook
     * API is dynamically loaded, this guarantees that your function isn't called
     * until both the libraries are loaded and initialized.
     *
     * Use in conjunction with FB.init.
     * Example usage:
     *  FB.ensureInit (  function () {
     *  // ... any code in the Facebook library
     *  });
     *
     * @param callback   function to call when Facebook is dynamically loaded.
     * @throws exception if FB.init is not called within the document.
     */
    ensureInit : function(callback) {
      if (!callback) {
        throw("FB.ensureInit called without a valid callback");
      }

      // short-circuit if initialization has already been called
      if (FB.Facebook &&
          FB.Facebook.get_initialized &&
          FB.Facebook.get_initialized().get_isReady() &&
          FB.Facebook.get_initialized().result) {
        return callback();
      }

      // if it's not already initialized, then queue it up
      // by the time this callback is executed, FB.Facebook.init
      // must have been called or else
      FB.Bootstrap.requireFeatures(FB.Bootstrap.features, function() {
        FB.Facebook.get_initialized().waitForValue(true, callback);
        });
    },

    /*
     * This safely initializes the Facebook API for use on a Connect or iframe site.
     *
     * It is a wrapper around FB.Facebook.init, provided here so that it is available
     * before the rest of the library is dynamically loaded. All subsequent calls
     * must be wrapped in FB.ensureInit() in order to guarantee that the init function is
     * called first.
     *
     * Example Usage:
     *  FB.init("API_KEY", "xd_receiver.php");
     *
     *  @param api_key       your API key provided by the developer app
     *  @param xd_receiver   The cross-domain receiver file on your domain.
     *                       Suggest using an absolute URL like "/xd_receiver.htm"
     *  @param appSettings   Optional application settings.
     */
    init : function(api_key, xd_receiver, appSettings) {
      // bind to the onload handler
      FB.Bootstrap.requireFeatures(FB.Bootstrap.features, function() {
          if (FB.Facebook) {
            // init has changed definition by now
            FB.Facebook.init(api_key, xd_receiver, appSettings);
          }
        });
    },

    /*
     * Dynamically add a script tag to the document.
     */
    addScript : function(src) {
      var scriptElement;

      // Check if we have the script loaded already
      var scriptElements = document.getElementsByTagName('script');
      if (scriptElements ) {
        var c = scriptElements.length;
        for (var i = 0; i < c; i++) {
          scriptElement = scriptElements[i];
          if (scriptElement.src == src) {
            // Found a match
            return;
          }
        }
      }


      scriptElement = document.createElement("script");
      scriptElement.type = "text/javascript";
      scriptElement.src = src;
      var parent = document.getElementsByTagName('HEAD')[0] || document.body;
      parent.appendChild(scriptElement);
    },

    /*
     * Initialize global page, one-time setup for the cross domain channel.
     *
     * Some sites may not have a dedicated cross domain channel page, but
     * use an existing page url as the channel page by using the special
     * fbc_receiver=1 query parameter. This is not very performant but we
     * support in cases where a dedicated channel is difficult to create.
     *
     */
    initializeXdChannel : function () {
      FB.Bootstrap.isXdChannel =
        window.location.search.indexOf(FB.Bootstrap.fbc_channel_token) >= 0;

      if (!FB.Bootstrap.isXdChannel) {
        FB.Bootstrap.createHiddenDiv();
        FB.Bootstrap.detectDOMContentReady();
      }
    },

    /*
     * Use detectDOMContentReady to determine whether window is loaded.
     * Because there is no way to determine a window is loaded after it is
     * already loaded, we must initialize the state to false in a code that
     * will be executed before the window is loaded, then listen to the window
     * load event.
     *
     * Since FeatureLoader.js.php is the only script we have that is not
     * dynamically loaded, we must place this code in this file.
     */
    detectDOMContentReady : function() {
      if (window.navigator.userAgent.toLowerCase().indexOf("msie") >= 0) {
        window.attachEvent("onload", function() {
            FB.Bootstrap.IsDomContentReady = true;
          });
      } else {
        window.addEventListener("DOMContentLoaded", function() {
            FB.Bootstrap.IsDomContentReady = true;
          }, false);
      }
    },

    /*
     * Create a hidden DOM container element. This is used to store hidden
     * iframes. If developers do not want the document.write to be called,
     * they can create their own hidden div named "FB_HiddenContainer".
     */
    createHiddenDiv : function() {
      if (document.getElementById('FB_HiddenContainer') == null) {
        document.write('<div id="FB_HiddenContainer" '
                       + 'style="position:absolute; top:-10000px; left:-10000px; width:0px; height:0px;" >'
                       + '</div>');
      }
    },

    /*
     * Loads the map of feature => file that enables dynamic loading of JS files.
     * Note that for now, these are pretty much all pointing to the same file,
     * but we hope to implement some optimizations in the future to make this
     * more customizable.
     *
     * @param  featureMap          map of feature => file
     * @param  staticResourceMap   map of static resource identifier => file
     * @param  siteVarsMap         map of server-side relevant siteVars
     */
    loadServerMaps : function(featureMap, staticResourceMap, siteVarsMap) {
      if(!this.FeatureMap.length) {
        this.FeatureMap = featureMap;
        this.StaticResourceVersions = staticResourceMap;
        if (FB.FeatureLoader) {
          FB.FeatureLoader.singleton.checkRequestQueue();
        }
      }
      if (!this.siteVars.length) {
        this.siteVars = siteVarsMap;
      }
    },

    /*
     * Submit a given feature request for loading.
     */
    enqueueFeatureRequest : function(request) {
      this.FeatureRequestQueue[this.FeatureRequestQueue.length] = request;
    },

    /*
     * For IE, we will try to detect if document.namespaces contains 'fb' already
     * and add it if it does not exist.
     */
    detectDocumentNamespaces : function() {
      if (document.namespaces && !document.namespaces.item['fb']) {
        document.namespaces.add('fb');
      }
    },

    /*
     * If a dedicated cross domain channel url cannot be created.
     * Use this function create an url based on current page by
     * adding a special query string the url of the current page.
     * This should be avoided unless there is other choice because
     * it is not efficient.
     */
    createDefaultXdChannelUrl : function() {
      var xd_receiver = location.protocol + '//' + location.hostname +
      location.pathname + location.search;
      if(location.search || location.search.length > 0) {
        xd_receiver += '&';
      } else {
        xd_receiver += '?';
      }
      xd_receiver += 'fbc_channel=1';
      return xd_receiver;
    },

    /*
     * Global state variables
     */
    features                 : ["XFBML", "CanvasUtil"],

    IsDomContentReady        : false,
    FeatureRequestQueue      : [],
    FeatureMap               : [],
    StaticResourceVersions   : [],
    CustomFeatureMap         : [],
    siteVars                 : {},
    fbc_channel_token        : 'fbc_channel=1'
  };

  /*
   * Define shorthand functions for ease of use.
   */
  window.FB_RequireFeatures        = FB.Bootstrap.requireFeatures;
  window.FB.init                   = FB.Bootstrap.init;
  window.FB.ensureInit             = FB.Bootstrap.ensureInit;
}

FB.Bootstrap.initializeXdChannel();
FB.Bootstrap.detectDocumentNamespaces();
FB.Bootstrap.loadServerMaps(
        /* featureMap        */ {"Base":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/z6S2H\/lpkg\/9n2mcxd7\/nu_ll\/141\/165722\/js\/connect.js.pkg.php","dependencies":null},"Common":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/z6S2H\/lpkg\/9n2mcxd7\/nu_ll\/141\/165722\/js\/connect.js.pkg.php","dependencies":["Base"]},"XdComm":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/z6S2H\/lpkg\/9n2mcxd7\/nu_ll\/141\/165722\/js\/connect.js.pkg.php","dependencies":["Common"]},"CacheData":{"src":"http:\/\/b.static.ak.fbcdn.net\/rsrc.php\/zEECA\/l\/94y4e2fx\/nu_ll\/146710\/js\/api_lib\/v0.4\/CacheData.js","dependencies":["Common","XdComm"]},"Api":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/z6S2H\/lpkg\/9n2mcxd7\/nu_ll\/141\/165722\/js\/connect.js.pkg.php","dependencies":["XdComm"]},"CanvasUtil":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/z6S2H\/lpkg\/9n2mcxd7\/nu_ll\/141\/165722\/js\/connect.js.pkg.php","dependencies":["Common","XdComm"]},"Connect":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/z6S2H\/lpkg\/9n2mcxd7\/nu_ll\/141\/165722\/js\/connect.js.pkg.php","dependencies":["CanvasUtil","Api"],"styleSheets":["http:\/\/static.ak.fbcdn.net\/rsrc.php\/z8167\/l\/dqx9ty2a\/es_ES\/164323\/css\/connect\/fb_connect.css"]},"XFBML":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/z6S2H\/lpkg\/9n2mcxd7\/nu_ll\/141\/165722\/js\/connect.js.pkg.php","dependencies":["CanvasUtil","Api","Connect"]},"Integration":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/z38PM\/l\/5fgk415d\/nu_ll\/146710\/js\/api_lib\/v0.4\/Integration.js","dependencies":["Connect"]},"Comments":{"src":"http:\/\/b.static.ak.fbcdn.net\/rsrc.php\/z9SGM\/l\/7bodfyxw\/nu_ll\/147339\/js\/api_lib\/v0.4\/Comments.js","dependencies":["XdComm","XFBML"]},"Payments":{"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/zXPFS\/l\/9qoy5526\/nu_ll\/165316\/js\/api_lib\/v0.4\/fbpayments.js","dependencies":["XdComm","Connect"]}},
        /* staticResourceMap */ {"base_url_format":"http:\/\/{0}.connect.facebook.com\/","api_channel":163033,"api_server":163033,"www_channel":163033,"xd_comm_swf_url":"http:\/\/static.ak.connect.facebook.com\/swf\/XdComm.swf","login_img_dark_small_short":"http:\/\/b.static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_dark_small_short.gif?8:121638","login_img_dark_medium_short":"http:\/\/b.static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_dark_medium_short.gif?8:121638","login_img_dark_medium_long":"http:\/\/b.static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_dark_medium_long.gif?8:121638","login_img_dark_large_short":"http:\/\/b.static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_dark_large_short.gif?8:121776","login_img_dark_large_long":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_dark_large_long.gif?8:121638","login_img_light_small_short":"http:\/\/b.static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_light_small_short.gif?8:121638","login_img_light_medium_short":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_light_medium_short.gif?8:121776","login_img_light_medium_long":"http:\/\/b.static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_light_medium_long.gif?8:121776","login_img_light_large_short":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_light_large_short.gif?8:121776","login_img_light_large_long":"http:\/\/b.static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_light_large_long.gif?8:121638","login_img_white_small_short":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_white_small_short.gif?8:121638","login_img_white_medium_short":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_white_medium_short.gif?8:121638","login_img_white_medium_long":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_white_medium_long.gif?8:121638","login_img_white_large_short":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_white_large_short.gif?8:121638","login_img_white_large_long":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/login-buttons\/connect_white_large_long.gif?8:121638","logout_img_small":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/logout-buttons\/logout_small.gif?8:132011","logout_img_medium":"http:\/\/static.ak.fbcdn.net\/images\/fbconnect\/logout-buttons\/logout_medium.gif?8:132011","logout_img_large":"http:\/\/b.static.ak.fbcdn.net\/images\/fbconnect\/logout-buttons\/logout_large.gif?8:132011"},
        /* siteVarSettings   */ {"canvas_client_compute_content_size_method":1,"use_postMessage":1});/**
 *  NOTE - this file should be editted at
 *  /lib/connect/Facebook/XdComm/XdCommReceiver.js
 *  which will rewrite any library file connect is autogened
 *
 *  @provides XdCommReceiver
 *  @requires
 */

// Create FBIntern namespace if necessary
if (!window.FBIntern) {
  FBIntern = {};
}

// Only load if this class is not already loaded
if (!FBIntern.XdReceiver) {
  // XdReceiver class
  FBIntern.XdReceiver = {
    delay : 100,
    timerId : -1,
    dispatchMessage: function() {
      //We don't used window.location.hash because it has different behavior on IE and Firefox.
      //See https://bugzilla.mozilla.org/show_bug.cgi?id=378962
      var pathname = document.URL;
      var hashIndex = pathname.indexOf('#');
      var hash;
      if(hashIndex > 0) {
        hash = pathname.substring(hashIndex + 1);
      } else {
        //hashIndex not found;
        //Check if it's special case for login callback
        hashIndex = pathname.indexOf('fb_login&');
        if(hashIndex > 0) {
          hash = pathname.substring(hashIndex + 9);
        } else {
          return;
        }
      }

      var debugFlag='debug=1&';
      if(hash.indexOf(debugFlag) == 0) {
        hash = hash.substring(debugFlag.length);
      }

      var packet_string;
      var func = null;
      try {
        var hostWindow = window.parent;
        if (hash.indexOf('fname=') == 0) {
          var packetStart = hash.indexOf('&');
          var frame_name = hash.substr(6, packetStart-6);
          if(frame_name == "_opener") {
            hostWindow = hostWindow.opener;
          } else if (frame_name == "_oparen") {
            hostWindow = hostWindow.opener.parent;
          } else if (frame_name != "_parent") {
            hostWindow = hostWindow.frames[frame_name];
          }
          packet_string = hash.substr(packetStart+1);
        } else {
          hostWindow = hostWindow.parent;
          packet_string = hash;
        }

        func = hostWindow.FB.XdComm.Server.singleton.onReceiverLoaded;
      } catch (e) {
        if (e.number == -2146828218) {
          //Permission denied
          return;
        }
      }

      if(func) {
        hostWindow.FB.XdComm.Server.singleton.onReceiverLoaded(packet_string);
        if(FBIntern.XdReceiver.timerId != -1) {
          window.clearInterval(FBIntern.XdReceiver.timerId);
          FBIntern.XdReceiver.timerId = -1;
        }
      } else {
        if(FBIntern.XdReceiver.timerId == -1) {
          try {
            FBIntern.XdReceiver.timerId = window.setInterval(FBIntern.XdReceiver.dispatchMessage, FBIntern.XdReceiver.delay);
          } catch (e) {
          }
        }
      }
    }
  };

  if (!(window.FB && FB.Bootstrap && !FB.Bootstrap.isXdChannel)) {
    try {
      FBIntern.XdReceiver.dispatchMessage();
    }
    catch(e) {
    }
  }
 }

 //----------------------------------------------------------------//

 /**
 * FacebookConnect object provides all the local functionality for FB Connect on Softonic:
 * login, logout & registering actions on users' Facebook Wall.
 *
 * We use FB_RequireFeatures in order to load Facebook libraries only when needed.
 * More info about FB_RequireFeatures: http://wiki.developers.facebook.com/index.php/FB_RequireFeatures
 *
 */

FacebookConnect = function()
{
	$("#user_info ul").css('margin-left', '24px' );

	// Check if user has activated account linking.
	if ( $("#user_facebook_id_user").length )
	{
		// Facebook icon on logged users.
		$("#user_facebook_link").addClass('active');

		// Check for actions to send to the Facebook feed.
		if ( $("#fb_send").length > 0 ) this.sendActionToFacebook();

		// Create a custom event to handle Facebook actions.
		$("#user_facebook_link").bind("fb_send", this.sendActionToFacebook );
	}
	else
	{
		// If the accounts are not linked, we show the icon disabled.
		$("#user_facebook_link").addClass('inactive');
	}

	// Login & logout events.
	$("#user_facebook_link.inactive, #user_facebook_button, #facebook_login").click( this.doFacebookLogin );
	$("#logout").click( this.doFacebookLogout );
}

$.extend(FacebookConnect.prototype,
{
	doFacebookLogin: function()
	{
		FB_RequireFeatures(["Connect"], function() {
			FB.init(facebook_api_key, "/shared/facebook-js/xd_receiver.htm",
			{
				"ifUserConnected":function() {
					document.location = url_absolute + 'facebook-status';
					return false;
				},
				"ifUserNotConnected":function () {
					FB.Connect.requireSession( function() { document.location = url_absolute + 'facebook-status' } );
					return false;
				}
			});
		});

		return false;
	},

	doFacebookLogout: function()
	{
		FB_RequireFeatures(["Connect"], function() {
			FB.init(facebook_api_key, "/shared/facebook-js/xd_receiver.htm",
			{
				"ifUserConnected":function() {
					FB.Connect.logoutAndRedirect( $('#logout').attr('href') );
					return false;
				},
				"ifUserNotConnected":function () {
					document.location = $('#logout').attr('href');
					return false;
				}
			});
		});
	},

	sendActionToFacebook: function()
	{
		action_data = {
			"short_action":$("#fb_action").attr("value")+' '+$("#fb_object").attr("value"),
			"long_action":$("#fb_action").attr("value"),
			"action_title":$("#fb_object").attr("value"),
			"action_resume":$("#fb_resume").attr("value"),
			"action_destination":$("#fb_place").attr("value"),
			"main_action":$("#fb_link_text").attr("value"),
			"main_url":$("#fb_link_url ").attr("value")
		}

		FB_RequireFeatures(["CanvasUtil"], function() {
			FB.init(facebook_api_key, "/shared/facebook-js/xd_receiver.htm");
			FB.Connect.showFeedDialog(88679996779, action_data, null, null, null, FB.RequireConnect.promptConnect );
		});
	}
});


/* @end JAVASCRIPT facebook */
