var debugMode=false;
var console=console||{};
console.log=console.log||function(A){};
function log(A){if(debugMode&&console&&console.log){console.log(A)
}}(function(){var _jQuery=window.jQuery,_$=window.$;
var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context)
};
var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;
jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;
if(selector.nodeType){this[0]=selector;
this.length=1;
return this
}if(typeof selector=="string"){var match=quickExpr.exec(selector);
if(match&&(match[1]||!context)){if(match[1]){selector=jQuery.clean([match[1]],context)
}else{var elem=document.getElementById(match[3]);
if(elem){if(elem.id!=match[3]){return jQuery().find(selector)
}return jQuery(elem)
}selector=[]
}}else{return jQuery(context).find(selector)
}}else{if(jQuery.isFunction(selector)){return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector)
}}return this.setArray(jQuery.makeArray(selector))
},jquery:"1.2.6",size:function(){return this.length
},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num]
},pushStack:function(elems){var ret=jQuery(elems);
ret.prevObject=this;
return ret
},setArray:function(elems){this.length=0;
Array.prototype.push.apply(this,elems);
return this
},each:function(callback,args){return jQuery.each(this,callback,args)
},index:function(elem){var ret=-1;
if(elem instanceof jQuery){elem=elem.get(0)
}this.each(function(i){if(this==elem){if(elem.jquery?elem.index(this)!=-1:this===elem){ret=i;
return false
}}});
return ret
},attr:function(name,value,type){var options=name;
if(name.constructor==String){if(value===undefined){return this[0]&&jQuery[type||"attr"](this[0],name)
}else{options={};
options[name]=value
}}return this.each(function(i){for(name in options){jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name))
}})
},css:function(key,value){if((key=="width"||key=="height")&&parseFloat(value)<0){value=undefined
}return this.attr(key,value,"curCSS")
},text:function(text){if(typeof text!="object"&&text!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text))
}var ret="";
jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8){ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this])
}})
});
return ret
},wrapAll:function(html){if(this[0]){jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;
while(elem.firstChild){elem=elem.firstChild
}return elem
}).append(this)
}return this
},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html)
})
},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html)
})
},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1){this.appendChild(elem)
}})
},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1){this.insertBefore(elem,this.firstChild)
}})
},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this)
})
},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling)
})
},end:function(){return this.prevObject||jQuery([])
},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem)
});
return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems)
},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");
container.appendChild(clone);
return jQuery.clean([container.innerHTML])[0]
}else{return this.cloneNode(true)
}});
var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined){this[expando]=null
}});
if(events===true){this.find("*").andSelf().each(function(i){if(this.nodeType==3){return 
}var events=jQuery.data(this,"events");
for(var type in events){for(var handler in events[type]){jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data)
}}})
}return ret
},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i)
})||jQuery.multiFilter(selector,this))
},not:function(selector){if(selector.constructor==String){if(isSimple.test(selector)){return this.pushStack(jQuery.multiFilter(selector,this,true))
}else{selector=jQuery.multiFilter(selector,this)
}}var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;
return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector
})
},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=="string"?jQuery(selector):jQuery.makeArray(selector))))
},is:function(selector){return !!selector&&jQuery.multiFilter(selector,this).length>0
},hasClass:function(selector){return this.is("."+selector)
},val:function(value){if(value==undefined){if(this.length){var elem=this[0];
if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";
if(index<0){return null
}for(var i=one?index:0,max=one?index+1:options.length;
i<max;
i++){var option=options[i];
if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;
if(one){return value
}values.push(value)
}}return values
}else{return(this[0].value||"").replace(/\r/g,"")
}}return undefined
}if(value.constructor==Number){value+=""
}return this.each(function(){if(this.nodeType!=1){return 
}if(value.constructor==Array&&/radio|checkbox/.test(this.type)){this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0)
}else{if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);
jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0)
});
if(!values.length){this.selectedIndex=-1
}}else{this.value=value
}}})
},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value)
},replaceWith:function(value){return this.after(value).remove()
},eq:function(i){return this.slice(i,i+1)
},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments))
},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)
}))
},andSelf:function(){return this.add(this.prevObject)
},data:function(key,value){var parts=key.split(".");
parts[1]=parts[1]?"."+parts[1]:"";
if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);
if(data===undefined&&this.length){data=jQuery.data(this[0],key)
}return data===undefined&&parts[1]?this.data(parts[0]):data
}else{return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value)
})
}},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)
})
},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;
return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);
if(reverse){elems.reverse()
}}var obj=this;
if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr")){obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"))
}var scripts=jQuery([]);
jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;
if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem)
}else{if(elem.nodeType==1){scripts=scripts.add(jQuery("script",elem).remove())
}callback.call(obj,elem)
}});
scripts.each(evalScript)
})
}};
jQuery.fn.init.prototype=jQuery.fn;
function evalScript(i,elem){if(elem.src){jQuery.ajax({url:elem.src,async:false,dataType:"script"})
}else{jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"")
}if(elem.parentNode){elem.parentNode.removeChild(elem)
}}function now(){return +new Date
}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;
if(target.constructor==Boolean){deep=target;
target=arguments[1]||{};
i=2
}if(typeof target!="object"&&typeof target!="function"){target={}
}if(length==i){target=this;
--i
}for(;
i<length;
i++){if((options=arguments[i])!=null){for(var name in options){var src=target[name],copy=options[name];
if(target===copy){continue
}if(deep&&copy&&typeof copy=="object"&&!copy.nodeType){target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy)
}else{if(copy!==undefined){target[name]=copy
}}}}}return target
};
var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};
jQuery.extend({noConflict:function(deep){window.$=_$;
if(deep){window.jQuery=_jQuery
}return jQuery
},isFunction:function(fn){return !!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"")
},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body
},globalEval:function(data){data=jQuery.trim(data);
if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");
script.type="text/javascript";
if(jQuery.browser.msie){script.text=data
}else{script.appendChild(document.createTextNode(data))
}head.insertBefore(script,head.firstChild);
head.removeChild(script)
}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase()
},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;
var id=elem[expando];
if(!id){id=elem[expando]=++uuid
}if(name&&!jQuery.cache[id]){jQuery.cache[id]={}
}if(data!==undefined){jQuery.cache[id][name]=data
}return name?jQuery.cache[id][name]:id
},removeData:function(elem,name){elem=elem==window?windowData:elem;
var id=elem[expando];
if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];
name="";
for(name in jQuery.cache[id]){break
}if(!name){jQuery.removeData(elem)
}}}else{try{delete elem[expando]
}catch(e){if(elem.removeAttribute){elem.removeAttribute(expando)
}}delete jQuery.cache[id]
}},each:function(object,callback,args){var name,i=0,length=object.length;
if(args){if(length==undefined){for(name in object){if(callback.apply(object[name],args)===false){break
}}}else{for(;
i<length;
){if(callback.apply(object[i++],args)===false){break
}}}}else{if(length==undefined){for(name in object){if(callback.call(object[name],name,object[name])===false){break
}}}else{for(var value=object[0];
i<length&&callback.call(value,i,value)!==false;
value=object[++i]){}}}return object
},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value)){value=value.call(elem,i)
}return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value
},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className)){elem.className+=(elem.className?" ":"")+className
}})
},remove:function(elem,classNames){if(elem.nodeType==1){elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return !jQuery.className.has(classNames,className)
}).join(" "):""
}},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1
}},swap:function(elem,options,callback){var old={};
for(var name in options){old[name]=elem.style[name];
elem.style[name]=options[name]
}callback.call(elem);
for(var name in options){elem.style[name]=old[name]
}},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];
function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;
var padding=0,border=0;
jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;
border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0
});
val-=Math.round(padding+border)
}if(jQuery(elem).is(":visible")){getWH()
}else{jQuery.swap(elem,props,getWH)
}return Math.max(0,val)
}return jQuery.curCSS(elem,name,force)
},curCSS:function(elem,name,force){var ret,style=elem.style;
function color(elem){if(!jQuery.browser.safari){return false
}var ret=defaultView.getComputedStyle(elem,null);
return !ret||ret.getPropertyValue("color")==""
}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");
return ret==""?"1":ret
}if(jQuery.browser.opera&&name=="display"){var save=style.outline;
style.outline="0 solid black";
style.outline=save
}if(name.match(/float/i)){name=styleFloat
}if(!force&&style&&style[name]){ret=style[name]
}else{if(defaultView.getComputedStyle){if(name.match(/float/i)){name="float"
}name=name.replace(/([A-Z])/g,"-$1").toLowerCase();
var computedStyle=defaultView.getComputedStyle(elem,null);
if(computedStyle&&!color(elem)){ret=computedStyle.getPropertyValue(name)
}else{var swap=[],stack=[],a=elem,i=0;
for(;
a&&color(a);
a=a.parentNode){stack.unshift(a)
}for(;
i<stack.length;
i++){if(color(stack[i])){swap[i]=stack[i].style.display;
stack[i].style.display="block"
}}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";
for(i=0;
i<swap.length;
i++){if(swap[i]!=null){stack[i].style.display=swap[i]
}}}if(name=="opacity"&&ret==""){ret="1"
}}else{if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase()
});
ret=elem.currentStyle[name]||elem.currentStyle[camelCase];
if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;
elem.runtimeStyle.left=elem.currentStyle.left;
style.left=ret||0;
ret=style.pixelLeft+"px";
style.left=left;
elem.runtimeStyle.left=rsLeft
}}}}return ret
},clean:function(elems,context){var ret=[];
context=context||document;
if(typeof context.createElement=="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document
}jQuery.each(elems,function(i,elem){if(!elem){return 
}if(elem.constructor==Number){elem+=""
}if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">"
});
var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");
var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];
div.innerHTML=wrap[1]+elem+wrap[2];
while(wrap[0]--){div=div.lastChild
}if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];
for(var j=tbody.length-1;
j>=0;
--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j])
}}if(/^\s/.test(elem)){div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild)
}}elem=jQuery.makeArray(div.childNodes)
}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select"))){return 
}if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options){ret.push(elem)
}else{ret=jQuery.merge(ret,elem)
}});
return ret
},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8){return undefined
}var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;
name=notxml&&jQuery.props[name]||name;
if(elem.tagName){var special=/href|src|style/.test(name);
if(name=="selected"&&jQuery.browser.safari){elem.parentNode.selectedIndex
}if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode){throw"type property can't be changed"
}elem[name]=value
}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name)){return elem.getAttributeNode(name).nodeValue
}return elem[name]
}if(msie&&notxml&&name=="style"){return jQuery.attr(elem.style,"cssText",value)
}if(set){elem.setAttribute(name,""+value)
}var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);
return attr===null?undefined:attr
}if(msie&&name=="opacity"){if(set){elem.zoom=1;
elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+""=="NaN"?"":"alpha(opacity="+value*100+")")
}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+"":""
}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase()
});
if(set){elem[name]=value
}return elem[name]
},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"")
},makeArray:function(array){var ret=[];
if(array!=null){var i=array.length;
if(i==null||array.split||array.setInterval||array.call){ret[0]=array
}else{while(i){ret[--i]=array[i]
}}}return ret
},inArray:function(elem,array){for(var i=0,length=array.length;
i<length;
i++){if(array[i]===elem){return i
}}return -1
},merge:function(first,second){var i=0,elem,pos=first.length;
if(jQuery.browser.msie){while(elem=second[i++]){if(elem.nodeType!=8){first[pos++]=elem
}}}else{while(elem=second[i++]){first[pos++]=elem
}}return first
},unique:function(array){var ret=[],done={};
try{for(var i=0,length=array.length;
i<length;
i++){var id=jQuery.data(array[i]);
if(!done[id]){done[id]=true;
ret.push(array[i])
}}}catch(e){ret=array
}return ret
},grep:function(elems,callback,inv){var ret=[];
for(var i=0,length=elems.length;
i<length;
i++){if(!inv!=!callback(elems[i],i)){ret.push(elems[i])
}}return ret
},map:function(elems,callback){var ret=[];
for(var i=0,length=elems.length;
i<length;
i++){var value=callback(elems[i],i);
if(value!=null){ret[ret.length]=value
}}return ret.concat.apply([],ret)
}});
var userAgent=navigator.userAgent.toLowerCase();
jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};
jQuery.testClosedjQuery=function(){return"testClosedjQuery() in closed jQuery"
};
var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";
jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});
jQuery.each({parent:function(elem){return elem.parentNode
},parents:function(elem){return jQuery.dir(elem,"parentNode")
},next:function(elem){return jQuery.nth(elem,2,"nextSibling")
},prev:function(elem){return jQuery.nth(elem,2,"previousSibling")
},nextAll:function(elem){return jQuery.dir(elem,"nextSibling")
},prevAll:function(elem){return jQuery.dir(elem,"previousSibling")
},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem)
},children:function(elem){return jQuery.sibling(elem.firstChild)
},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes)
}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);
if(selector&&typeof selector=="string"){ret=jQuery.multiFilter(selector,ret)
}return this.pushStack(jQuery.unique(ret))
}
});
jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;
return this.each(function(){for(var i=0,length=args.length;
i<length;
i++){jQuery(args[i])[original](this)
}})
}
});
jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");
if(this.nodeType==1){this.removeAttribute(name)
}},addClass:function(classNames){jQuery.className.add(this,classNames)
},removeClass:function(classNames){jQuery.className.remove(this,classNames)
},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames)
},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);
jQuery.removeData(this)
});
if(this.parentNode){this.parentNode.removeChild(this)
}}},empty:function(){jQuery(">*",this).remove();
while(this.firstChild){this.removeChild(this.firstChild)
}}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments)
}
});
jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();
jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px")
}
});
function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0
}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");
jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2])
},"#":function(a,i,m){return a.getAttribute("id")==m[2]
},":":{lt:function(a,i,m){return i<m[3]-0
},gt:function(a,i,m){return i>m[3]-0
},nth:function(a,i,m){return m[3]-0==i
},eq:function(a,i,m){return m[3]-0==i
},first:function(a,i){return i==0
},last:function(a,i,m,r){return i==r.length-1
},even:function(a,i){return i%2==0
},odd:function(a,i){return i%2
},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a
},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a
},"only-child":function(a){return !jQuery.nth(a.parentNode.lastChild,2,"previousSibling")
},parent:function(a){return a.firstChild
},empty:function(a){return !a.firstChild
},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0
},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"
},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"
},enabled:function(a){return !a.disabled
},disabled:function(a){return a.disabled
},checked:function(a){return a.checked
},selected:function(a){return a.selected||jQuery.attr(a,"selected")
},text:function(a){return"text"==a.type
},radio:function(a){return"radio"==a.type
},checkbox:function(a){return"checkbox"==a.type
},file:function(a){return"file"==a.type
},password:function(a){return"password"==a.type
},submit:function(a){return"submit"==a.type
},image:function(a){return"image"==a.type
},reset:function(a){return"reset"==a.type
},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button")
},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)
},has:function(a,i,m){return jQuery.find(m[3],a).length
},header:function(a){return/h\d/i.test(a.nodeName)
},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem
}).length
}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];
while(expr&&expr!=old){old=expr;
var f=jQuery.filter(expr,elems,not);
expr=f.t.replace(/^\s*,\s*/,"");
cur=not?elems=f.r:jQuery.merge(cur,f.r)
}return cur
},find:function(t,context){if(typeof t!="string"){return[t]
}if(context&&context.nodeType!=1&&context.nodeType!=9){return[]
}context=context||document;
var ret=[context],done=[],last,nodeName;
while(t&&last!=t){var r=[];
last=t;
t=jQuery.trim(t);
var foundToken=false,re=quickChild,m=re.exec(t);
if(m){nodeName=m[1].toUpperCase();
for(var i=0;
ret[i];
i++){for(var c=ret[i].firstChild;
c;
c=c.nextSibling){if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName)){r.push(c)
}}}ret=r;
t=t.replace(re,"");
if(t.indexOf(" ")==0){continue
}foundToken=true
}else{re=/^([>+~])\s*(\w*)/i;
if((m=re.exec(t))!=null){r=[];
var merge={};
nodeName=m[2].toUpperCase();
m=m[1];
for(var j=0,rl=ret.length;
j<rl;
j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;
for(;
n;
n=n.nextSibling){if(n.nodeType==1){var id=jQuery.data(n);
if(m=="~"&&merge[id]){break
}if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~"){merge[id]=true
}r.push(n)
}if(m=="+"){break
}}}}ret=r;
t=jQuery.trim(t.replace(re,""));
foundToken=true
}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0]){ret.shift()
}done=jQuery.merge(done,ret);
r=ret=[context];
t=" "+t.substr(1,t.length)
}else{var re2=quickID;
var m=re2.exec(t);
if(m){m=[0,m[2],m[3],m[1]]
}else{re2=quickClass;
m=re2.exec(t)
}m[2]=m[2].replace(/\\/g,"");
var elem=ret[ret.length-1];
if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);
if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2]){oid=jQuery('[@id="'+m[2]+'"]',elem)[0]
}ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[]
}else{for(var i=0;
ret[i];
i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];
if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object"){tag="param"
}r=jQuery.merge(r,ret[i].getElementsByTagName(tag))
}if(m[1]=="."){r=jQuery.classFilter(r,m[2])
}if(m[1]=="#"){var tmp=[];
for(var i=0;
r[i];
i++){if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];
break
}}r=tmp
}ret=r
}t=t.replace(re2,"")
}}if(t){var val=jQuery.filter(t,r);
ret=r=val.r;
t=jQuery.trim(val.t)
}}if(t){ret=[]
}if(ret&&context==ret[0]){ret.shift()
}done=jQuery.merge(done,ret);
return done
},classFilter:function(r,m,not){m=" "+m+" ";
var tmp=[];
for(var i=0;
r[i];
i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;
if(!not&&pass||not&&!pass){tmp.push(r[i])
}}return tmp
},filter:function(t,r,not){var last;
while(t&&t!=last){last=t;
var p=jQuery.parse,m;
for(var i=0;
p[i];
i++){m=p[i].exec(t);
if(m){t=t.substring(m[0].length);
m[2]=m[2].replace(/\\/g,"");
break
}}if(!m){break
}if(m[1]==":"&&m[2]=="not"){r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3])
}else{if(m[1]=="."){r=jQuery.classFilter(r,m[2],not)
}else{if(m[1]=="["){var tmp=[],type=m[3];
for(var i=0,rl=r.length;
i<rl;
i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];
if(z==null||/href|src|selected/.test(m[2])){z=jQuery.attr(a,m[2])||""
}if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not){tmp.push(a)
}}r=tmp
}else{if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;
for(var i=0,rl=r.length;
i<rl;
i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);
if(!merge[id]){var c=1;
for(var n=parentNode.firstChild;
n;
n=n.nextSibling){if(n.nodeType==1){n.nodeIndex=c++
}}merge[id]=true
}var add=false;
if(first==0){if(node.nodeIndex==last){add=true
}}else{if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0){add=true
}}if(add^not){tmp.push(node)
}}r=tmp
}else{var fn=jQuery.expr[m[1]];
if(typeof fn=="object"){fn=fn[m[2]]
}if(typeof fn=="string"){fn=eval("false||function(a,i){return "+fn+";}")
}r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r)
},not)
}}}}}return{r:r,t:t}
},dir:function(elem,dir){var matched=[],cur=elem[dir];
while(cur&&cur!=document){if(cur.nodeType==1){matched.push(cur)
}cur=cur[dir]
}return matched
},nth:function(cur,result,dir,elem){result=result||1;
var num=0;
for(;
cur;
cur=cur[dir]){if(cur.nodeType==1&&++num==result){break
}}return cur
},sibling:function(n,elem){var r=[];
for(;
n;
n=n.nextSibling){if(n.nodeType==1&&n!=elem){r.push(n)
}}return r
}});
jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8){return 
}if(jQuery.browser.msie&&elem.setInterval){elem=window
}if(!handler.guid){handler.guid=this.guid++
}if(data!=undefined){var fn=handler;
handler=this.proxy(fn,function(){return fn.apply(this,arguments)
});
handler.data=data
}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered){return jQuery.event.handle.apply(arguments.callee.elem,arguments)
}});
handle.elem=elem;
jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");
type=parts[0];
handler.type=parts[1];
var handlers=events[type];
if(!handlers){handlers=events[type]={};
if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener){elem.addEventListener(type,handle,false)
}else{if(elem.attachEvent){elem.attachEvent("on"+type,handle)
}}}}handlers[handler.guid]=handler;
jQuery.event.global[type]=true
});
elem=null
},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8){return 
}var events=jQuery.data(elem,"events"),ret,index;
if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)==".")){for(var type in events){this.remove(elem,type+(types||""))
}}else{if(types.type){handler=types.handler;
types=types.type
}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");
type=parts[0];
if(events[type]){if(handler){delete events[type][handler.guid]
}else{for(handler in events[type]){if(!parts[1]||events[type][handler].type==parts[1]){delete events[type][handler]
}}}for(ret in events[type]){break
}if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener){elem.removeEventListener(type,jQuery.data(elem,"handle"),false)
}else{if(elem.detachEvent){elem.detachEvent("on"+type,jQuery.data(elem,"handle"))
}}}ret=null;
delete events[type]
}}})
}for(ret in events){break
}if(!ret){var handle=jQuery.data(elem,"handle");
if(handle){handle.elem=null
}jQuery.removeData(elem,"events");
jQuery.removeData(elem,"handle")
}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);
if(type.indexOf("!")>=0){type=type.slice(0,-1);
var exclusive=true
}if(!elem){if(this.global[type]){jQuery("*").add([window,document]).trigger(type,data)
}}else{if(elem.nodeType==3||elem.nodeType==8){return undefined
}var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;
if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});
data[0][expando]=true
}data[0].type=type;
if(exclusive){data[0].exclusive=true
}var handle=jQuery.data(elem,"handle");
if(handle){val=handle.apply(elem,data)
}if((!fn||(jQuery.nodeName(elem,"a")&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false){val=false
}if(event){data.shift()
}if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));
if(ret!==undefined){val=ret
}}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,"a")&&type=="click")){this.triggered=true;
try{elem[type]()
}catch(e){}}this.triggered=false
}return val
},handle:function(event){var val,ret,namespace,all,handlers;
event=arguments[0]=jQuery.event.fix(event||window.event);
namespace=event.type.split(".");
event.type=namespace[0];
namespace=namespace[1];
all=!namespace&&!event.exclusive;
handlers=(jQuery.data(this,"events")||{})[event.type];
for(var j in handlers){var handler=handlers[j];
if(all||handler.type==namespace){event.handler=handler;
event.data=handler.data;
ret=handler.apply(this,arguments);
if(val!==false){val=ret
}if(ret===false){event.preventDefault();
event.stopPropagation()
}}}return val
},fix:function(event){if(event[expando]==true){return event
}var originalEvent=event;
event={originalEvent:originalEvent};
var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");
for(var i=props.length;
i;
i--){event[props[i]]=originalEvent[props[i]]
}event[expando]=true;
event.preventDefault=function(){if(originalEvent.preventDefault){originalEvent.preventDefault()
}originalEvent.returnValue=false
};
event.stopPropagation=function(){if(originalEvent.stopPropagation){originalEvent.stopPropagation()
}originalEvent.cancelBubble=true
};
event.timeStamp=event.timeStamp||now();
if(!event.target){event.target=event.srcElement||document
}if(event.target.nodeType==3){event.target=event.target.parentNode
}if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement
}if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;
event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);
event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0)
}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode)){event.which=event.charCode||event.keyCode
}if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey
}if(!event.which&&event.button){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)))
}return event
},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;
return proxy
},special:{ready:{setup:function(){bindReady();
return 
},teardown:function(){return 
}},mouseenter:{setup:function(){if(jQuery.browser.msie){return false
}jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);
return true
},teardown:function(){if(jQuery.browser.msie){return false
}jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);
return true
},handler:function(event){if(withinElement(event,this)){return true
}event.type="mouseenter";
return jQuery.event.handle.apply(this,arguments)
}},mouseleave:{setup:function(){if(jQuery.browser.msie){return false
}jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);
return true
},teardown:function(){if(jQuery.browser.msie){return false
}jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);
return true
},handler:function(event){if(withinElement(event,this)){return true
}event.type="mouseleave";
return jQuery.event.handle.apply(this,arguments)
}}}};
jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data)
})
},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);
return(fn||data).apply(this,arguments)
});
return this.each(function(){jQuery.event.add(this,type,one,fn&&data)
})
},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn)
})
},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn)
})
},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn)
},toggle:function(fn){var args=arguments,i=1;
while(i<args.length){jQuery.event.proxy(fn,args[i++])
}return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;
event.preventDefault();
return args[this.lastToggle++].apply(this,arguments)||false
}))
},hover:function(fnOver,fnOut){return this.bind("mouseenter",fnOver).bind("mouseleave",fnOut)
}});
jQuery.extend({isReady:false,readyList:[]});
var readyBound=false;
function bindReady(){if(readyBound){return 
}readyBound=true;
if(document.addEventListener&&!jQuery.browser.opera){document.addEventListener("DOMContentLoaded",jQuery.ready,false)
}if(jQuery.browser.msie&&window==top){(function(){if(jQuery.isReady){return 
}try{document.documentElement.doScroll("left")
}catch(error){setTimeout(arguments.callee,0);
return 
}jQuery.ready()
})()
}if(jQuery.browser.opera){document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady){return 
}for(var i=0;
i<document.styleSheets.length;
i++){if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);
return 
}}jQuery.ready()
},false)
}if(jQuery.browser.safari){var numStyles;
(function(){if(jQuery.isReady){return 
}if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);
return 
}if(numStyles===undefined){numStyles=jQuery("style, link[rel=stylesheet]").length
}if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);
return 
}jQuery.ready()
})()
}jQuery.event.add(window,"load",jQuery.ready)
}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name)
}
});
var withinElement=function(event,elem){var parent=event.relatedTarget;
while(parent&&parent!=elem){try{parent=parent.parentNode
}catch(error){parent=elem
}}return parent==elem
};
jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind()
});
jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!="string"){return this._load(url)
}var off=url.indexOf(" ");
if(off>=0){var selector=url.slice(off,url.length);
url=url.slice(0,off)
}callback=callback||function(){};
var type="GET";
if(params){if(jQuery.isFunction(params)){callback=params;
params=null
}else{params=jQuery.param(params);
type="POST"
}}var self=this;
jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified"){self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText)
}self.each(callback,[res.responseText,status,res])
}});
return this
},serialize:function(){return jQuery.param(this.serializeArray())
},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this
}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type))
}).map(function(i,elem){var val=jQuery(this).val();
return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val}
}):{name:elem.name,value:val}
}).get()
}});
jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f)
}
});
var jsc=now();
jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;
data=null
}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type})
},getScript:function(url,callback){return jQuery.get(url,null,callback,"script")
},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")
},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;
data={}
}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type})
},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings)
},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));
var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();
if(s.data&&s.processData&&typeof s.data!="string"){s.data=jQuery.param(s.data)
}if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre)){s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?"
}}else{if(!s.data||!s.data.match(jsre)){s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?"
}}s.dataType="json"
}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;
if(s.data){s.data=(s.data+"").replace(jsre,"="+jsonp+"$1")
}s.url=s.url.replace(jsre,"="+jsonp+"$1");
s.dataType="script";
window[jsonp]=function(tmp){data=tmp;
success();
complete();
window[jsonp]=undefined;
try{delete window[jsonp]
}catch(e){}if(head){head.removeChild(script)
}}
}if(s.dataType=="script"&&s.cache==null){s.cache=false
}if(s.cache===false&&type=="GET"){var ts=now();
var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");
s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"")
}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;
s.data=null
}if(s.global&&!jQuery.active++){jQuery.event.trigger("ajaxStart")
}var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;
if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];
var script=document.createElement("script");
script.src=s.url;
if(s.scriptCharset){script.charset=s.scriptCharset
}if(!jsonp){var done=false;
script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;
success();
complete();
head.removeChild(script)
}}
}head.appendChild(script);
return undefined
}var requestDone=false;
var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
if(s.username){xhr.open(type,s.url,s.async,s.username,s.password)
}else{xhr.open(type,s.url,s.async)
}try{if(s.data){xhr.setRequestHeader("Content-Type",s.contentType)
}if(s.ifModified){xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT")
}xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");
xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default)
}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;
xhr.abort();
return false
}if(s.global){jQuery.event.trigger("ajaxSend",[xhr,s])
}var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;
if(ival){clearInterval(ival);
ival=null
}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";
if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter)
}catch(e){status="parsererror"
}}if(status=="success"){var modRes;
try{modRes=xhr.getResponseHeader("Last-Modified")
}catch(e){}if(s.ifModified&&modRes){jQuery.lastModified[s.url]=modRes
}if(!jsonp){success()
}}else{jQuery.handleError(s,xhr,status)
}complete();
if(s.async){xhr=null
}}};
if(s.async){var ival=setInterval(onreadystatechange,13);
if(s.timeout>0){setTimeout(function(){if(xhr){xhr.abort();
if(!requestDone){onreadystatechange("timeout")
}}},s.timeout)
}}try{xhr.send(s.data)
}catch(e){jQuery.handleError(s,xhr,null,e)
}if(!s.async){onreadystatechange()
}function success(){if(s.success){s.success(data,status)
}if(s.global){jQuery.event.trigger("ajaxSuccess",[xhr,s])
}}function complete(){if(s.complete){s.complete(xhr,status)
}if(s.global){jQuery.event.trigger("ajaxComplete",[xhr,s])
}if(s.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop")
}}return xhr
},handleError:function(s,xhr,status,e){if(s.error){s.error(xhr,status,e)
}if(s.global){jQuery.event.trigger("ajaxError",[xhr,s,e])
}},active:0,httpSuccess:function(xhr){try{return !xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined
}catch(e){}return false
},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");
return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined
}catch(e){}return false
},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;
if(xml&&data.documentElement.tagName=="parsererror"){throw"parsererror"
}if(filter){data=filter(data,type)
}if(type=="script"){jQuery.globalEval(data)
}if(type=="json"){data=eval("("+data+")")
}return data
},param:function(a){var s=[];
if(a.constructor==Array||a.jquery){jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value))
})
}else{for(var j in a){if(a[j]&&a[j].constructor==Array){jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this))
})
}else{s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]))
}}}return s.join("&").replace(/%20/g,"+")
}});
jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";
if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");
this.style.display=elem.css("display");
if(this.style.display=="none"){this.style.display="block"
}elem.remove()
}}).end()
},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");
this.style.display="none"
}).end()
},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]()
})
},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback)
},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback)
},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback)
},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback)
},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback)
},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback)
},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);
return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1){return false
}var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;
for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden){return opt.complete.call(this)
}if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");
opt.overflow=this.style.overflow
}}if(opt.overflow!=null){this.style.overflow="hidden"
}opt.curAnim=jQuery.extend({},prop);
jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);
if(/toggle|show|hide/.test(val)){e[val=="toggle"?hidden?"show":"hide":val](prop)
}else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;
if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";
if(unit!="px"){self.style[name]=(end||1)+unit;
start=((end||1)/e.cur(true))*start;
self.style[name]=start+unit
}if(parts[1]){end=((parts[1]=="-="?-1:1)*end)+start
}e.custom(start,end,unit)
}else{e.custom(start,val,"")
}}});
return true
})
},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;
type="fx"
}if(!type||(typeof type=="string"&&!fn)){return queue(this[0],type)
}return this.each(function(){if(fn.constructor==Array){queue(this,type,fn)
}else{queue(this,type).push(fn);
if(queue(this,type).length==1){fn.call(this)
}}})
},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;
if(clearQueue){this.queue([])
}this.each(function(){for(var i=timers.length-1;
i>=0;
i--){if(timers[i].elem==this){if(gotoEnd){timers[i](true)
}timers.splice(i,1)
}}});
if(!gotoEnd){this.dequeue()
}return this
}});
var queue=function(elem,type,array){if(elem){type=type||"fx";
var q=jQuery.data(elem,type+"queue");
if(!q||array){q=jQuery.data(elem,type+"queue",jQuery.makeArray(array))
}}return q
};
jQuery.fn.dequeue=function(type){type=type||"fx";
return this.each(function(){var q=queue(this,type);
q.shift();
if(q.length){q[0].call(this)
}})
};
jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};
opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;
opt.old=opt.complete;
opt.complete=function(){if(opt.queue!==false){jQuery(this).dequeue()
}if(jQuery.isFunction(opt.old)){opt.old.call(this)
}};
return opt
},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p
},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum
}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;
this.elem=elem;
this.prop=prop;
if(!options.orig){options.orig={}
}}});
jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)
}(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);
if(this.prop=="height"||this.prop=="width"){this.elem.style.display="block"
}},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null){return this.elem[this.prop]
}var r=parseFloat(jQuery.css(this.elem,this.prop,force));
return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0
},custom:function(from,to,unit){this.startTime=now();
this.start=from;
this.end=to;
this.unit=unit||this.unit||"px";
this.now=this.start;
this.pos=this.state=0;
this.update();
var self=this;
function t(gotoEnd){return self.step(gotoEnd)
}t.elem=this.elem;
jQuery.timers.push(t);
if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;
for(var i=0;
i<timers.length;
i++){if(!timers[i]()){timers.splice(i--,1)
}}if(!timers.length){clearInterval(jQuery.timerId);
jQuery.timerId=null
}},13)
}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);
this.options.show=true;
this.custom(0,this.cur());
if(this.prop=="width"||this.prop=="height"){this.elem.style[this.prop]="1px"
}jQuery(this.elem).show()
},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);
this.options.hide=true;
this.custom(this.cur(),0)
},step:function(gotoEnd){var t=now();
if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;
this.pos=this.state=1;
this.update();
this.options.curAnim[this.prop]=true;
var done=true;
for(var i in this.options.curAnim){if(this.options.curAnim[i]!==true){done=false
}}if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;
this.elem.style.display=this.options.display;
if(jQuery.css(this.elem,"display")=="none"){this.elem.style.display="block"
}}if(this.options.hide){this.elem.style.display="none"
}if(this.options.hide||this.options.show){for(var p in this.options.curAnim){jQuery.attr(this.elem.style,p,this.options.orig[p])
}}}if(done){this.options.complete.call(this.elem)
}return false
}else{var n=t-this.startTime;
this.state=n/this.options.duration;
this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);
this.now=this.start+((this.end-this.start)*this.pos);
this.update()
}return true
}};
jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now
},scrollTop:function(fx){fx.elem.scrollTop=fx.now
},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now)
},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit
}}});
jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;
if(elem){with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";
if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();
add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));
add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop)
}else{add(elem.offsetLeft,elem.offsetTop);
while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);
if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2){border(offsetParent)
}if(!fixed&&css(offsetParent,"position")=="fixed"){fixed=true
}offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;
offsetParent=offsetParent.offsetParent
}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display"))){add(-parent.scrollLeft,-parent.scrollTop)
}if(mozilla&&css(parent,"overflow")!="visible"){border(parent)
}parent=parent.parentNode
}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute")){add(-doc.body.offsetLeft,-doc.body.offsetTop)
}if(fixed){add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop))
}}results={top:top,left:left}
}}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true))
}function add(l,t){left+=parseInt(l,10)||0;
top+=parseInt(t,10)||0
}return results
};
jQuery.fn.extend({position:function(){var left=0,top=0,results;
if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();
offset.top-=num(this,"marginTop");
offset.left-=num(this,"marginLeft");
parentOffset.top+=num(offsetParent,"borderTopWidth");
parentOffset.left+=num(offsetParent,"borderLeftWidth");
results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left}
}return results
},offsetParent:function(){var offsetParent=this[0].offsetParent;
while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,"position")=="static")){offsetParent=offsetParent.offsetParent
}return jQuery(offsetParent)
}})
})();
var C4=C4||{};
C4.GLOBALSCRIPTS=C4.GLOBALSCRIPTS||{};
C4.GLOBALSCRIPTS.jQuery=jQuery.noConflict(true);
C4.GLOBALSCRIPTS.jQuery.cookie=(function(A){return function(C,J,M){if(typeof J!="undefined"){M=M||{};
if(J===null){J="";
M.expires=-1
}var F="";
if(M.expires&&(typeof M.expires=="number"||M.expires.toUTCString)){var G;
if(typeof M.expires=="number"){G=new Date();
G.setTime(G.getTime()+(M.expires*24*60*60*1000))
}else{G=M.expires
}F="; expires="+G.toUTCString()
}var L=M.path?"; path="+(M.path):"";
var H=M.domain?"; domain="+(M.domain):"";
var B=M.secure?"; secure":"";
document.cookie=[C,"=",encodeURIComponent(J),F,L,H,B].join("")
}else{var E=null;
if(document.cookie&&document.cookie!==""){var K=document.cookie.split(";");
for(var I=0;
I<K.length;
I++){var D=A.trim(K[I]);
if(D.substring(0,C.length+1)==(C+"=")){E=decodeURIComponent(D.substring(C.length+1));
break
}}}return E
}}
})(C4.GLOBALSCRIPTS.jQuery);
(function($){$.toJSON=function(o){if(typeof (JSON)=="object"&&JSON.stringify){return JSON.stringify(o)
}var type=typeof (o);
if(o===null){return"null"
}if(type=="undefined"){return undefined
}if(type=="number"||type=="boolean"){return o+""
}if(type=="string"){return $.quoteString(o)
}if(type=="object"){if(typeof o.toJSON=="function"){return $.toJSON(o.toJSON())
}if(o.constructor===Date){var month=o.getUTCMonth()+1;
if(month<10){month="0"+month
}var day=o.getUTCDate();
if(day<10){day="0"+day
}var year=o.getUTCFullYear();
var hours=o.getUTCHours();
if(hours<10){hours="0"+hours
}var minutes=o.getUTCMinutes();
if(minutes<10){minutes="0"+minutes
}var seconds=o.getUTCSeconds();
if(seconds<10){seconds="0"+seconds
}var milli=o.getUTCMilliseconds();
if(milli<100){milli="0"+milli
}if(milli<10){milli="0"+milli
}return'"'+year+"-"+month+"-"+day+"T"+hours+":"+minutes+":"+seconds+"."+milli+'Z"'
}if(o.constructor===Array){var ret=[];
for(var i=0;
i<o.length;
i++){ret.push($.toJSON(o[i])||"null")
}return"["+ret.join(",")+"]"
}var pairs=[];
for(var k in o){var name;
var type=typeof k;
if(type=="number"){name='"'+k+'"'
}else{if(type=="string"){name=$.quoteString(k)
}else{continue
}}if(typeof o[k]=="function"){continue
}var val=$.toJSON(o[k]);
pairs.push(name+":"+val)
}return"{"+pairs.join(", ")+"}"
}};
$.evalJSON=function(src){if(typeof (JSON)=="object"&&JSON.parse){return JSON.parse(src)
}return eval("("+src+")")
};
$.secureEvalJSON=function(src){if(typeof (JSON)=="object"&&JSON.parse){return JSON.parse(src)
}var filtered=src;
filtered=filtered.replace(/\\["\\\/bfnrtu]/g,"@");
filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]");
filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,"");
if(/^[\],:{}\s]*$/.test(filtered)){return eval("("+src+")")
}else{throw new SyntaxError("Error parsing JSON, source is not valid.")
}};
$.quoteString=function(string){if(string.match(_escapeable)){return'"'+string.replace(_escapeable,function(a){var c=_meta[a];
if(typeof c==="string"){return c
}c=a.charCodeAt();
return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)
})+'"'
}return'"'+string+'"'
};
var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;
var _meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"}
})(C4.GLOBALSCRIPTS.jQuery);
var c4_bOverrideIA=false;
function c4_doOverrideAIS(A){}(function(C){var B=C.browser.msie&&parseInt(C.browser.version)==6&&typeof window.XMLHttpRequest!="object",D=null,A=[];
C.modal=function(F,E){return C.modal.impl.init(F,E)
};
C.modal.close=function(){C.modal.impl.close()
};
C.fn.modal=function(E){return C.modal.impl.init(this,E)
};
C.modal.defaults={opacity:50,overlayId:"simplemodal-overlay",overlayCss:{},containerId:"simplemodal-container",containerCss:{},dataCss:{},zIndex:10010,close:true,closeHTML:'<a class="modalCloseImg" title="Close"></a>',closeClass:"simplemodal-close",position:null,persist:false,onOpen:null,onShow:null,onClose:null};
C.modal.impl={opts:null,dialog:{},init:function(F,E){if(this.dialog.data){return false
}D=C.browser.msie&&!C.boxModel;
this.opts=C.extend({},C.modal.defaults,E);
this.zIndex=this.opts.zIndex;
this.occb=false;
if(typeof F=="object"){F=F instanceof C?F:C(F);
if(F.parent().parent().size()>0){this.dialog.parentNode=F.parent();
if(!this.opts.persist){this.dialog.orig=F.clone(true)
}}}else{if(typeof F=="string"||typeof F=="number"){F=C("<div/>").html(F)
}else{alert("SimpleModal Error: Unsupported data type: "+typeof F);
return false
}}this.dialog.data=F.addClass("simplemodal-data").css(this.opts.dataCss);
F=null;
this.create();
this.open();
if(C.isFunction(this.opts.onShow)){this.opts.onShow.apply(this,[this.dialog])
}return this
},create:function(){A=this.getDimensions();
if(B){this.dialog.iframe=C('<iframe src="javascript:false;"/>').css(C.extend(this.opts.iframeCss,{display:"none",opacity:0,position:"fixed",height:A[0],width:A[1],zIndex:this.opts.zIndex,top:0,left:0})).appendTo("body")
}this.dialog.overlay=C("<div/>").attr("id",this.opts.overlayId).addClass("simplemodal-overlay").css(C.extend(this.opts.overlayCss,{display:"none",opacity:this.opts.opacity/100,height:A[0],width:A[1],position:"fixed",left:0,top:0,zIndex:this.opts.zIndex+1})).appendTo("body");
this.dialog.container=C("<div/>").attr("id",this.opts.containerId).addClass("simplemodal-container").css(C.extend(this.opts.containerCss,{display:"none",position:"fixed",zIndex:this.opts.zIndex+2})).append(this.opts.close?C(this.opts.closeHTML).addClass(this.opts.closeClass):"").appendTo("body");
this.setPosition();
if(B||D){this.fixIE()
}this.dialog.container.append(this.dialog.data.hide())
},bindEvents:function(){var E=this;
C("."+this.opts.closeClass).bind("click.simplemodal",function(F){F.preventDefault();
E.close()
});
C(window).bind("resize.simplemodal",function(){A=E.getDimensions();
E.setPosition();
if(B||D){E.fixIE()
}else{E.dialog.iframe&&E.dialog.iframe.css({height:A[0],width:A[1]});
E.dialog.overlay.css({height:A[0],width:A[1]})
}})
},unbindEvents:function(){C("."+this.opts.closeClass).unbind("click.simplemodal");
C(window).unbind("resize.simplemodal")
},fixIE:function(){var E=this.opts.position;
C.each([this.dialog.iframe||null,this.dialog.overlay,this.dialog.container],function(P,I){if(I){var N="document.body.clientHeight",R="document.body.clientWidth",T="document.body.scrollHeight",Q="document.body.scrollLeft",L="document.body.scrollTop",H="document.body.scrollWidth",G="document.documentElement.clientHeight",O="document.documentElement.clientWidth",M="document.documentElement.scrollLeft",U="document.documentElement.scrollTop",V=I[0].style;
V.position="absolute";
if(P<2){V.removeExpression("height");
V.removeExpression("width");
V.setExpression("height",""+T+" > "+N+" ? "+T+" : "+N+' + "px"');
V.setExpression("width",""+H+" > "+R+" ? "+H+" : "+R+' + "px"')
}else{var K,F;
if(E&&E.constructor==Array){var S=E[0]?typeof E[0]=="number"?E[0].toString():E[0].replace(/px/,""):I.css("top").replace(/px/,"");
K=S.indexOf("%")==-1?S+" + (t = "+U+" ? "+U+" : "+L+') + "px"':parseInt(S.replace(/%/,""))+" * (("+G+" || "+N+") / 100) + (t = "+U+" ? "+U+" : "+L+') + "px"';
if(E[1]){var J=typeof E[1]=="number"?E[1].toString():E[1].replace(/px/,"");
F=J.indexOf("%")==-1?J+" + (t = "+M+" ? "+M+" : "+Q+') + "px"':parseInt(J.replace(/%/,""))+" * (("+O+" || "+R+") / 100) + (t = "+M+" ? "+M+" : "+Q+') + "px"'
}}else{K="("+G+" || "+N+") / 2 - (this.offsetHeight / 2) + (t = "+U+" ? "+U+" : "+L+') + "px"';
F="("+O+" || "+R+") / 2 - (this.offsetWidth / 2) + (t = "+M+" ? "+M+" : "+Q+') + "px"'
}V.removeExpression("top");
V.removeExpression("left");
V.setExpression("top",K);
V.setExpression("left",F)
}}})
},getDimensions:function(){var F=C(window);
var E=C.browser.opera&&C.browser.version>"9.5"&&C.fn.jquery<="1.2.6"?document.documentElement.clientHeight:F.height();
return[E,F.width()]
},setPosition:function(){var H,G,F=(A[0]/2)-((this.dialog.container.height()||this.dialog.data.height())/2),E=(A[1]/2)-((this.dialog.container.width()||this.dialog.data.width())/2);
if(this.opts.position&&this.opts.position.constructor==Array){H=this.opts.position[0]||F;
G=this.opts.position[1]||E
}else{H=F;
G=E
}this.dialog.container.css({left:G,top:H})
},open:function(){this.dialog.iframe&&this.dialog.iframe.show();
if(C.isFunction(this.opts.onOpen)){this.opts.onOpen.apply(this,[this.dialog])
}else{this.dialog.overlay.show();
this.dialog.container.show();
this.dialog.data.show()
}this.bindEvents()
},close:function(){if(!this.dialog.data){return false
}if(C.isFunction(this.opts.onClose)&&!this.occb){this.occb=true;
this.opts.onClose.apply(this,[this.dialog])
}else{if(this.dialog.parentNode){if(this.opts.persist){this.dialog.data.hide().appendTo(this.dialog.parentNode)
}else{this.dialog.data.remove();
this.dialog.orig.appendTo(this.dialog.parentNode)
}}else{this.dialog.data.remove()
}this.dialog.container.remove();
this.dialog.overlay.remove();
this.dialog.iframe&&this.dialog.iframe.remove();
this.dialog={}
}this.unbindEvents()
}}
})(C4.GLOBALSCRIPTS.jQuery);
(function(jQuery){jQuery.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(type,name){this.defaults.type=type;
this.defaults.name=name
},get:function(elem,opts){var className=elem.className;
var settings=jQuery.extend({},this.defaults,opts);
data="{}";
if(settings.type=="class"){var m=settings.cre.exec(className);
if(m){data=m[1]
}}else{if(settings.type=="elem"){if(!elem.getElementsByTagName){return 
}var e=elem.getElementsByTagName(settings.name);
if(e.length){data=jQuery.trim(e[0].innerHTML)
}}else{if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);
if(attr){data=attr
}}}}if(data.indexOf("{")<0){data="{"+data+"}"
}data=eval("("+data+")");
return data
}}});
jQuery.fn.metadata=function(opts){return jQuery.metadata.get(this[0],opts)
}
})(C4.GLOBALSCRIPTS.jQuery);
var C4searchAutocomplete=(function(b){var m=b;
var b=b;
var o={};
var AF=null;
var k="";
var AG=-1;
var M={};
var h={};
var q={};
var H={};
var u=false;
var P=false;
var A=null;
var AE=false;
var l="";
var C=null;
var n=null;
var f=null;
var a=null;
var K=null;
b.autocomplete={omniture:function AD(AM,AN){var AO=AO||{};
if(typeof s_gi==="function"){AO=s_gi(s_account)
}AO.linkTrackVars="prop8,eVar8,prop9,prop38,eVar38,prop44,eVar44,events,prop26,eVar26,eVar60,prop60";
AO.linkTrackEvents=AO.events=AO.prop26=AO.eVar26="event34,event60";
AO.prop8=AN.omnitureProp8+": "+AM.q;
AO.eVar8=AO.prop60=AO.eVar60=AO.prop8;
AO.prop9=AM.num;
AO.prop38=AM.index+1;
AO.eVar38=AO.prop38;
AO.prop44=AM.title;
AO.eVar44=AO.prop44;
if(typeof AO.tl==="function"){AO.tl(AM,"o","Predictive Search Click")
}},onChange:function d(){var AM=n.val();
b.autocomplete.operaFix();
if(AM==k){return 
}k=AM;
if(AM.length>=f.minChars){n.addClass(f.loadingClass);
l=AM;
b.autocomplete.requestData(l,false)
}else{n.removeClass(f.loadingClass);
if(f.showInPlace===0){K.hide()
}else{b.autocomplete.hideResultsNow()
}}},operaFix:function D(){var AM=n.val();
var AN=String.fromCharCode(A).toLowerCase();
if(b.browser.opera&&(AN!=AM.charAt(AM.length-1))&&(A>=48&&A<=90)){if(!paste&&AN!="v"){AM+=AN
}}},moveSelect:function x(AN){var AM=b("li",a);
if(!AM){return 
}AG+=AN;
if(AG<0){AG=AM.size();
if(f.inputClass){n.addClass(f.inputClass)
}b.autocomplete.showResults()
}else{if(AG>=AM.size()){AG=AM.size()-AM.size()
}}AM.removeClass(f.overClass);
b(AM[AG]).addClass(f.overClass)
},selectCurrent:function AA(){var AM=b("li."+f.overClass,a)[0];
if(!AM){var AN=b("li",a);
if(f.selectOnly){if(AN.length==1){AM=AN[0]
}}else{if(f.selectFirst){AM=AN[0]
}}}if(AM){b.autocomplete.selectItem(AM);
return true
}else{return false
}},selectItem:function c(AM){document.location.href=AM.selectValue
},showResults:function z(AM){var AX=b.autocomplete.findPos(C);
var AN=(f.width>0)?f.width:n.width();
var AU=m.browser.msie&&m.browser.version<8?2:0;
var AQ=m.browser.msie&&m.browser.version<8?1:0;
var AO=m("#singleSearch").length>0?-1:0;
K.css({width:parseInt(AN)+"px",top:(AX.y+C.offsetHeight+AU+AO)+"px",left:(AX.x)+AQ+"px"}).show();
if(f.showInPlace===0){var AT=[],AV=[],AY=[],AZ=[];
var AT=K.find("em");
var AX=b.autocomplete.findPos(C).x;
var AW=f.width;
for(var AS=0;
AS<AT.length;
AS++){AV[AS]=m(AT[AS]).offset().left;
AY[AS]=m(AT[AS]).width();
AZ[AS]=AV[AS]-AX;
if(m.browser.msie){var AP=m(AT[AS]).text();
var AR=AP.length;
var Aa=AP.charAt(AR-1);
if(Aa==" "){m(AT[AS]).after("&nbsp;")
}}}if(AT.length==0){b.autocomplete.hideResultsNow()
}}},hideResults:function B(){if(AF){clearTimeout(AF)
}AF=setTimeout(b.autocomplete.hideResultsNow,200)
},hideResultsNow:function g(){if(AF){clearTimeout(AF)
}n.removeClass(f.loadingClass);
if(K.is(":visible")){K.hide()
}if(f.mustMatch){var AM=n.val();
if(AM!=C.lastSelected){b.autocomplete.selectItem(null)
}}},triggerResultsReceived:function j(){try{if(C4.Controller._getEvents().SuggestiveSearch.onResults){C4.Controller._getEvents().SuggestiveSearch.onResults(n[0])
}}catch(AM){}},triggerFinishedSearching:function W(){try{if(C4.Controller._getEvents().SuggestiveSearch.onFinishedSearching){C4.Controller._getEvents().SuggestiveSearch.onFinishedSearching(n[0])
}}catch(AM){}},receiveData:function J(AP,AO){b.autocomplete.triggerResultsReceived();
if(AO){n.removeClass(f.loadingClass);
a.innerHTML="";
if(f.showInPlace){var AM=AO.maxDisplayCount||f.maxItemsToShow;
if(AO.results.length>AM){if(f.moreResultsMessage){var AN=true
}}else{if(AO.results.length===0){b.autocomplete.showNoResultsReturned(AP);
return 
}else{if(AO.results.length===1){AE=true
}}}}else{if(b.browser.msie&&m.browser.version<9){K.append(document.createElement("iframe"))
}}a.appendChild(b.autocomplete.dataToDom(AO,AP));
if(f.moreResultsMessage&&AN){m(a).append(f.moreResultsMessage)
}if(f.autoFill&&(n.val().toLowerCase()==AP.toLowerCase())){autoFill(AO[0][0])
}b.autocomplete.showResults()
}else{if(f.showInPlace===0){b.autocomplete.hideResultsNow()
}}},parseData:function G(AP){if(!AP){return null
}var AM=[];
var AO=AP.split(f.lineSeparator);
for(var AN=0;
AN<AO.length;
AN++){var AQ=b.trim(AO[AN]);
if(AQ){AM[AM.length]=AQ.split(f.cellSeparator)
}}return AM
},dataToDom:function AH(AO,AM){var AN=document.createElement("div"),AS=document.createElement("ul"),AV=f.groupBy4oD;
if(AV){var AX=document.createElement("ul")
}if(!b.autocomplete.isEmpty(AO)){var AR=AO.results.length;
if(AO.maxDisplayCount){f.maxItemsToShow=AO.maxDisplayCount
}if((f.maxItemsToShow>0)&&(f.maxItemsToShow<AR)){AR=f.maxItemsToShow
}for(var AP=0;
AP<AR;
AP++){var AW=AO.results[AP];
var AQ;
if(!AW){continue
}if(AV&&AW.fourOnDemand==="true"){AQ=AX
}else{AQ=AS
}var AU=(AQ===AX?true:false);
var AT=b.autocomplete.createListItem(f,AW,AP,AR,AM,AU);
if(AU===false){AT.addClass("no-image")
}b(AQ).append(AT);
AT.hover(function(){m(this).addClass(f.overClass)
},function(){m(this).removeClass(f.overClass)
});
AT.click(function(AY){var AZ=m(this).attr("id");
o.title=m(this).find("p").text();
o.index=Number(AZ.substr(4,5));
o.q=AM;
o.num=AR;
b.autocomplete.omniture(o,f);
b.autocomplete.setOmnitureCookie();
AY.preventDefault();
AY.stopPropagation();
b.autocomplete.selectItem(this)
})
}}m(AS).find("li:last-child").addClass("last");
m(AX).find("li:last-child").addClass("last");
if(m(AS).find("li").length>0&&m(AX).find("li").length===0){m(AS).css("border-bottom","0 none")
}if(m(AX).find("li").length>0&&m(AS).find("li").length===0){m(AX).css("border-bottom","0 none")
}b.autocomplete.fixResultsListsIE(AS,AX);
if(AV){m(AN).append('<h2 class="watch-on">WATCH ON 4oD:</h2>');
if(m(AX).find("li").length===0){m(AN).append('<p class="no-results">0 results</p>')
}else{m(AN).find(".no-results").remove()
}b.autocomplete.addList(AN,AX,"C4results4od cf")
}if(m(AS).find("li").length>0){m(AN).append('<h2 class="more-on">MORE ON PROGRAMMES:</h2>')
}b.autocomplete.addList(AN,AS,"C4resultsNon4od cf");
AN.setAttribute("class","resultsContainer cf");
if(m("#singleSearch").length===0){m(AN).append('<a class="see-all" href="/programmes/4od/all">SEE ALL 4oD PROGRAMMES</a>')
}b.autocomplete.fixResultsContainerIE(AN);
return AN
},createListItem:function N(AP,AM,AQ,AO,AR,AN){var AS=b("<li />");
if(AP.formatItem){AS.html(AP.formatItem(AM,AQ,AO,AR,AN));
AS[0].selectValue=AM.siteUrl
}else{AS[0].innerHTML=AM[0];
AS[0].selectValue=AM[0]
}AS.addClass("list");
AS.attr("id","list"+AQ);
return AS
},addList:function AC(AM,AO,AN){if(b(AO).children().length){b(AO).addClass(AN);
AM.appendChild(AO)
}},fixIESearchBox:function r(){if(m.browser.msie&&m.browser.version<8){m("#singleSearch #c4navSearchTxt").css({height:"16px","padding-top":"4px"});
m("#singleSearch a.submit-image").css({top:"149px"})
}},fixResultsListsIE:function AJ(AM,AN){m(AM).find("li:last-child").css("border-bottom","0 none");
m(AN).find("li:last-child").css("border-bottom","0 none")
},fixResultsContainerIE:function p(AM){if(m.browser.msie&&m.browser.version<8&&f.resultsId!=="videoFinderResults"){m(AM).find(".see-all").css("width","237px")
}},setOmnitureCookie:function AL(){if(f.omnitureCookie&&f.omnitureCookie.length>0){var AM=[];
AM=f.omnitureCookie.split("=");
if(AM.length===2){try{if(C4.Controller._getViews().setOmnitureCookie){C4.Controller._getViews().setOmnitureCookie(AM[0],AM[1])
}}catch(AN){}}}},printCache:function L(){var AO="----------------------------------------\n";
if(M!=null&&M.data){AO+="CACHE DUMP: \n";
for(var AM in M.data){var AN=M.data[AM];
if(AN.hasResults==false){AO+="q: "+AN.q+" , no results"
}else{AO+="q: "+AN.q+" , len = "+AN.results.length+" , isComplete = "+AN.isComplete+"\n"
}}}AO+="----------------------------------------\n"
},printIsComplete:function I(){var AO="----------------------------------------\n";
for(var AM in q){var AN=q[AM];
AO+="q: "+AM+" , isComplete: "+AN+"\n"
}AO+="----------------------------------------\n"
},requestData:function w(AN,AO){if(H[AN.substr(0,2)]==true){return 
}if(!f.matchCase){AN=AN.toLowerCase()
}var AM=f.cacheLength?b.autocomplete.loadFromCache(AN):null;
if(AM&&AM.isComplete){b.autocomplete.triggerResultsReceived();
b.autocomplete.receiveData(AN,AM)
}else{if((typeof f.url=="string")&&(f.url.length>0)){if(AM==null){b.autocomplete.subStringRequest(AN)
}else{b.autocomplete.fullRequest(AN,AM,AO)
}}else{n.removeClass(f.loadingClass)
}}},subStringRequest:function v(AO){var AM=AO.substr(0,2);
if(h[AM]!=true){var AN=b.autocomplete.makeUrl(AM);
H[AM]=true;
b.getJSON(AN,function(AP){if(AP.results){b.autocomplete.addToCache(AM,AP);
H[AM]=false;
if(AM!=l){b.autocomplete.requestData(l,true)
}else{if(AP.isComplete&&AO!=AM){refinedData=b.autocomplete.filterData(AO,AP);
b.autocomplete.triggerResultsReceived();
b.autocomplete.receiveData(AO,refinedData)
}else{b.autocomplete.triggerResultsReceived();
b.autocomplete.receiveData(AO,AP)
}}}else{if(f.showInPlace){b.autocomplete.showNoResultsReturned(AO)
}}h[AM]=true;
q[AM]=AP.isComplete
})
}},fullRequest:function O(AN,AM,AP){var AO=q[AN.substr(0,AN.length-1)];
if(h[AN]!=true&&(AO===false||AP===true)){b.getJSON(b.autocomplete.makeUrl(AN),function(AQ){b.autocomplete.addToCache(AN,AQ);
b.autocomplete.triggerResultsReceived();
b.autocomplete.receiveData(AN,AQ);
h[AN]=true;
q[AN]=AQ.isComplete
})
}else{if(AM.results.length!=0){b.autocomplete.triggerResultsReceived();
b.autocomplete.receiveData(AN,AM)
}else{if(f.showInPlace){b.autocomplete.showNoResultsReturned(AN)
}else{b.autocomplete.hideResultsNow()
}}}},showNoResultsReturned:function V(AM){K.show();
a.innerHTML="";
if(f.noResultsMessage){m(a).append(m(f.noResultsMessage).append('"'+AM+'"'))
}},makeUrl:function U(AO){var AM=f.url+"?q="+encodeURIComponent(AO);
for(var AN in f.extraParams){AM+="&"+AN+"="+encodeURIComponent(f.extraParams[AN])
}return AM
},hasCachedResult:function T(AM){return M.data[AM]!=null
},hasCompleteCachedResult:function R(AM){return M.data[AM]!=null&&M.data[AM].isComplete
},filterData:function Z(AR,AQ){var AP=[];
if(AQ){for(var AN=0;
AN<AQ.results.length;
AN++){var AM=AQ.results[AN];
var AO=AM.value;
if(b.autocomplete.matchSubset(AO,AR)){AP[AP.length]=AM
}}return{isComplete:AP.isComplete,results:AP}
}return null
},loadFromCache:function AK(AQ){if(!AQ){return null
}if(M.data[AQ]!=null){return M.data[AQ]
}if(f.matchSubset){for(var AP=AQ.length-1;
AP>=f.minChars;
AP--){var AN=AQ.substr(0,AP);
var AO=M.data[AN];
var AM=b.autocomplete.filterData(AQ,AO);
if(AM!=null){return AM
}}}return null
},matchSubset:function t(AO,AN){if(!f.matchCase){AO=AO.toLowerCase()
}var AM=AO.indexOf(AN);
if(AM==-1){return false
}return AM==0||f.matchContains
},flushCache:function Q(){Q()
},setExtraParams:function S(AM){f.extraParams=AM
},findValue:function F(){var AN=n.val();
if(!f.matchCase){AN=AN.toLowerCase()
}var AM=f.cacheLength?b.autocomplete.loadFromCache(AN):null;
if(AM){b.autocomplete.findValueCallback(AN,AM)
}else{if((typeof f.url=="string")&&(f.url.length>0)){b.get(U(AN),function(AO){AO=G(AO);
b.autocomplete.addToCache(AN,AO);
b.autocomplete.findValueCallback(AN,AO)
})
}else{b.autocomplete.findValueCallback(AN,null)
}}},findValueCallback:function AB(AS,AR){if(AR){n.removeClass(f.loadingClass)
}var AP=(AR)?AR.length:0;
var AN=null;
for(var AQ=0;
AQ<AP;
AQ++){var AT=AR[AQ];
if(AT[0].toLowerCase()==AS.toLowerCase()){AN=document.createElement("li");
if(f.formatItem){AN.innerHTML=f.formatItem(AT,AQ,AP,AS);
AN.selectValue=AT[0]
}else{AN.innerHTML=AT[0];
AN.selectValue=AT[0]
}var AM=null;
if(AT.length>1){AM=[];
for(var AO=1;
AO<AT.length;
AO++){AM[AM.length]=AT[AO]
}}AN.extra=AM
}}if(f.onFindValue){setTimeout(function(){f.onFindValue(AN)
},1)
}},isEmpty:function X(AM){for(var AN in AM){return false
}return true
},addToCache:function E(AN,AM){if(b.autocomplete.isEmpty(AM)){return 
}if(!AM||!AM.results||!AN||!f.cacheLength){return 
}if(!M.length||M.length>f.cacheLength){b.autocomplete.flushCache();
M.length++
}else{if(!M[AN]){M.length++
}}M.data[AN]=AM;
M.data[AN].q=AN
},findPos:function s(AO){var AP=AO.offsetLeft||0;
var AM=AO.offsetTop||0;
if(f.resultsId=="c4acResultsSmall"){while(AO=AO.offsetParent){AP+=AO.offsetLeft;
AM+=AO.offsetTop
}}else{while(AO=AO.offsetParent){if(m(AO).css("position")!=="relative"){AP+=AO.offsetLeft;
AM+=AO.offsetTop
}else{break
}}}var AN=0;
if(m.browser.opera){AN=-1
}if(m.browser.mozilla&&m(".invert-skin").length==1){AN=1
}else{AN=0
}if(m.browser.msie&&m(".invert-skin").length==1){AN=1
}if(m(".c4navBrand").length==1){AN=-1
}return{x:AP+AN,y:AM+1}
},flushCache:function Q(){M={};
M.data={};
M.length=0
},init:function AI(AN,AR){f=AR;
C=AN;
var AS=this;
n=b(C).attr("autocomplete","off");
if(f.inputClass){n.addClass(f.inputClass)
}K=b("#"+f.resultsId);
if(f.showInPlace===0){K.css("position","absolute").hide()
}if(f.width>0){K.css("width",f.width)
}if(f.inputWidth&&f.inputWidth>0){n.css("width",f.inputWidth)
}a=K.get(0);
C.autocompleter=AS;
b.autocomplete.flushCache();
if(f.data!=null){var AM="",AP={},AT=[];
if(typeof f.url!="string"){f.cacheLength=1
}for(var AQ=0;
AQ<f.data.length;
AQ++){AT=((typeof f.data[AQ]=="string")?[f.data[AQ]]:f.data[AQ]);
if(AT[0].length>0){AM=AT[0].substring(0,1).toLowerCase();
if(!AP[AM]){AP[AM]=[]
}AP[AM].push(AT)
}}for(var AO in AP){f.cacheLength++;
b.autocomplete.addToCache(AO,AP[AO])
}}n.bind("keydown",function(AU){A=AU.keyCode;
AE=false;
switch(AU.keyCode){case 38:AU.preventDefault();
b.autocomplete.moveSelect(-1);
break;
case 40:AU.preventDefault();
b.autocomplete.moveSelect(1);
if(f.inputClass){n.removeClass(f.inputClass)
}break;
case 27:b.autocomplete.hideResultsNow();
n.val("");
return ;
case 9:case 13:if(AE&&f.showInPlace){b.autocomplete.moveSelect(1);
b.autocomplete.selectCurrent()
}var AV=b("li",a);
if(AG!=-1){o.q=m(this).val();
o.title=m(AV.get(AG)).find("p").text();
o.num=AV.length;
o.index=Number(m(AV.get(AG)).attr("id").replace("list",""));
b.autocomplete.omniture(o,f);
b.autocomplete.setOmnitureCookie()
}if(b.autocomplete.selectCurrent()){n.get(0).blur();
AU.preventDefault()
}break;
default:AG=-1;
if(AF){clearTimeout(AF)
}AF=setTimeout(function(){b.autocomplete.onChange()
},f.delay);
break
}}).focus(function(){P=true;
if(n.val()=="Search"){n.val("")
}}).blur(function(){setTimeout(AU,500);
function AU(){P=false;
if(f.showInPlace===0){b.autocomplete.hideResults()
}b.autocomplete.triggerFinishedSearching()
}});
if(f.showInPlace===0){b.autocomplete.hideResultsNow()
}}};
b.fn.autocomplete=function(AN,AM,AO){AM=AM||{};
AM.url=AN;
AM.data=((typeof AO=="object")&&(AO.constructor==Array))?AO:null;
AM.inputClass=AM.inputClass||"ac_input";
AM.resultsClass=AM.resultsClass||"ac_results";
AM.overClass=AM.overClass||"ac_over";
AM.resultsId=AM.resultsId||"ac_results";
AM.lineSeparator=AM.lineSeparator||"\n";
AM.cellSeparator=AM.cellSeparator||"|";
AM.minChars=AM.minChars||1;
AM.delay=AM.delay||0;
AM.matchCase=AM.matchCase||0;
AM.matchSubset=AM.matchSubset||1;
AM.matchContains=AM.matchContains||0;
AM.cacheLength=AM.cacheLength||1;
AM.mustMatch=AM.mustMatch||0;
AM.extraParams=AM.extraParams||{};
AM.loadingClass=AM.loadingClass||"ac_loading";
AM.selectFirst=AM.selectFirst||false;
AM.selectOnly=AM.selectOnly||false;
AM.maxItemsToShow=AM.maxItemsToShow||-1;
AM.autoFill=AM.autoFill||false;
AM.width=parseInt(AM.width,10)||0;
AM.inputWidth=parseInt(AM.inputWidth,10)||0;
AM.showInPlace=AM.showInPlace||0;
AM.moreResultsMessage=AM.moreResultsMessage||0;
AM.noResultsMessage=AM.noResultsMessage||0;
AM.groupBy4oD=AM.groupBy4oD||true;
this.each(function(){var AP=this;
new b.autocomplete.init(AP,AM)
});
return this
};
b.fn.autocompleteArray=function(AN,AM){return this.autocomplete(null,AM,AN)
};
b.fn.indexOf=function(AN){for(var AM=0;
AM<this.length;
AM++){if(this[AM]==AN){return AM
}}return -1
};
var y={addEmphasis:function(Ac,AP,AR,AM,AY){var AS=Ac.value.toLowerCase();
var AV=AS.indexOf(AM,0);
var AW=AS.charAt((AV+AM.length)+1);
var AQ=[AM,"-"+AM," "+AM,AM+" "],AU=Ac.value.toLowerCase(),AT=-1,AO=[],AP;
for(AP=0;
AP<AQ.length;
AP++){var AX=AQ[AP];
AT=AU.indexOf(AQ[AP]);
if(AP==0){if(AT==0){break
}}else{if(AT>-1){AT++;
break
}}}var AN=Ac.value.substr(0,AT);
var AZ=Ac.value.substr(AT,AM.length);
var Aa=Ac.value.substr(AT+AM.length);
if(AZ.indexOf(" ")!=-1){if(AZ.charAt(0)===" "){AN+=" "
}if(AZ.charAt(AZ.length-1)===" "){Aa=" "+Aa
}AZ=m.trim(AZ)
}var Ab=AY?'<img src="'+Ac.imgUrl+'" alt="" /><span class="play-icon"></span>':"";
AO.push(Ab,'<p class="title">');
if(AT>-1){AO.push(AN,"<em>",AZ,"</em>",Aa)
}else{AO.push(Ac.value)
}AO.push("</p>");
return AO.join("")
},bindStandardSearch:function Y(AN,AM){var AR=false,AO=AN?m("#"+AN):m("#c4navSearchBtn"),AQ=m("#c4navSearchTxt"),AP=AQ.val();
AQ.focus(function(){AR=true
});
AO.bind("click",function(AT){var AS=AQ.val();
if((AS==AP&&AR==false)||AS==""){AT.preventDefault();
return false
}else{AO.parents("form").slice(0,1).submit()
}});
if(AM.customSubmitButton){m(AM.customSubmitButton).bind("click",function(){AO.click()
})
}},bindAutocomplete:function i(AO,AM,AN){if(AO.length>0){AO.one("focus",function(AP){AO.get(0).value="";
AO.trigger("blur");
AO.autocomplete(AM,AN);
window.setTimeout(function(){AO.trigger("focus")
},1)
})
}}};
return{init:function AI(AN,AR,AQ,AP,AM){var AO=b(AN),AR=AR||"c4acResults",AM=AM||"/search/predictive/";
AP.resultsId=AP.resultsId||AR;
AP.overClass=AP.overClass||"c4acOver";
AP.loadingClass=AP.loadingClass||"c4acLoading";
AP.cacheLength=AP.cacheLength||50;
AP.mustMatch=AP.mustMatch||false;
AP.formatMatch=AP.formatMatch||null;
AP.matchContains=AP.matchContains||true;
AP.maxItemsToShow=AP.maxItemsToShow||"7";
AP.minChars=AP.minChars||2;
AP.width=AP.width||0;
AP.delay=AP.delay||0;
AP.omnitureProp8=AP.omnitureProp8||"Global";
AP.formatItem=AP.formatItem||y.addEmphasis;
AP.groupBy4oD=AP.groupBy4oD||true;
AP.customSubmitButton=AP.customSubmitButton||false;
y.bindStandardSearch(AQ,AP);
y.bindAutocomplete(AO,AM,AP)
},dataToDom:b.autocomplete.dataToDom,fixIESearchBox:b.autocomplete.fixIESearchBox}
})(C4.GLOBALSCRIPTS.jQuery);
C4.Modal={};
C4.Modal.pollForCompleteStatusInterval;
C4.Modal.Model=(function(D){var B={},E=function E(F){B=C();
B.pageUrl=F.pageUrl||"";
B.events=F.events||"";
B.ajaxRequestType=F.ajaxRequestType||"GET";
B.ajaxRequestData=F.ajaxRequestData||"";
B.crossProtocol=F.crossProtocol||false;
B.nonOverlay=F.nonOverlay||false;
B.closeModalCookieCallback=F.closeModalCookieCallback||false;
B.closeModalCookieCallbackParameter=F.closeModalCookieCallbackParameter||false;
B.htmlContainer=F.htmlContainer||"body";
B.evaluateResponse=F.evaluateResponse||false;
B.getResponse=F.getResponse||false;
B.appendToElement=F.appendToElement||false;
B.insertBefore=F.insertBefore||false;
B.callbackAfterHTML=F.callbackAfterHTML||function(){};
B.slideMarkup=F.slideMarkup||false;
B.slideSetting=F.slideSetting||"fast"
},C=function C(){return B
},A=function A(){document.cookie="C4XPrtclSts=complete; expires=Fri, 27 Jul 3001 02:47:11 UTC; path=/"
};
return{verifyOptions:E,getOptions:C,setComplete:A}
})(C4.GLOBALSCRIPTS.jQuery);
C4.Modal.View=(function(C){var H={updateConsoleHtml:function G(K){var J=C(K);
var L=C(C4.Modal.Model.getOptions().htmlContainer);
if(C("#c4Modal").length){C("#c4Modal").html(K);
H.executeCallback()
}else{if(C4.Modal.Model.getOptions().nonOverlay&&C4.Modal.Model.getOptions().appendToElement){if(C4.Modal.Model.getOptions().slideMarkup){J.hide();
L.append(J);
J.slideDown(C4.Modal.Model.getOptions().slideSetting,H.executeCallback)
}else{L.append(J);
H.executeCallback()
}}else{if(C4.Modal.Model.getOptions().nonOverlay&&C4.Modal.Model.getOptions().insertBefore){if(C4.Modal.Model.getOptions().slideMarkup){J.hide();
L.before(J);
J.slideDown(C4.Modal.Model.getOptions().slideSetting,H.executeCallback)
}else{L.before(J);
H.executeCallback()
}}else{if(C4.Modal.Model.getOptions().nonOverlay){C(C4.Modal.Model.getOptions().htmlContainer).html(K);
H.executeCallback()
}else{H.openConsole(K);
H.executeCallback()
}}}}},executeCallback:function F(){if(C4.Modal.Model.getOptions().callbackAfterHTML){C4.Modal.Model.getOptions().callbackAfterHTML()
}},openConsole:function I(L){var J,K;
J=C(window).width();
K=(((J/2)-332)/J)*100;
C.modal(L,{containerId:"c4Modal",opacity:60,close:true,onClose:C4.Modal.View.getViews().Console.modalOverlayClose,position:["10%",K+"%"],onOpen:C4.Modal.View.getViews().Console.modalOverlayOpen})
},Console:{modalOverlayOpen:function E(){H.Console.obscureFlashObjects();
dialog=C.modal.impl.dialog;
dialog.overlay.fadeIn("fast",function(){dialog.data.fadeIn("fast",function(){dialog.container.fadeIn("fast");
C("#c4Modal input:first").focus()
})
});
if(C4.Modal.Model.getOptions().crossProtocol){C4.Modal.Controller.pollForCompleteStatus()
}},modalOverlayClose:function(){dialog=C.modal.impl.dialog;
if(dialog.container){dialog.container.fadeOut("fast",function(){dialog.data.fadeOut("fast",function(){dialog.overlay.fadeOut("fast",function(){H.Console.unobscureFlashObjects();
C.modal.close()
})
})
})
}},modalOverlayCloseCallback:function B(K,J){window.clearInterval(C4.Modal.pollForCompleteStatusInterval);
C.cookie("C4XPrtclSts",null);
if(K&&typeof (K)==="function"){K(J)
}},obscureFlashObjects:function(){var J=C4.Modal.Controller.getFlashPlayer();
if(C.browser.msie&&C.browser.version>7){C("#"+J+" param[name*='wmode'][value*='window']").addClass("accessibility")
}else{C("#"+J+" param[name*='wmode'][value*='window']").addClass("obscure")
}if(J){C("object:not('#"+J+"')").css("display","none");
C("#"+J)[0].stallEpisode();
if(J==="catchUpPlayer"&&C.browser.msie){C("#catchUpPlayer").parent().addClass("obscure")
}}else{C("object").css("display","none")
}C("embed").css("display","none");
C("div[id^='c4ad-']").css("display","none")
},unobscureFlashObjects:function(){var J=C4.Modal.Controller.getFlashPlayer();
if(C.browser.msie&&C.browser.version>7){C("#"+J+" param[name*='wmode'][value*='window']").removeClass("accessibility")
}else{C("#"+J+" param[name*='wmode'][value*='window']").removeClass("obscure")
}if(J){C("object:not('#"+J+"')").css("display","block");
C("#"+J)[0].unstallEpisode();
if(J==="catchUpPlayer"&&C.browser.msie){C("#catchUpPlayer").parent().removeClass("obscure")
}}else{C("object").css("display","block")
}C("embed").css("display","block");
C("div[id^='c4ad-']").css("display","block")
}},Errors:{getError:function A(K){var J;
switch(K){case"ajaxBadRequestError":J='<div><h2>Error</h2><p>There\'s been an error with this process. </p><p>Firstly, please try reloading this page, or, if this does not work, <a href="http://www.channel4.com/4viewers/contact-us" target="_blank">contact us</a>, quoting the following:</p><p><code>'+K+'</code></p><p>For more information, please read our <a href="http://www.channel4.com/4viewers/faq" target="_blank">Help Section</a>.</p></div></div>';
break;
default:J='<div><h2>Error</h2><p>There\'s been an error with this process. </p><p>Firstly, please try reloading this page, or, if this does not work, <a href="http://www.channel4.com/4viewers/contact-us" target="_blank">contact us</a>, quoting the following:</p><p><code>'+K+'</code></p><p>For more information, please read our <a href="http://www.channel4.com/4viewers/faq" target="_blank">Help Section</a>.</p></div></div>'
}return J
}}};
return{getViews:function D(){return H
}}
})(C4.GLOBALSCRIPTS.jQuery);
C4.Modal.Controller=(function(D){var E,I={launchModal:function G(){var J=C4.Modal.Model.getOptions();
var K=I.fetchConsoleHtml(J.pageUrl,J.ajaxRequestType,J.ajaxRequestData,J.crossProtocol);
C4.Modal.View.getViews().updateConsoleHtml(K);
return false
},setEventHandlers:function C(){events=C4.Modal.Model.getOptions().events;
if(events){D.each(events,function(){var K=this.task,J;
if(C4.Modal.Model.getOptions().nonOverlay===true){J="body"
}else{J="#c4Modal"
}D(J+" "+this.selector).bind(this.trigger,function(L){L.preventDefault();
K(L);
return false
})
})
}},fetchConsoleHtml:function H(K,L,M,J){var N=false;
if(J===true){N=document.createElement("iframe");
D(N).attr("id","modalIframe");
D(N).attr("name","modalIframe");
D(N).attr("src",K);
D(N).attr("frameBorder","0");
D(N).attr("border","0");
D(N).attr("scrolling","no");
D(N).attr("width","100%");
D(N).attr("height","355px")
}else{D.ajax({type:L||"GET",async:false,url:K||"",dataType:"html",data:M||"",cache:true,success:function(O,Q,P){N=O;
return 
},error:function(O,Q,P){N=C4.Modal.View.getViews().Errors.getError(P)
},complete:function(P,Q){var O=C4.Modal.Model.getOptions().evaluateResponse;
if(O){D.each(O,function(S,R){if(P.status==S){if(C4.Modal.Model.getOptions().getResponse){R(P)
}else{R()
}}})
}}})
}return N
},setCallbackCookieAndComplete:function F(J,K){if(J&&J){document.cookie=K+"="+J+"; expires=Fri, 27 Jul 3001 02:47:11 UTC; path=/"
}C4.Modal.Model.setComplete();
return false
}},B=function B(){C4.Modal.pollForCompleteStatusInterval=window.setInterval(J,333);
function J(){if(D.cookie("C4XPrtclSts")==="complete"){C4.Modal.Controller.closeModalAfterPoll()
}}},A=function A(){D(".modalCloseImg").click();
C4.Modal.View.getViews().Console.modalOverlayCloseCallback(C4.Modal.Model.getOptions().closeModalCookieCallback,C4.Modal.Model.getOptions().closeModalCookieCallbackParameter)
};
return{init:function(J){C4.Modal.Model.verifyOptions(J);
I.launchModal();
if(C4.Modal.Model.getOptions().events!==""){I.setEventHandlers()
}},setFlashPlayer:function(J){E=J;
return true
},getFlashPlayer:function(){return E
},close:function(K,J){D(".modalCloseImg").click();
C4.Modal.View.getViews().Console.modalOverlayCloseCallback(K,J)
},Events:I,pollForCompleteStatus:B,closeModalAfterPoll:A}
})(C4.GLOBALSCRIPTS.jQuery);
C4.Identity={};
C4.Identity.loginSuccess=false;
C4.Identity.Model=(function(A){return{loginUrl:"/4me/login",logoutUrl:"/4me/logout",dataCollectionUrl:"/4me/login/facebook",fourMeAccountUrl:"/4me/account",registrationUrl:"/4me/registration",whyRegisterUrl:"/4me/http/why-register",loggingOutOfFB:false,C4IdentityCookie:null,truncationLimit:24,fbAccessToken:null,options:{},disableView:false,C4_LOGIN:"C4_LOGIN",FB_LOGIN:"FB_LOGIN",LOGIN_SUBCONTEXT:"NetworkNavSignin",REG_SUBCONTEXT:"NetworkNavRegister",C4_API_KEY:"12345",C4_ORIGIN:"",C4_PATH:"",userData:{},iFrame:null,xdCallback:function(){},identityCallback:function(){}}
})(C4.GLOBALSCRIPTS.jQuery);
C4.Identity.View=(function(B){var D=C4.Identity.Model,C={updateLoginLinks:function(E){if(D.disableView){return 
}var F='<li id="'+E.loggedInNameId+'" class="C4ManagementLoggedInName"><a id="C4MyAccountLink" href="'+D.fourMeAccountUrl+'">';
F+=E.loggedInName+'</a></li><li id="C4IdManagementFunctionLinks"><ul>';
F+='<li id="'+E.logoutId+'" class="c4navLast"><span class="idQuery">Not you?</span><a onclick="'+E.logoutFunction+'" class="nolink" tabindex="0">Sign out</a></li></ul></li>';
B("#C4LoginLink").hide();
B("#C4RegistrationLink").hide();
B("#C4WhyRegisterLink").hide();
B("#C4LoginLink").after(F);
B("#C4IdManagementNav").show()
},hideLoginNav:function(){if(D.disableView){return 
}B("#C4IdManagementNav").hide()
}};
return{getView:function A(){return C
}}
})(C4.GLOBALSCRIPTS.jQuery);
C4.Identity.Controller=(function($){var Model=C4.Identity.Model,View=C4.Identity.View.getView();
var CrossDomain={saveCookieData:function(cookieData){cookieData=decodeURIComponent(cookieData);
cookieData=Base64.decode(cookieData);
cookieData=$.evalJSON(cookieData);
Helper.setLoggedIn(cookieData)
},requestCookie:function(){XD.request("",Model.C4_PATH,Model.iFrame)
},createIframe:function(){var iFrame=Model.iFrame;
iFrame=document.createElement("iframe");
iFrame.height=0;
iFrame.width=0;
iFrame.id="C4-iFrame";
iFrame.src=Model.C4_PATH;
if(iFrame.addEventListener){iFrame.addEventListener("load",CrossDomain.requestCookie,false)
}else{iFrame.attachEvent("onload",CrossDomain.requestCookie)
}document.body.appendChild(iFrame);
Model.iFrame=iFrame
},onReceive:function(e){if(e.data){CrossDomain.saveCookieData(e.data)
}else{Helper.setLoggedOut()
}Model.xdCallback(Model.userData)
},bindLoad:function(){if(window.addEventListener){window.addEventListener("load",CrossDomain.createIframe,false)
}else{window.attachEvent("onload",CrossDomain.createIframe)
}},setCallback:function(func){Model.xdCallback=func
},init:function(){XD.recieve(CrossDomain.onReceive,Model.C4_ORIGIN);
CrossDomain.bindLoad()
}};
var Helper={determineCorrectLinks:function(loggedIn,fbSession){if(Model.disableView){return 
}var linkValues={},facebookCurrentUserId,fbQuery;
switch(loggedIn){case Model.FB_LOGIN:if(fbSession!=null){linkValues.logoutFunction="C4.Identity.Controller.facebookLogout()";
linkValues.logoutId="C4FacebookLogout";
linkValues.loggedInNameId="C4LoggedInName";
linkValues.loggedInName=Helper.truncate($.trim(fbSession.first_name));
View.updateLoginLinks(linkValues);
if(Model.fbAccessToken){Facebook.accountLinkClick()
}return 
}else{loggedIn="";
C4.Identity.Controller.Init()
}break;
case Model.C4_LOGIN:linkValues.logoutFunction="C4.Identity.Controller.logout()";
linkValues.logoutId="C4LogoutLink";
linkValues.loggedInNameId="C4LoggedInName";
linkValues.loggedInName=Helper.truncate($.trim(Model.userData.displayName));
View.updateLoginLinks(linkValues);
break;
default:$("#C4LoggedInName").remove();
$("#C4IdManagementFunctionLinks").remove();
$("#C4RegistrationLink").unbind("click");
$("#C4WhyRegisterLink").unbind("click");
$("#C4LoginLink").unbind("click");
$("#C4RegistrationLink").show().click(function(){URL.doRedirect(Model.registrationUrl,Model.REG_SUBCONTEXT);
return false
});
$("#C4WhyRegisterLink").show().click(function(){URL.doRedirect(Model.whyRegisterUrl,Model.REG_SUBCONTEXT);
return false
});
$("#C4LoginLink").show().click(function(e){URL.doRedirect(Model.loginUrl,Model.LOGIN_SUBCONTEXT);
return false
});
$("#C4IdManagementNav").show()
}},truncate:function(string){if(string&&string.length>0){if(string.length>Model.truncationLimit){string=string.substring(0,Model.truncationLimit);
string+="..."
}return string
}else{return""
}},checkLoginStatus:function(){var user=Model.userData,loginPreference=null;
if(user.loggedIn){if(!user.type&&(!user.fb_uid||user.fb_uid.length===0)){Cookie.updateOldC4Cookie()
}else{if(user.type==="FB"||(user.fb_uid&&user.fb_uid.length>0)){Facebook.checkLoggedIn(false)
}else{Helper.determineCorrectLinks(Model.C4_LOGIN,null);
Helper.executeCallback()
}}}else{Helper.setLoggedOut();
Facebook.checkLoggedIn(true);
Helper.determineCorrectLinks(null,null)
}},logout:function(callBackFunction){if(C4&&C4.History&&C4.History.Controller&&C4.History.Controller.clearUserHistory){C4.History.Controller.clearUserHistory()
}if(C4&&C4.Playlist&&C4.Playlist.Controller&&C4.Playlist.Controller.clearPlaylist){C4.Playlist.Controller.clearPlaylist()
}if(C4&&C4.Favourites&&C4.Favourites.Controller&&C4.Favourites.Controller.clearFavs){C4.Favourites.Controller.clearFavs()
}URL.doRedirect(Model.logoutUrl);
return false
},populateModel:function(identityCallback,disableView){if(disableView){Model.disableView=disableView||false
}Model.fourMeProtocol="https:";
if(Model.loginUrl.indexOf(window.location.host)===-1){Model.loginUrl=Model.fourMeProtocol+"//"+Helper.getOriginHost()+Model.loginUrl
}if(Model.logoutUrl.indexOf(window.location.host)===-1){Model.logoutUrl=Model.fourMeProtocol+"//"+Helper.getOriginHost()+Model.logoutUrl
}Model.dataCollectionUrl=Model.fourMeProtocol+"//"+Helper.getOriginHost()+"/4me/login/facebook";
Model.fourMeAccountUrl=Model.fourMeProtocol+"//"+Helper.getOriginHost()+"/4me/account";
Model.identityCallback=identityCallback||function(){};
Model.C4_PATH="http://"+Helper.getOriginHost()+"/services/globalnav/sso";
Model.C4_ORIGIN="http://"+Helper.getOriginHost()
},getOriginHost:function(){var parentHost=window.location.host;
if(parentHost.indexOf("int.")===0||parentHost.indexOf("test.")===0||parentHost.indexOf("stage.")===0){return Helper.getSubDomain()+".channel4.com"
}else{return"www.channel4.com"
}},getSubDomain:function(){var parts=window.location.host.split(".");
return(parts.length>0)?parts[0]:""
},executeCallback:function(){if(Model.identityCallback&&typeof Model.identityCallback=="function"){Model.identityCallback()
}},setLoggedIn:function(cookieData){if(cookieData){for(key in cookieData){Model.userData[key]=cookieData[key]
}Model.userData.loggedIn=true
}else{Helper.setLoggedOut()
}},setLoggedOut:function(){Model.userData.userId=null;
Model.userData.age=null;
Model.userData.gender=null;
Model.userData.displayName=null;
Model.userData.loggedIn=false
},initCheckLoggedIn:function(){if(URL.isC4()){Helper.setLoggedIn(Cookie.getLoginCookieObj());
Helper.checkLoginStatus()
}else{CrossDomain.setCallback(C4.Identity.Controller.checkLoginStatus);
CrossDomain.init()
}},postToUrl:function postToUrl(path,params,method){method=method||"post";
var form=document.createElement("form"),key,hiddenField=document.createElement("input");
form.setAttribute("method",method);
form.setAttribute("action",path);
for(key in params){hiddenField.setAttribute("type","hidden");
hiddenField.setAttribute("name",key);
hiddenField.setAttribute("value",params[key]);
form.appendChild(hiddenField)
}document.body.appendChild(form);
form.submit()
}};
var URL={isC4:function(){return window.location.host.indexOf(".channel4.com")!==-1
},doRedirect:function(nextPage,subContext){var derivedUrl=null;
if(window.location.href.indexOf("redirectUrl")!==-1){derivedUrl=nextPage+window.location.search+encodeURIComponent(window.location.hash)
}else{if(window.location.pathname.indexOf("/4me")===0){derivedUrl=nextPage
}else{if(nextPage.indexOf("http")===0){derivedUrl=nextPage+"?subContext="+subContext+"&redirectUrl="+window.location.protocol+"//"+window.location.hostname+window.location.pathname+window.location.search+encodeURIComponent(window.location.hash)
}else{derivedUrl=Model.fourMeProtocol+"//"+Helper.getOriginHost()+nextPage+"?subContext="+subContext+"&redirectUrl="+window.location.protocol+"//"+window.location.hostname+window.location.pathname+window.location.search+encodeURIComponent(window.location.hash)
}}}window.location=derivedUrl;
return false
},getRedirectUrl:function(){var urlToRedirect;
function getUrlVars(){var vars=[],hash;
var hashes=window.location.href.slice(window.location.href.indexOf("?")+1).split("&");
for(var i=0;
i<hashes.length;
i++){hash=hashes[i].split("=");
vars.push(hash[0]);
vars[hash[0]]=hash[1]
}return vars
}urlToRedirect=getUrlVars().redirectUrl;
if(urlToRedirect){urlToRedirect=decodeURIComponent(urlToRedirect);
return urlToRedirect
}else{return"/"
}}};
var Cookie={updateOldC4Cookie:function(){var loginCookie=Cookie.getLoginCookieObj(),targetDomain=null,cookieStr=null,jsonObj=null;
document.cookie="C4_Identity=; path=/; expires=Fri, 27 Jul 2001 02:47:11 UTC";
targetDomain=Cookie.getDomain();
cookieStr=Base64.decode(loginCookie);
cookieStr=cookieStr.substr(0,cookieStr.length-1)+',"type":"C4"}';
try{if(cookieStr){jsonObj=eval("("+cookieStr+")")
}}catch(e){}Helper.setLoggedIn(jsonObj);
cookieStr=Base64.encode(cookieStr);
$.cookie("C4_Identity",cookieStr,{domain:targetDomain,path:"/"});
Helper.determineCorrectLinks(Model.C4_LOGIN,null);
Helper.executeCallback()
},updateOldFBCookie:function(data,trackLogin){$.ajax({type:"GET",url:"/4me/http/facebook/updatecookie",data:"fb_displayName="+data.first_name,async:true,success:function(json,status,jqXHR){document.cookie="C4_Identity=; path=/; expires=Fri, 27 Jul 2001 02:47:11 UTC";
if(trackLogin){Omniture.trackPassiveFBLogin()
}Helper.determineCorrectLinks(Model.FB_LOGIN,data);
Helper.executeCallback()
},error:function(jqXHR,textStatus,errorThrown){if(trackLogin){Omniture.trackPassiveFBLogin()
}Helper.determineCorrectLinks(Model.FB_LOGIN,data);
Helper.executeCallback()
}})
},getDomain:function(){var currentDomain=window.location.host,cookieDomain="";
if(currentDomain.indexOf("int.")===0||currentDomain.indexOf("test.")===0||currentDomain.indexOf("stage.")===0){cookieDomain="."+currentDomain
}else{if(currentDomain.indexOf("local")===0){cookieDomain=""
}else{cookieDomain=".channel4.com"
}}return cookieDomain
},decode:function(cookieValue){var jsonObject=null,jsonString=Base64.decode(cookieValue);
if(jsonString){jsonObject=eval("("+jsonString+")")
}return jsonObject
},deleteCookie:function(cookieName){$.cookie(cookieName,null)
},getLoginCookieObj:function(){var IdCookie=$.cookie("C4_Identity");
if(IdCookie){return Cookie.decode(IdCookie)
}else{return null
}},getUserEventCookie:function(){var eventCookie=$.cookie("C4_User_Event");
return eventCookie?eventCookie:null
}};
var Facebook={checkLoggedIn:function(createCookie){var cookieObj=Cookie.getLoginCookieObj();
if(window.FB&&FB.getLoginStatus){try{FB.getLoginStatus(function(response){if(response.authResponse){try{response.authResponse;
FB.api("/me",function(data){if(createCookie){Facebook.getUserDetails(data)
}else{if(cookieObj&&cookieObj.fb_uid){Cookie.updateOldFBCookie(data,false)
}else{Helper.determineCorrectLinks(Model.FB_LOGIN,data);
Helper.executeCallback()
}}});
var accessToken=response.authResponse.accessToken;
Model.fbAccessToken=accessToken
}catch(e){Helper.determineCorrectLinks(null,null);
Helper.executeCallback()
}}else{Facebook.postLogoutCleanUp()
}})
}catch(e){Helper.determineCorrectLinks(null,null);
Helper.executeCallback()
}}else{Helper.determineCorrectLinks(null,null);
Helper.executeCallback()
}},postLogoutCleanUp:function postLogoutCleanUp(){Helper.setLoggedOut();
document.cookie="C4_Identity=deletion; expires=Fri, 27 Jul 2001 02:47:11 UTC; domain="+Cookie.getDomain()+"; path=/";
Helper.determineCorrectLinks(null,null);
Helper.executeCallback()
},getUserDetails:function(data){$.ajax({type:"GET",url:"/4me/http/login/facebook/user-details",data:"fb_uid="+data.id+"&fb_displayName="+data.first_name,dataType:"json",async:true,success:function(json,status){if(json&&json.data&&json.status&&json.status.toLowerCase()==="ok"){var cookieDomain=Cookie.getDomain(),cookieObj=Cookie.decode(json.data);
document.cookie="C4_Identity=deletion; expires=Fri, 27 Jul 2001 02:47:11 UTC; domain="+cookieDomain+"; path=/";
$.cookie("C4_Identity",json.data,{domain:cookieDomain,path:"/"});
Helper.determineCorrectLinks(Model.FB_LOGIN,data);
Helper.executeCallback()
}else{Helper.determineCorrectLinks(null,null);
Helper.executeCallback()
}},error:function(XMLHttpRequest,textStatus,errorThrown){Helper.determineCorrectLinks(null,null);
Helper.executeCallback()
}})
},logout:function(){if(C4&&C4.History&&C4.History.Controller&&C4.History.Controller.clearUserHistory){C4.History.Controller.clearUserHistory()
}if(C4&&C4.Playlist&&C4.Playlist.Controller&&C4.Playlist.Controller.clearPlaylist){C4.Playlist.Controller.clearPlaylist()
}if(C4&&C4.Favourites&&C4.Favourites.Controller&&C4.Favourites.Controller.clearFavs){C4.Favourites.Controller.clearFavs()
}if(window.FB&&FB.logout){Model.loggingOutOfFB=true;
FB.logout(function(response){C4.Identity.Controller.checkLogoutRedirect()
})
}else{console.log("Unable to connect to facebook at time of signing out.")
}},checkLogoutRedirect:function checkLogoutRedirect(){if(window.location.pathname.indexOf("/4me")===0){window.location.href=window.location.href
}else{Facebook.postLogoutCleanUp()
}},redirectToFBDataCollection:function(uid,displayName){var urlSearchParameter,derivedLocation;
if(window.location.href.indexOf("redirectUrl")>-1){urlSearchParameter=window.location.search;
urlSearchParameter+="&fb_uid="+uid+"&fb_displayName="+displayName;
window.location=Model.dataCollectionUrl+urlSearchParameter
}else{urlSearchParameter="?fb_uid="+uid+"&fb_displayName="+displayName;
if(window.location.pathname.indexOf("/4me")===-1){derivedLocation=window.location.protocol+"//"+window.location.hostname+window.location.pathname+window.location.search+encodeURIComponent(window.location.hash);
urlSearchParameter+="&redirectUrl="+derivedLocation
}window.location=Model.dataCollectionUrl+urlSearchParameter
}},connectClick:function(connectCallbackFunc){if(window.FB&&FB.login){FB.login(function(response){if(response.authResponse){try{FB.api("/me",function(data){var player,flashObj;
if(data&&!data.error){Facebook.redirectToFBDataCollection(response.authResponse.userID,data.first_name)
}else{alert("Currently unable to connect to Facebook.")
}})
}catch(e){alert("Currently unable to connect to Facebook.")
}}else{alert("Currently unable to connect to Facebook.")
}},{scope:"email"})
}else{}},accountLinkClick:function(){$("#C4MyAccountLink").click(function(e){e.preventDefault();
Helper.postToUrl(Model.fourMeAccountUrl,{accessToken:Model.fbAccessToken})
})
}};
var Omniture={trackPassiveFBLogin:function(){var loginCookie=Cookie.getLoginCookieObj(),userId=null,s=s||{};
if(loginCookie.type&&loginCookie.type==="FB"){userId="FB: "+loginCookie.userId
}else{userId="FB: "+loginCookie.fb_uid
}if(typeof s_gi==="function"){s=s_gi(s_account);
s.linkTrackVars="events,eVar34,prop34,eVar37,prop37";
s.linkTrackEvents=s.events="event35,event73";
s.prop34=s.eVar34="FB: Logged in";
s.prop37=s.eVar37=userId;
if(typeof s.tl==="function"){s.tl(this,"o",s.prop34)
}}}};
var Base64={encode:function(data){var out="",c1,c2,c3,e1,e2,e3,e4,tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
for(var i=0;
i<data.length;
){c1=data.charCodeAt(i++);
c2=data.charCodeAt(i++);
c3=data.charCodeAt(i++);
e1=c1>>2;
e2=((c1&3)<<4)+(c2>>4);
e3=((c2&15)<<2)+(c3>>6);
e4=c3&63;
if(isNaN(c2)){e3=e4=64
}else{if(isNaN(c3)){e4=64
}}out+=tab.charAt(e1)+tab.charAt(e2)+tab.charAt(e3)+tab.charAt(e4)
}return out
},decode:function(data){if(data===null||typeof data=="undefined"){return null
}var out="",c1,c2,c3,e1,e2,e3,e4,tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
for(var i=0;
i<data.length;
){e1=tab.indexOf(data.charAt(i++));
e2=tab.indexOf(data.charAt(i++));
e3=tab.indexOf(data.charAt(i++));
e4=tab.indexOf(data.charAt(i++));
c1=(e1<<2)+(e2>>4);
c2=((e2&15)<<4)+(e3>>2);
c3=((e3&3)<<6)+e4;
out+=String.fromCharCode(c1);
if(e3!=64){out+=String.fromCharCode(c2)
}if(e4!=64){out+=String.fromCharCode(c3)
}}return out
}};
var API={login:function(context,subContext){},register:function(context,subContext){},isLoggedIn:function(){return Model.userData.loggedIn
},getUserId:function(){return Model.userData.userId
},getDisplayName:function(){return Model.userData.displayName
},getGender:function(){return Model.userData.gender
},getAge:function(){return Model.userData.age
}};
return{init:function(runStatus,callbackFunc,disableView){View.hideLoginNav();
Helper.populateModel(callbackFunc,disableView);
Helper.initCheckLoggedIn()
},connectClick:Facebook.connectClick,facebookLogout:Facebook.logout,checkLogoutRedirect:Facebook.checkLogoutRedirect,checkLoginStatus:Helper.checkLoginStatus,getLoginCookieObj:Cookie.getLoginCookieObj,getUserEventCookie:Cookie.getUserEventCookie,determineCorrectLinks:Helper.determineCorrectLinks,redirectToFBDataCollection:Facebook.redirectToFBDataCollection,onReceive:CrossDomain.onReceive,logout:Helper.logout,getRedirectUrl:URL.getRedirectUrl,postToUrl:Helper.postToUrl,login:API.login,register:API.register,isLoggedIn:API.isLoggedIn,getUserId:API.getUserId,getDisplayName:API.getDisplayName,getGender:API.getGender,getAge:API.getAge}
})(C4.GLOBALSCRIPTS.jQuery);
var Identity={};
Identity.isLoggedIn=C4.Identity.Controller.isLoggedIn;
Identity.getUserId=C4.Identity.Controller.getUserId;
Identity.getDisplayName=C4.Identity.Controller.getDisplayName;
Identity.getGender=C4.Identity.Controller.getGender;
Identity.getAge=C4.Identity.Controller.getAge;
try{C4.IdManagement=C4.IdManagement||{};
C4.IdManagement.facebookConnectClick=C4.Identity.Controller.connectClick
}catch(e){}C4.MessageDisplay={};
C4.MessageDisplay.Model=function(G){var B={},F,A=function A(H){B=C();
B.displayItems=H.displayItems||false;
B.parentElement=H.parentElement||false;
B.messageHtml=H.messageHtml||"<p><span><span></span></span></p>"
},D=function D(){F=true
},E=function E(){return F
},C=function C(){return B
};
return{setOptions:A,getOptions:C,setFormSubmitted:D,isFormSubmitted:E}
}(C4.GLOBALSCRIPTS.jQuery);
C4.MessageDisplay.View=function(E){var C=C4.MessageDisplay.Model,I={showMessage:function J(V,Q){var N=E(Q.target).parents(C.getOptions().parentElement+":first"),P=E(C.getOptions().messageHtml).addClass("message"),M=N.find(".message"),S=M.filter(".explanatory"),T=M.filter(".error"),R,U;
var O=I.getTooltipPos(N);
P.css({left:O.left,top:O.top});
T.css({left:O.left,top:O.top});
E(".explanatory").hide();
if(N.hasClass("errored")){T.hide()
}if(S.length>0){S.show()
}else{R="explanatory";
U=V.explanatory;
P.addClass(R);
E(P).find(":last").html(U);
if(U){N.append(P)
}}},getTooltipPos:function L(Q){var T=Q.find("input"),P=Q.find("select"),U=10,O=0,S=0,N,M=E("body.smlScreenDevice");
if(M.length===0){if(T.length>0){O=T.width()+U;
S=T.position().top-(T.height()/2)
}if(Q.find("select#C4RegisterGender").length===1){O=220;
S=P.position().top-(P.height()/2)
}else{if(P.length>0){var R=0;
P.each(function(){R+=E(this).width()
});
O=R+U+40;
var V=E(P[0]);
S=V.position().top-(V.height()/2)
}}}else{T=Q.find("input,select");
N=(T.outerHeight)?T.outerHeight():T[0].offsetHeight;
S=Math.ceil(T.position().top+N+parseInt(T.css("fontSize"),10))
}return{left:O,top:S}
},setFirstLineBold:function H(N){var M=N.split(".");
M[0]="<b>"+M[0]+"</b><br />";
N=M.join(" ");
return N
},fetchMessagesFromPage:function D(M){var N=[];
E(M).each(function(O){N[O]=jQuery(this).data("requiredMessage")||""
});
return N
},setErrored:function K(M,N){var P=M.find('.error:contains("'+N+'")'),O=null;
M.removeClass("valid");
I.clearPending(M);
M.find(".explanatory").hide();
M.addClass("errored");
M[0].currentMessage=N||"";
if(typeof (N)==="string"&&N.length>0){if(P.length>0){P.show()
}else{O=I.getTooltipPos(M);
M.append('<p class="message error"><span><span>'+N+"</span></span></p>");
M.find("p.message.error").css({left:O.left,top:O.top})
}}},setValid:function G(M){M.removeClass("errored");
I.clearPending(M);
M.addClass("valid");
M[0].removeAttribute("currentMessage");
M.find(".error").hide()
},setPending:function A(M){M.addClass("pending")
},clearPending:function B(M){M.removeClass("pending")
},removeAllMessages:function F(){E(".message").remove()
}};
return{showMessage:I.showMessage,fetchMessagesFromPage:I.fetchMessagesFromPage,setErrored:I.setErrored,setValid:I.setValid,setPending:I.setPending,clearPending:I.clearPending,removeAllMessages:I.removeAllMessages}
}(C4.GLOBALSCRIPTS.jQuery);
C4.MessageDisplay.Controller=function(D){var F=C4.MessageDisplay.View,E=C4.MessageDisplay.Model,A={setEventHandlers:function C(){var H=E.getOptions().displayItems;
D.each(H,function(J){var I,L=this.messages,M=this.condition,K=this.handler;
switch(this.task){case"validateInput":I=A.validateInput;
break;
case"showMessage":I=F.showMessage;
break;
case"validateRequiredForm":I=A.validateRequiredForm;
break;
default:I=F.showMessage
}D(this.selector).bind(this.trigger,function(N){return I(L,N,M,K)
})
})
},validateInput:function G(M,N,L,O){var H=true,I=D(N.target),Q=I.parents(E.getOptions().parentElement+":first"),P=E.isFormSubmitted(),K=N.target.value||"",J=K.length>0,R;
if(L.required&&P){if(L.required==="multi"){I.siblings("select, input").each(function(){J=J&&this.value
})
}else{if(L.required==="any"){Q.siblings(".field").find("select, input").each(function(){J=J||this.value.length>0
})
}}H=H&&J;
R=M.required
}if(J){if(L.ajax){O(N)
}if(L.regexp){H=H&&(L.regexp.test(K)===true);
R=M.regexp
}if(L.minLength){H=H&&(K.length>=L.value);
R=M.minLength
}if(L.equals){H=H&&(K===D(L.value).val());
R=M.equals
}}if(L.ajax){if(!J&&Q.is(".errored")){Q.find(".error").show();
Q.find(".explanatory").hide()
}}else{if(H){if(P||Q.hasClass("errored")){F.setValid(Q)
}}else{F.setErrored(Q,R)
}}return H
},validateRequiredForm:function B(J,K,L){var I=true,H=E.getOptions().parentElement;
if(L.required){if(J==="fetchMessagesFromPage"){J=F.fetchMessagesFromPage(L.required)
}D(L.required).each(function(O){var P={target:this},N=jQuery(this).closest(H),M=N.closest(".any-required"),R=true,Q=N.hasClass("errored");
if(M.length){M.find("input,select").each(function(){R=false;
if(this.value.length>0){R=true
}})
}if(D(this).val()===""&&R){I=false;
F.setErrored(N,(J[O]||L.message||"This field is required"))
}else{if(Q){I=false
}else{I=I&&true;
F.setValid(N)
}}});
E.setFormSubmitted();
D(".errored:first").find(L.required).focus()
}return I
}};
return{init:function(H){E.setOptions(H);
if(E.getOptions().messages!==""){A.setEventHandlers()
}},fetchMessagesFromPage:A.fetchMessagesFromPage,validateInput:A.validateInput,validateRequiredForm:A.validateRequiredForm,validateRequired:A.validateRequired}
}(C4.GLOBALSCRIPTS.jQuery);
(function limitCookieSize(){if(document.cookie.length>7000){document.cookie="NXCLICK2=; expires=Thu, 2 Aug 2001 20:47:11 UTC; domain=.channel4.com; path=/"
}})();
