var CF={};CF.IsIE=navigator.userAgent.toLowerCase().indexOf("msie")>-1?true:false;CF.IsOpera=navigator.userAgent.toLowerCase().indexOf("opera")>-1?true:false;CF.IsOpera10=navigator.userAgent.toLowerCase().indexOf("opera/9.80")>-1?true:false;CF.IsSafari=navigator.userAgent.toLowerCase().indexOf("safari")>-1?true:false;CF.IsFirefox=navigator.userAgent.toLowerCase().indexOf("firefox")>-1?true:false;CF.IsIE8=navigator.userAgent.toLowerCase().indexOf("msie 8.0")>-1?true:false;CF.IsIE7=navigator.userAgent.toLowerCase().indexOf("msie 7.0")>-1?true:false;if(!CF.IsIE){Element.prototype.attachEvent=window.attachEvent=function(event_name,call_back){if((new RegExp("^on","i")).test(event_name))return this.addEventListener(event_name.replace(/^on/i,""),call_back,false);throw new Error("Invalid event name");};Element.prototype.detachEvent=window.deatachEvent=function(event_name,call_back){if((new RegExp("^on","i")).test(event_name))return this.removeEventListener(event_name.replace(/^on/i,""),call_back,false);throw new Error("Invalid event name");}}if(CF.IsOpera){Document.prototype.selectSingleNode=function(xpath_str){return this.evaluate(xpath_str,this,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue};Element.prototype.selectSingleNode=function(xpath_str){var result_node=this.ownerDocument.evaluate(xpath_str,this,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);return result_node==null?null:result_node.singleNodeValue};Document.prototype.selectNodes=function(xpath_str){var oResult=this.evaluate(xpath_str,this,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var aNodes=new Array();if(oResult!=null){var oElement=oResult.iterateNext();while(oElement){aNodes.push(oElement);oElement=oResult.iterateNext()}}return aNodes};Element.prototype.selectNodes=function(xpath_str){var oResult=this.ownerDocument.evaluate(xpath_str,this,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var aNodes=new Array();if(oResult!=null){var oElement=oResult.iterateNext();while(oElement){aNodes.push(oElement);oElement=oResult.iterateNext()}}return aNodes}}else if(CF.IsIE){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}else{CSSStyleDeclaration.prototype.__defineGetter__("styleFloat",function(){return this.cssFloat});CSSStyleDeclaration.prototype.__defineSetter__("styleFloat",function(value){this.cssFloat=value});Element.prototype.selectSingleNode=function(xpath_str){var xpath_evaluator=new XPathEvaluator();var result_node=xpath_evaluator.evaluate(xpath_str,this,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);if(result_node!=null){return result_node.singleNodeValue}else{return null}};Element.prototype.selectNodes=function(sXPath){var oEvaluator=new XPathEvaluator();var oResult=oEvaluator.evaluate(sXPath,this,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var aNodes=new Array();if(oResult!=null){var oElement=oResult.iterateNext();while(oElement){aNodes.push(oElement);oElement=oResult.iterateNext()}}return aNodes};Element.prototype.__defineGetter__("innerText",function(){return this.textContent});Element.prototype.__defineSetter__("innerText",function(value){this.textContent=value});Element.prototype.__defineGetter__("text",function(){return this.innerText});Element.prototype.__defineSetter__("text",function(v){this.innerText=v});Attr.prototype.__defineGetter__("innerText",function(){return this.textContent});Attr.prototype.__defineSetter__("innerText",function(value){this.textContent=value});Attr.prototype.__defineGetter__("text",function(){return this.innerText});Attr.prototype.__defineSetter__("text",function(v){this.innerText=v});Element.prototype.__defineGetter__("currentStyle",function(){return document.defaultView.getComputedStyle(this,null)});if(XMLDocument){XMLDocument.prototype.__defineGetter__("currentStyle",function(){return document.defaultView.getComputedStyle(this,null)});XMLDocument.prototype.selectSingleNode=function(xpath_str){var result_node=this.evaluate(xpath_str,this,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;return result_node};XMLDocument.prototype.selectNodes=function(xpath_str){var oResult=this.evaluate(xpath_str,this,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var aNodes=new Array();if(oResult!=null){var oElement=oResult.iterateNext();while(oElement){aNodes.push(oElement);oElement=oResult.iterateNext()}return aNodes}else{return null}}}}CF.XML=function(){var myself=this;this.Doc=null;this.Doc=CF.IsIE?new ActiveXObject("MSXML2.DOMDocument"):document.implementation.createDocument(null,null,null);this.GetXML=function(){if(CF.IsIE)return myself.Doc.xml;else return CF.XML.GetNodeXML(myself.Doc)};this.GetText=function(){if(CF.IsIE)return myself.Doc.text;else return CF.XML.GetNodeText(myself.Doc)};this.childNodes=this.Doc.childNodes;this.appendChild=function(newChild){return myself.Doc.appendChild(newChild)};this.insertBefore=function(newChild,refChild){return myself.Doc.insertBefore(newChild,refChild)};this.removeChild=function(childNode){return myself.Doc.removeChild(childNode)};this.replaceChild=function(newChild,oldChild){return myself.Doc.replaceChild(newChild,oldChild)};this.createComment=function(data){return myself.Doc.createComment(data)};this.createCDATASection=function(data){return myself.Doc.createCDATASection(data)};this.createProcessingInstruction=function(target,data){return myself.Doc.createProcessingInstruction(target,data)};this.createElement=function(tagName){return myself.Doc.createElement(tagName)};this.createTextNode=function(data){return myself.Doc.createTextNode(data)};this.createAttribute=function(name){return myself.Doc.createAttribute(name)};this.Load=function(xmlSource){return myself.Doc.load(xmlSource)};this.selectSingleNode=function(xpath){return myself.Doc.selectSingleNode(xpath)};this.selectNodes=function(xpath){return myself.Doc.selectNodes(xpath)};this.Parse=function(xml_string){try{if(CF.IsIE)myself.Doc.loadXML(xml_string);else myself.Doc=new DOMParser().parseFromString(xml_string,"text/xml");return true}catch(ex){return false}}};CF.XML.GetNodeXML=function(node){var htm_val=new CF.StringBuilder("");CF.XML.GetNodeXML_Cascade(node,htm_val);return htm_val.ToString()};CF.XML.EscapeTextContent=function(data){if(typeof(data)=="string")return data.replace(/&/gm,"&amp;").replace(/</gm,"&lt;");return""};CF.XML.EscapeAttribute=function(value){if(typeof(value)=="string")return value.replace(new RegExp("\"","gm"),"&quot;").replace(new RegExp("'","gm"),"&apos;").replace(/&/gm,"&amp;").replace(/</gm,"&lt;");return""};CF.XML.GetNodeXML_Cascade=function(node,builder){switch(node.nodeType){case(1):builder.Append("<");builder.Append(node.tagName);for(var idx=0;idx<node.attributes.length;idx++){builder.Append(" ");builder.Append(node.attributes[idx].name);builder.Append("=\"");builder.Append(CF.XML.EscapeAttribute(node.attributes[idx].value));builder.Append("\"")}if(node.childNodes.length>0){builder.Append(">");for(var idx=0;idx<node.childNodes.length;idx++)CF.XML.GetNodeXML_Cascade(node.childNodes[idx],builder);builder.Append("</");builder.Append(node.tagName);builder.Append(">")}else{builder.Append("/>")}break;case(2):break;case(3):builder.Append(CF.XML.EscapeTextContent(node.data));break;case(4):builder.Append("<![CDATA[");builder.Append(node.data);builder.Append("]]");builder.Append(">");break;break;case(7):builder.Append("<?");builder.Append(node.target);builder.Append(" ");builder.Append(node.data);builder.Append("?>");break;case(8):builder.Append("<!--");builder.Append(node.nodeValue);builder.Append("-->");break;case(9):case(11):for(var idx=0;idx<node.childNodes.length;idx++)CF.XML.GetNodeXML_Cascade(node.childNodes[idx],builder);break;default:throw new Error("Not implemented!");}};CF.XML.GetNodeText=function(node){var txt_val=new CF.StringBuilder("");CF.XML.GetNodeText_Cascade(node,txt_val);return txt_val.ToString()};CF.XML.GetNodeText_Cascade=function(node,builder){switch(node.nodeType){case(1):case(9):case(11):for(var idx=0;idx<node.childNodes.length;idx++)CF.XML.GetNodeText_Cascade(node.childNodes[idx],builder);break;case(2):case(7):case(8):break;case(3):case(4):builder.Append(node.data);break;default:throw new Error("Not implemented!");}};Boolean.prototype.ToString=function(){return this?"True":"False"};String.prototype.AdaptForHTML=function(){return this.replace(/\r?\n/gim,"<br />")};String.prototype.RemoveHTML=function(){return this.replace(/<br *\/?>/gim,CF.NewLine).replace(/<.*?>/gim,"")};String.prototype.SubHtml=function(cut_length){var source_html=this.replace(/<(\w+)[^>]+CFtag="?true"?[^>]*?>[\s\S]*?<\/\1>/gi,"");var cut_index=0,cut_flag=true;for(var idx=0,last_cut=0;idx<source_html.length&&last_cut<=cut_length;idx++){if(source_html.charAt(idx)=="<"||source_html.charAt(idx)==">"){cut_flag=!cut_flag}else if(cut_flag){last_cut++;cut_index=idx}}var left_part=source_html.substr(0,cut_index+1);var right_part=source_html.substring(cut_index+1,source_html.length);right_part=right_part.replace(/<!--[^>]*-->/g,"").replace(/<{2,}/,"<").replace(/>{2,}/,">").replace(/<(?:br|img|input)[^<>]*?>/gi,"").replace(/<[^<>]+?\/>/g,"");right_part=right_part.replace(/<([^\/][^ <>]*)[^<>]*?>/g,"<$1>");right_part=right_part.match(/<[^<>]+?>/g);if(right_part!=null){right_part=right_part.join("");while(/<([^\/][^<>]*)><\/\1>/gi.test(right_part))right_part=right_part.replace(/<([^\/][^ <>]*)><\/\1>/gi,"")}return left_part+(right_part==null?"":right_part)};String.prototype.FormatArray=function(array){if(array.length==0)return this;var tmp_array=[];for(var idx=0,mth=null;idx<this.length;idx++){if(this.charCodeAt(idx)==123&&this.charCodeAt(idx-1)!=92&&(mth=this.substring(idx).match(/^\{(\d+)\}/))!=null){mth=parseInt(mth[1]);if(mth<array.length&&mth>-1){tmp_array.push(array[mth]);idx+=1+mth.toString().length}else{tmp_array.push("{");tmp_array.push(mth+1);tmp_array.push("}");idx+=mth.toString().length}}else tmp_array.push(this.charAt(idx))}return tmp_array.join("")};String.prototype.Format=function(){return this.FormatArray(arguments)};String.prototype.GetLines=function(){var rt=this.match(/[^\r\n]+/gm);return rt==null?[this]:rt};String.prototype.PadLeft=function(expected_length,pad_char){pad_char=pad_char.substr(0,1);var return_str=this;for(var idx=0;idx<expected_length-this.length;idx++)return_str=pad_char+return_str;return return_str};String.prototype.PadRight=function(expected_length,pad_char){pad_char=pad_char.substr(0,1);var return_str=this;for(var idx=0;idx<expected_length-this.length;idx++)return_str=return_str+pad_char;return return_str};String.prototype.ReplaceString=function(seek_str,replacement){seek_str=seek_str.replace(/([-:\\\/\[\](){}.?*+])/g,"\\$1");return this.replace(new RegExp(seek_str,"gi"),replacement)};String.URLEncodeRegex=new RegExp("\\+","gi");String.prototype.URLEncode=function(){var return_val=escape(this);return return_val.replace(/\+/gm,"%2b")};function Bool(boolvalue){if(boolvalue!=null&&typeof boolvalue!="undefined"){if(boolvalue.toString().toLowerCase()=="false"||boolvalue.toString()=="0"||boolvalue.toString()==""||boolvalue==null)return false;else return true}else{return false}};CF.DOM={};CF.DOM.WindowWidth=function(){if(CF.IsSafari||CF.IsFirefox)return document.body.parentNode.clientWidth;else if(CF.IsIE8||CF.IsOpera10)return document.documentElement.clientWidth;else if(CF.IsOpera)return document.body.clientWidth;else return document.body.parentNode.offsetWidth>document.body.parentNode.clientWidth?document.body.parentNode.offsetWidth:document.body.parentNode.clientWidth};CF.DOM.WindowHeight=function(){if(CF.IsSafari||CF.IsFirefox)return document.body.parentNode.clientHeight;else if(CF.IsIE8||CF.IsOpera10)return document.documentElement.clientHeight;else if(CF.IsOpera)return document.body.clientHeight;else return document.body.parentNode.offsetHeight>document.body.parentNode.clientHeight?document.body.parentNode.offsetHeight:document.body.parentNode.clientHeight};CF.DOM.PageHeight=function(){if(CF.IsIE8)return document.documentElement.scrollHeight;else if(CF.IsOpera10)return document.documentElement.scrollHeight>document.documentElement.clientHeight?document.documentElement.scrollHeight:document.documentElement.clientHeight;else if(CF.IsSafari)return document.body.parentNode.scrollHeight>document.body.parentNode.clientHeight?document.body.parentNode.scrollHeight:document.body.parentNode.clientHeight;else if(CF.IsFirefox)return document.body.parentNode.scrollHeight>document.body.parentNode.clientHeight?document.body.parentNode.scrollHeight:document.body.parentNode.clientHeight;else if(CF.IsOpera)return document.body.parentNode.scrollHeight;else return document.body.parentNode.offsetHeight>document.body.parentNode.scrollHeight?document.body.parentNode.offsetHeight:document.body.parentNode.scrollHeight};CF.DOM.PageWidth=function(){if(CF.IsIE8)return document.documentElement.scrollWidth;else if(CF.IsOpera10)return document.documentElement.scrollWidth>document.documentElement.clientWidth?document.documentElement.scrollWidth:document.documentElement.clientWidth;else if(CF.IsSafari)return document.body.parentNode.scrollWidth>document.body.parentNode.clientWidth?document.body.parentNode.scrollWidth:document.body.parentNode.clientWidth;else if(CF.IsFirefox)return document.body.parentNode.scrollWidth>document.body.parentNode.clientWidth?document.body.parentNode.scrollWidth:document.body.parentNode.clientWidth;else if(CF.IsOpera)return document.body.parentNode.scrollWidth;else return document.body.parentNode.offsetWidth>document.body.parentNode.scrollWidth?document.body.parentNode.offsetWidth:document.body.parentNode.scrollWidth};CF.DOM.PageScrollLeft=function(){if(CF.IsSafari)return document.body.scrollLeft;else return document.body.parentNode.scrollLeft};CF.DOM.PageScrollTop=function(){if(CF.IsSafari)return document.body.scrollTop;else return document.body.parentNode.scrollTop};CF.DOM.RemoveElement=function(the_ele){if(the_ele!=null&&the_ele.parentNode!=null){the_ele.parentNode.removeChild(the_ele);the_ele=null}};CF.DOM.CleanChild=function(the_ele){while(the_ele!=null&&the_ele.firstChild!=null)the_ele.removeChild(the_ele.firstChild)};CF.DOM.SetOpacity=function(the_ele,opacity){if(CF.IsIE)the_ele.style.filter="alpha(opacity="+(opacity*100).toString()+")";else the_ele.style.Mozopacity=the_ele.style.opacity=opacity.toString()};CF.DOM.GetAbsoluteLeft=function(ele){var offset=0;while(ele.offsetParent!=null){offset+=ele.offsetLeft;ele=ele.offsetParent}offset+=ele.offsetLeft;return offset};CF.DOM.GetAbsoluteTop=function(ele){var offset=0;while(ele.offsetParent!=null){offset+=ele.offsetTop;ele=ele.offsetParent}offset+=ele.offsetTop;return offset};CF.DOM.GetRelativeTop=function(ele){var offset=0;while(ele.offsetParent!=null&&ele.offsetParent.currentStyle.position!="relative"&&ele.offsetParent.currentStyle.position!="absolute"){offset+=ele.offsetTop;ele=ele.offsetParent}offset+=ele.offsetTop;return offset};CF.DOM.GetRelativeLeft=function(ele){var offset=0;while(ele.offsetParent!=null&&ele.offsetParent.currentStyle.position!="relative"&&ele.offsetParent.currentStyle.position!="absolute"){offset+=ele.offsetLeft;ele=ele.offsetParent}offset+=ele.offsetLeft;return offset};CF.DOM.BlockDrag=function(ele){if(CF.IsFirefox){ele.style.MozUserSelect="none";ele.style.MozUserInput="disabled";ele.style.MozUserFocus="ignore"}else{ele.ondragstart=function(){return false}}};CF.DOM.IsParentOf=function(parent,child){while(child!=null)if((child=child.parentNode)===parent)return true;return false};CF.DOM.BlockSelect=function(ele){ele.onselectstart=function(e){return false}};CF.DOM.BlockContextMenu=function(ele){ele.oncontextmenu=function(e){return false}};CF.DOM.Event=function(e){return new CF.DOM.Event.EventObject(CF.IsIE?event:e)};CF.DOM.Event.MouseButton={Left:0,Middle:1,Right:2};CF.DOM.Event.EventObject=function(e){this.Type=e.type;if(CF.IsIE){this.SrcElement=e.srcElement;this.ClientX=e.clientX;this.ClientY=e.clientY;this.ScreenX=e.screenX;this.ScreenY=e.screenY;this.AltKey=e.altKey;this.ShiftKey=e.shiftKey;this.CtrlKey=e.ctrlKey;this.FromElement=e.fromElement;this.ToElement=e.toElement;this.OffsetX=e.offsetX;this.OffsetY=e.offsetY;this.PageX=e.offsetX+CF.DOM.GetAbsoluteLeft(this.SrcElement);this.PageY=e.offsetY+CF.DOM.GetAbsoluteTop(this.SrcElement);this.KeyCode=e.keyCode;switch(e.button){case 1:this.Button=0;break;case 2:this.Button=2;break;case 4:this.Button=1;break}switch(event.type){case"select":this.SelectedText=document.selection.createRange().text;break;case"keypress":this.CharCode=e.keyCode;break;case"mousewheel":this.WheelDaltaY=e.wheelDelta;this.WheelDaltaX=0;break}}else{this.SrcElement=e.target;this.ClientX=e.clientX;this.ClientY=e.clientY;this.ScreenX=e.screenX;this.ScreenY=e.screenY;this.AltKey=e.altKey;this.ShiftKey=e.shiftKey;this.CtrlKey=e.ctrlKey;this.FromElement=e.relatedTarget;this.ToElement=e.target;this.OffsetX=e.layerX-CF.DOM.GetRelativeLeft(this.SrcElement);this.OffsetY=e.layerY-CF.DOM.GetRelativeTop(this.SrcElement);this.PageX=e.pageX;this.PageY=e.pageY;this.KeyCode=e.keyCode;this.Button=e.button;switch(e.type){case"mouseout":this.FromElement=e.target;this.ToElement=e.relatedTarget;break;case"select":this.SelectedText=this.SrcElement.value.substr(this.SrcElement.selectionStart,this.SrcElement.selectionEnd-this.SrcElement.selectionStart);break;case"keypress":this.charCode=e.charCode;break;case"DOMMouseScroll":this.WheelDaltaY=e.detail*40;this.WheelDaltaX=0;this.Type="mousewheel";break;case"mousewheel":if(CF.IsSafari){this.WheelDaltaY=e.wheelDeltaY;this.WheelDaltaX=e.wheelDeltaX}else{this.WheelDaltaY=e.wheelDelta;this.WheelDaltaX=0}default:break}}};CF.QueryString=function(key){if(CF.QueryString.pairs==null){var mth=window.location.search.match(/[\?\&][^\?\&=]+=[^\?\&=]*/g);CF.QueryString.pairs=[];if(mth!=null){for(var idx=0;idx<mth.length;idx++){var s_mth=mth[idx].match(/[\?\&]([^\?\&=]+)=([^\?\&=]+)/);CF.QueryString.pairs[s_mth[1]]=decodeURIComponent(s_mth[2])}}}return CF.QueryString.pairs[key]};CF.QueryString.pairs=null;CF.RandomStringType={Number:0x01,Alphabet:0x02,IgnoreCase:0x04};CF.RandomString=function(str_length,type){var random_str="";str_length=(typeof str_length=="undefined"?20:str_length);type=parseInt(type);if(isNaN(type))type=0x07;var floor=10,ceiling=10;if((type&0x01)==0x01)floor=0;if((type&0x02)==0x02)ceiling=61;var range=ceiling-floor;for(var idx=0;idx<str_length;idx++)random_str+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(Math.ceil(Math.random()*range)+floor);return((type&0x04)==0x04)?random_str.toUpperCase():random_str};CF.IsSameDomain=function(dom_1,dom_2,is_strict){if(typeof(dom_1)=="string"&&typeof(dom_2)=="string"){if(is_strict)return dom_1.replace(/^(?:\w+\:\/\/)?((?:[-a-z0-9]+\.)+).*?/i,"$1").toLowerCase()==dom_2.replace(/^(?:\w+\:\/\/)?((?:[-a-z0-9]+\.)+).*?/i,"$1").toLowerCase();else return dom_1.replace(/^(?:\w+\:\/\/)?(?:[-a-z0-9]+\.)?((?:[-a-z0-9]+\.)+).*?/i,"$1").toLowerCase()==dom_2.replace(/^(?:\w+\:\/\/)?(?:[-a-z0-9]+\.)?((?:[-a-z0-9]+\.)+).*?/i,"$1").toLowerCase()}return false};Date.prototype.MaximumDay=function(){year=this.getFullYear();switch(this.getMonth()+1){case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;case 4:case 6:case 9:case 11:return 30;case 2:{if((year%400==0)||((year%4==0)&&(year%100!=0)))return 29;else return 28}}};Date.prototype.ToString=function(){return this.getFullYear().toString()+"-"+(this.getMonth()+1).toString()+"-"+this.getDate().toString()};Date.prototype.ToRountTrip=function(){return"{0}-{1}-{2}T{3}:{4}:{5}.{6}Z".Format(this.getUTCFullYear(),(this.getUTCMonth()+1).toString().PadLeft(2,"0"),this.getUTCDate().toString().PadLeft(2,"0"),this.getUTCHours().toString().PadLeft(2,"0"),this.getUTCMinutes().toString().PadLeft(2,"0"),this.getUTCSeconds().toString().PadLeft(2,"0"),this.getUTCMilliseconds().toString().PadRight(7,"0"))};Date.FromRountTrip=function(str){var mth=str.match(/^(\d{4})\-0?(\d{1,2})\-0?(\d{1,2})T0?(\d{1,2}):0?(\d{1,2}):0?(\d{1,2})\.0*(\d{1,7}?)0*(Z|[\-\+]\d{2}:\d{2})?$/);if(mth==null)return mth;var date=new Date();date.setUTCFullYear(mth[1],parseInt(mth[2]-1),mth[3]);date.setUTCHours(mth[4],mth[5],mth[6],mth[7]);if(mth[8]!=null&&mth[8]!=""&&mth[8]!="Z"){var sm=mth[8].match(/^([\-\+])0?(\d{1,2}):0?(\d{1,2})$/);date.setTime(date.getTime()+(sm[1]=="-"?1:-1)*(parseInt(sm[2])*3600000+parseInt(sm[3])*60000))}return date};Number.prototype.ToUnit=function(unit){if(typeof(unit)=="undefined")unit="px";return parseInt(this).toString()+unit};Number.prototype.ToPercentage=function(){return(this*100).toString()+"%"};CF.NewLine="\r\n";CF.Cookie={};CF.Cookie.GetCookie=function(cookie_name){var cookie_group=document.cookie.split(";");for(var idx=0;idx<cookie_group.length;idx++){var current_cookie=cookie_group[idx].split("=");var current_cookie_name=current_cookie[0].replace(/^\s+|\s+$/g,"");if(current_cookie_name==cookie_name){if(current_cookie.length>1){return unescape(current_cookie[1].replace(/^\s+|\s+$/g,''))}return null}}return null};CF.Cookie.SetCookie=function(cookie_name,cookie_value,expire_date,path,domain){if(typeof expire_date=="undefined"){var expire_date=new Date();expire_date.setTime(expire_date.getTime()+3*30*24*60*60*1000)}var cookie_bd=new CF.StringBuilder();cookie_bd.AppendFormat("{0}={1};expires={2}",cookie_name,escape(cookie_value),expire_date.toGMTString());if(path!=null)cookie_bd.AppendFormat(";path={0}",path);if(domain!=null)cookie_bd.AppendFormat(";domain={0}",domain);document.cookie=cookie_bd.ToString()};CF.Cookie.DeleteCookie=function(cookie_name,path,domain){var expire_date=new Date();expire_date.setTime(expire_date.getTime()-1);CF.Cookie.SetCookie(cookie_name,"",expire_date,path,domain)};CF.StringBuilder=function(value){var myself=this;this.strings=[];if(typeof(value)!="undefined")this.strings.push(value);this.Append=function(new_value){if(new_value!=null)myself.strings.push(new_value.toString());return this};this.AppendFormat=function(new_value){if(new_value!=null){var tmp_arr=[];for(var idx=1;idx<arguments.length;idx++)tmp_arr.push(arguments[idx]);myself.strings.push(new_value.toString().FormatArray(tmp_arr))}return this};this.AppendLine=function(new_value){myself.Append(new_value);myself.Append(CF.NewLine);return this};this.Clear=function(){myself.strings.length=1};this.ToString=this.toString=function(){return myself.strings.join("")};this.Append(value)};CF.Ajax=function(){var myself=this;this.IsAsync=true;this.SendData=new Array();this.URL="";this.OnInitialize=function(){return null};this.OnLoading=function(){return null};this.OnLoaded=function(){return null};this.OnInteractive=function(){return null};this.OnComplete=function(){return null};this.OnError=function(){return null};this.ResponseXML=null;this.ResponseText=null;this.ResponseStream=null;this.ResponseBody=null;this.ResponseHeaders=[];this.RequestHeaders=[];this.Status=null;this.Method="POST";this.OtherArgs=new Array();this.PostType=CF.Ajax.PostType.MultiPartFormData;var Completed=false;var xmlhttp=null;this.GrabForm=function(form_name){var the_form=document.forms[form_name];if(the_form!=null){myself.SendData=[];for(var idx=0;idx<the_form.elements.length;idx++){switch(the_form.elements[idx].type){case("radio"):case("checkbox"):if(the_form.elements[idx].checked)myself.SendData[the_form.elements[idx].name]=the_form.elements[idx].value;break;case("textarea"):case("text"):case("password"):case("hidden"):myself.SendData[the_form.elements[idx].name]=the_form.elements[idx].value;break}}myself.URL=the_form.action;if(the_form.method!=null){switch(the_form.method.toUpperCase()){case("GET"):case("POST"):myself.Method=the_form.method.toUpperCase()}}return true}return false};var parseHeader=function(){var mth=xmlhttp.getAllResponseHeaders().match(/[^\:]+\:.*/mg);if(mth!=null){for(var idx=0;idx<mth.length;idx++){var sm=mth[idx].match(/\s*([^\:]+)\s*\:\s*(.*)\s*/);myself.ResponseHeaders[sm[1]]=sm[2]}}};this.Abort=function(){try{xmlhttp.abort();return true}catch(ex){return false}};this.Initalize=function(){if(CF.IsIE){try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(ex){xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}}else{xmlhttp=new XMLHttpRequest()}xmlhttp.onreadystatechange=function(){switch(xmlhttp.readyState){case(0):myself.OnInitialize(myself);break;case(1):myself.OnLoading(myself);break;case(2):myself.OnLoaded(myself);break;case(3):myself.OnInteractive(myself);break;case(4):myself.Status=xmlhttp.status;myself.ResponseXML=xmlhttp.responseXML;myself.ResponseText=xmlhttp.responseText;myself.ResponseStream=xmlhttp.responseStream;myself.ResponseBody=xmlhttp.responseBody;parseHeader();if(xmlhttp.status==200&&!Completed){Completed=true;myself.OnComplete(myself)}else if(xmlhttp.status!=200){myself.OnError(myself)}break}}};this.Send=function(){myself.Initalize();var send_body="",content_type="";if(myself.Method=="POST"&&myself.SendData!=null){switch(myself.PostType){case(0):var bound="---------------------------7d{0}".Format(CF.RandomString(11).toLowerCase());var send_data=new CF.StringBuilder("");for(var key in myself.SendData)send_data.Append("--").AppendLine(bound).AppendFormat("Content-Disposition: form-data; name=\"{0}\"",key).AppendLine(CF.NewLine).AppendLine(typeof(myself.SendData[key])=="undefined"?"":myself.SendData[key].toString());send_data.Append("--").Append(bound).AppendLine("--");send_body=send_data.ToString();content_type="multipart/form-data; charset=UTF-8; boundary={0}".Format(bound);break;case(1):var not_first=false;var send_data=new CF.StringBuilder("");for(current_send_date in myself.SendData){if(not_first)send_data.Append("&");not_first=true;send_data.Append(current_send_date.toString()).Append("=").Append(myself.SendData[current_send_date].toString().URLEncode())}send_body=send_data.ToString();content_type="application/x-www-form-urlencoded";break}}xmlhttp.open(myself.Method,myself.URL,myself.IsAsync);for(var key in myself.RequestHeaders)xmlhttp.setRequestHeader(key,myself.RequestHeaders[key]);xmlhttp.setRequestHeader("Content-Type",content_type);xmlhttp.send(send_body)}};CF.Ajax.PostType={MultiPartFormData:0,FormUrlEncoded:1};CF.AnimationType={Fade:0x0001,Move:0x0002,Resize:0x0004,Nudge:0x0008,ScrollTo:0x0010,TypeText:0x0020};CF.Animator=function(target_obj){var myself=this;this.TargetObject=null;if(target_obj&&target_obj.style){myself.TargetObject=target_obj}else{throw new Error("err_tip_Must provide a animator target element!");}this.IsAnimating=false;this.ActionCount=0;this.OpacityArg=[null,null,1];this.OpacitySeed=null;this.WidthArg=[null,null,1];this.ResizeHorizontalSeed=null;this.HeightArg=[null,null,1];this.ResizeVerticalSeed=null;this.LeftArg=[null,null,1];this.MoveHorizontalSeed=null;this.TopArg=[null,null,1];this.MoveVerticalSeed=null;this.NudgeArg=[null,null,null,null];this.NudgeOriginalPosition=[null,null];this.NudgeHorizontalSeed=null;this.NudgeVerticalSeed=null;this.GetLeft=function(){return isNaN(parseInt(myself.TargetObject.currentStyle.left))?myself.TargetObject.clientLeft:parseInt(myself.TargetObject.currentStyle.left)};this.GetTop=function(){return isNaN(parseInt(myself.TargetObject.currentStyle.top))?myself.TargetObject.clientTop:parseInt(myself.TargetObject.currentStyle.top)};this.GetWidth=function(){return isNaN(parseInt(myself.TargetObject.currentStyle.width))?myself.TargetObject.clientWidth:parseInt(myself.TargetObject.currentStyle.width)};this.GetHeight=function(){return isNaN(parseInt(myself.TargetObject.currentStyle.height))?myself.TargetObject.clientHeight:parseInt(myself.TargetObject.currentStyle.height)};this.GetOpacity=function(){if(CF.IsIE){var m=myself.TargetObject.currentStyle.filter.toString().match(/opacity=(\d+)/i);if(m==null)return 100;else return parseInt(m[1])}else{var o=null;if(myself.TargetObject.currentStyle.Mozopacity)o=myself.TargetObject.currentStyle.Mozopacity;else if(myself.TargetObject.currentStyle.opacity)o=myself.TargetObject.currentStyle.opacity;return 100*(isNaN(parseFloat(o))?1:parseFloat(o))}};this.Move=function(duration){if(myself.LeftArg&&(typeof(myself.LeftArg[0])=="number"||myself.LeftArg[0]==null)&&typeof(myself.LeftArg[1])=="number"&&typeof(myself.LeftArg[2])=="number"&&myself.LeftArg[2]>=0){myself.ActionCount++;var init_l=myself.LeftArg[0]==null?myself.GetLeft():myself.LeftArg[0];if(myself.MoveHorizontalSeed==null){myself.MoveHorizontalSeed=new CF.Animator.AnimateSeed(duration,init_l,myself.LeftArg[1],myself)}else{with(myself.MoveHorizontalSeed){Duration=duration;StartValue=CurrentValue=init_l;TargetValue=myself.LeftArg[1]}}myself.MoveHorizontalSeed.Scale=myself.LeftArg[2];myself.MoveHorizontalSeed.OnSetValue=myself.SetLeft;myself.MoveHorizontalSeed.LinearStart()}if(myself.TopArg&&(typeof(myself.TopArg[0])=="number"||myself.TopArg[0]==null)&&typeof(myself.TopArg[1])=="number"&&typeof(myself.TopArg[2])=="number"&&myself.TopArg[2]>=0){myself.ActionCount++;var init_t=myself.TopArg[0]==null?myself.GetTop():myself.TopArg[0];if(myself.MoveVerticalSeed==null){myself.MoveVerticalSeed=new CF.Animator.AnimateSeed(duration,init_t,myself.TopArg[1],myself)}else{with(myself.MoveVerticalSeed){Duration=duration;StartValue=CurrentValue=init_t;TargetValue=myself.TopArg[1]}}myself.MoveVerticalSeed.Scale=myself.TopArg[2];myself.MoveVerticalSeed.OnSetValue=myself.SetTop;myself.MoveVerticalSeed.LinearStart()}};this.Resize=function(duration){if(myself.WidthArg&&(typeof(myself.WidthArg[0])=="number"||myself.WidthArg[0]==null)&&typeof(myself.WidthArg[1])=="number"&&myself.WidthArg[1]>=0&&typeof(myself.WidthArg[2])=="number"&&myself.WidthArg[2]>=0){myself.ActionCount++;var init_w=myself.WidthArg[0]==null?myself.GetWidth():myself.WidthArg[0];if(myself.ResizeHorizontalSeed==null){myself.ResizeHorizontalSeed=new CF.Animator.AnimateSeed(duration,init_w,myself.WidthArg[1],myself)}else{with(myself.ResizeHorizontalSeed){Duration=duration;StartValue=CurrentValue=init_w;TargetValue=myself.WidthArg[1]}}myself.ResizeHorizontalSeed.Scale=myself.WidthArg[2];myself.ResizeHorizontalSeed.OnSetValue=myself.SetWidth;myself.ResizeHorizontalSeed.LinearStart()}if(myself.HeightArg&&(typeof(myself.HeightArg[0])=="number"||myself.HeightArg[0]==null)&&typeof(myself.HeightArg[1])=="number"&&myself.HeightArg[1]>=0&&typeof(myself.HeightArg[2])=="number"&&myself.HeightArg[2]>=0){myself.ActionCount++;var init_h=myself.HeightArg[0]==null?myself.GetHeight():myself.HeightArg[0];if(myself.ResizeVerticalSeed==null){myself.ResizeVerticalSeed=new CF.Animator.AnimateSeed(duration,init_h,myself.HeightArg[1],myself)}else{with(myself.ResizeVerticalSeed){Duration=duration;StartValue=CurrentValue=init_h;TargetValue=myself.HeightArg[1]}}myself.ResizeVerticalSeed.Scale=myself.OpacityArg[2];myself.ResizeVerticalSeed.OnSetValue=myself.SetHeight;myself.ResizeVerticalSeed.LinearStart()}};this.Fade=function(duration){if(myself.OpacityArg&&((typeof(myself.OpacityArg[0])=="number"&&myself.OpacityArg[0]>=0&&myself.OpacityArg[0]<=100)||myself.OpacityArg[0]==null)&&typeof(myself.OpacityArg[1])=="number"&&myself.OpacityArg[1]<=100&&myself.OpacityArg[1]>=0&&typeof(myself.OpacityArg[2])&&myself.HeightArg[2]>=0){myself.ActionCount++;var init_o=myself.OpacityArg[0]==null?myself.GetOpacity():myself.OpacityArg[0];if(myself.OpacitySeed==null){myself.OpacitySeed=new CF.Animator.AnimateSeed(duration,init_o,myself.OpacityArg[1],myself)}else{with(myself.OpacitySeed){Duration=duration;StartValue=CurrentValue=init_o;TargetValue=myself.OpacityArg[1]}}myself.OpacitySeed.Scale=myself.OpacityArg[2];myself.OpacitySeed.OnSetValue=myself.SetOpacity;myself.OpacitySeed.LinearStart()}};this.Nudge=function(duration){if(myself.NudgeArg&&(typeof(myself.NudgeArg[0])=="number"||myself.NudgeArg[0]==null)&&(typeof(myself.NudgeArg[1])=="number"||myself.NudgeArg[1]==null)&&(myself.NudgeArg[0]!=null||myself.NudgeArg[1]!=null)){myself.ActionCount++;var init_hl=myself.NudgeArg[0]==null?0:myself.NudgeArg[0];var init_hu=myself.NudgeArg[1]==null?0:myself.NudgeArg[1];if(myself.NudgeHorizontalSeed==null){myself.NudgeHorizontalSeed=new CF.Animator.AnimateSeed(duration,myself.GetLeft(),myself.GetLeft(),myself)}else{with(myself.NudgeHorizontalSeed){Duration=duration;TargetValue=CurrentValue=StartValue=myself.GetLeft()}}myself.NudgeHorizontalSeed.RandomRange=[init_hl,init_hu];myself.NudgeHorizontalSeed.OnSetValue=myself.SetLeft;myself.NudgeHorizontalSeed.RandomStart()}if(myself.NudgeArg&&(typeof(myself.NudgeArg[2])=="number"||myself.NudgeArg[2]==null)&&(typeof(myself.NudgeArg[3])=="number"||myself.NudgeArg[3]==null)&&(myself.NudgeArg[2]!=null||myself.NudgeArg[3]!=null)){myself.ActionCount++;var init_vl=myself.NudgeArg[2]==null?0:myself.NudgeArg[2];var init_vu=myself.NudgeArg[3]==null?0:myself.NudgeArg[3];if(myself.NudgeVerticalSeed==null){myself.NudgeVerticalSeed=new CF.Animator.AnimateSeed(duration,myself.GetTop(),myself.GetTop(),myself)}else{with(myself.NudgeVerticalSeed){Duration=duration;TargetValue=CurrentValue=StartValue=myself.GetTop()}}myself.NudgeVerticalSeed.RandomRange=[init_vl,init_vu];myself.NudgeVerticalSeed.OnSetValue=myself.SetTop;myself.NudgeVerticalSeed.RandomStart()}};this.SetOpacity=function(v){v=(v<0?0:(v>100?100:v));if(CF.IsIE)myself.TargetObject.style.filter="alpha(opacity="+v.toString()+")";else myself.TargetObject.style.Mozopacity=myself.TargetObject.style.opacity=(0.01*v).toString()};this.SetLeft=function(v){myself.TargetObject.style.left=v.toString()+"px"};this.SetTop=function(v){myself.TargetObject.style.top=v.toString()+"px"};this.SetWidth=function(v){myself.TargetObject.style.width=(v>=0?v:0).toString()+"px"};this.SetHeight=function(v){myself.TargetObject.style.height=(v>=0?v:0).toString()+"px"};this.Start=function(duration,type){if((type&CF.AnimationType.Move)==CF.AnimationType.Move&&(type&CF.AnimationType.Nudge)==CF.AnimationType.Nudge)throw new Error("err_tip_Can't nudge while moving!");if(typeof(duration)=="number"&&duration>0){duration*=0.1;myself.ActionCount=0;myself.IsAnimating=true;myself.OnStart();if((type&CF.AnimationType.Move)==CF.AnimationType.Move){myself.Move(duration)}if((type&CF.AnimationType.Resize)==CF.AnimationType.Resize){myself.Resize(duration)}if((type&CF.AnimationType.Fade)==CF.AnimationType.Fade){myself.Fade(duration)}if((type&CF.AnimationType.Nudge)==CF.AnimationType.Nudge){myself.Nudge(duration)}if((type&CF.AnimationType.ScrollTo)==CF.AnimationType.ScrollTo){myself.ScrollTo(duration)}if((type&CF.AnimationType.TypeText)==CF.AnimationType.TypeText){myself.TypeText(duration)}}else{throw new Error("err_tip_Must provide a positive duration!");}};this.Stop=function(type){if((type&CF.AnimationType.Move)==CF.AnimationType.Move){if(myself.MoveHorizontalSeed)myself.MoveHorizontalSeed.Stop();if(myself.MoveVerticalSeed)myself.MoveVerticalSeed.Stop()}if((type&CF.AnimationType.Resize)==CF.AnimationType.Resize){if(myself.ResizeHorizontalSeed)myself.ResizeHorizontalSeed.Stop();if(myself.ResizeVerticalSeed)myself.ResizeVerticalSeed.Stop()}if((type&CF.AnimationType.Fade)==CF.AnimationType.Fade){if(myself.OpacitySeed)myself.OpacitySeed.Stop()}if((type&CF.AnimationType.Nudge)==CF.AnimationType.Nudge){if(myself.NudgeHorizontalSeed)myself.NudgeHorizontalSeed.Stop();if(myself.NudgeVerticalSeed)myself.NudgeVerticalSeed.Stop()}if((type&CF.AnimationType.ScrollTo)==CF.AnimationType.ScrollTo){if(myself.ScrollToSeed)myself.ScrollToSeed.Stop()}if((type&CF.AnimationType.TypeText)==CF.AnimationType.TypeText){if(myself.TypeTextSeed)myself.TypeTextSeed.Stop()}myself.IsAnimating=false};this.OnSeedStop=function(){myself.ActionCount--;if(myself.ActionCount==0){myself.Duration=0;myself.IsAnimating=false;if(typeof(myself.OnStop)=="function")myself.OnStop()}};this.OnSeedManullyStop=function(){myself.ActionCount--};this.OnStop=function(){};this.OnStart=function(){};this.ScrollToSeed=null;this.ScrollToArg=[0,1];this.ScrollTo=function(duration){if(myself.ScrollToArg&&(typeof(myself.ScrollToArg[0])=="number"||myself.ScrollToArg[0]==null)&&myself.ScrollToArg[1]>=0){myself.ActionCount++;var max_top=CF.DOM.PageHeight()-CF.DOM.WindowHeight();var tgt_top=CF.DOM.GetAbsoluteTop(myself.TargetObject);if(typeof(myself.ScrollToArg[0])=="number")tgt_top+=myself.ScrollToArg[0];tgt_top=(tgt_top>max_top?max_top:tgt_top);tgt_top=tgt_top<0?0:tgt_top;myself.ScrollToSeed=new CF.Animator.AnimateSeed(duration,CF.DOM.PageScrollTop(),tgt_top,myself);myself.ScrollToSeed.Scale=myself.ScrollToArg[1];myself.ScrollToSeed.OnSetValue=myself.SetScrollTo;myself.ScrollToSeed.LinearStart()}};this.SetScrollTo=function(v){window.scrollTo(0,v)};this.TypeTextArg=[null,1];this.TypeTextCurrentIndex=0;this.TypeTextCurrentText="";this.TypeTextSeed=null;this.TypeText=function(duration){if(typeof(myself.TypeTextArg[0])=="string"){myself.TypeTextCurrentIndex=0;myself.TypeTextCurrentText=myself.TypeTextArg[0];if(myself.TypeTextSeed==null){myself.TypeTextSeed=new CF.Animator.AnimateSeed(duration,0,myself.TypeTextArg[0].length,myself)}else{with(myself.TypeTextArg){Duration=duration;StartValue=CurrentValue=0;TargetValue=myself.TypeTextArg[0].length}}myself.TypeTextSeed.Scale=myself.TypeTextArg[1];myself.TypeTextSeed.OnSetValue=myself.SetTypeText;myself.TypeTextSeed.LinearStart()}};this.SetTypeText=function(v){if(myself.TargetObject.tagName!="input"&&myself.TargetObject.tagName!="textarea")myself.TargetObject.innerText=myself.TypeTextCurrentText=myself.TypeTextArg[0].substr(0,v);else myself.TargetObject.value=myself.TypeTextCurrentText=myself.TypeTextArg[0].substr(0,v)}};CF.Animator.AnimateSeed=function(duration,start_value,target_value,animator){var myself=this;this.Animator=animator;this.Duration=duration/CF.Animator.Factor;this.InitialSpeed=0;this.CurrentSpeed=0;this.StartValue=start_value;this.TargetValue=target_value;this.CurrentValue=start_value;this.Scale=1;this.OnSetValue=null;this.OnStop=animator.OnSeedStop;this.IgnoreDecimal=true;this.Count=0;this.Acc=0;this.RandomRange=[0,0];this.Stopped=false;this.Stop=function(){myself.Stopped=true;myself.Animator.OnSeedManullyStop()};this.LinearStart=function(){myself.Stopped=false;myself.Count=0;if(myself.Scale==1){myself.CurrentSpeed=myself.InitialSpeed=(myself.TargetValue-myself.StartValue)/myself.Duration;myself.Acc=0}else{myself.CurrentSpeed=myself.InitialSpeed=2*(myself.TargetValue-myself.StartValue)/(myself.Duration*(myself.Scale+1));myself.Acc=myself.InitialSpeed*(myself.Scale-1)/myself.Duration}CF.Animator.Animation.push(myself.LinearLoop)};this.LinearLoop=function(){if(!myself.Stopped){myself.Count++;if(myself.Count<myself.Duration){myself.CurrentValue=myself.StartValue+myself.InitialSpeed*myself.Count+0.5*myself.Acc*myself.Count*myself.Count;if(myself.IgnoreDecimal)myself.OnSetValue(myself.TargetValue>myself.StartValue?Math.ceil(myself.CurrentValue):Math.floor(myself.CurrentValue));else myself.OnSetValue(myself.CurrentValue);CF.Animator.Animation.push(myself.LinearLoop)}else{myself.OnSetValue(myself.TargetValue);myself.OnStop()}}};this.RandomStart=function(){if(myself.RandomRange[1]>myself.RandomRange[0]){myself.Stopped=false;myself.Count=0;CF.Animator.Animation.push(myself.RandomLoop)}else{throw new Error("err_tip_Lower bound must be less than upper bound!");}};this.RandomLoop=function(){if(!myself.Stopped){myself.Count++;if(myself.Count<myself.Duration){myself.CurrentValue=myself.StartValue+(myself.RandomRange[1]-myself.RandomRange[0])*Math.random()+myself.RandomRange[0];myself.OnSetValue(myself.IgnoreDecimal?Math.ceil(myself.CurrentValue):myself.CurrentValue);CF.Animator.Animation.push(myself.RandomLoop)}else{myself.OnSetValue(myself.TargetValue);myself.OnStop()}}}};CF.Animator.Animation=new Array();CF.Animator.Animate=function(){if(CF.Animator.Animation.length>0){var total_ani=CF.Animator.Animation.length;for(var idx=0;idx<total_ani;idx++)(CF.Animator.Animation[idx])();CF.Animator.Animation.splice(0,total_ani)}};CF.Animator.Factor=2;CF.Animator.Timer=window.setInterval(CF.Animator.Animate,10*CF.Animator.Factor);
CF.ExecuteScript=function(script_body){if(typeof script_body=="string"){if(CF.IsIE)execScript(script_body);else window.eval(script_body)}};CF.Ajax_OnError=function(ajax_obj){document.body.innerHTML=ajax_obj.ResponseText};CF.PackageType={Feature:0x01,Engine:0x02,Kernal:0x04};CF.Package=function(package_name,caller_package){if(typeof(package_name)!="string")throw new Error("Must provide a package name!");var myself=this;this.Name=package_name;this.Type=CF.PackageType.Engine;this.Loaded=false;this.MembershipSensitive=false;this.DependencyPackages=new Array();this.OnLoad=function(){};this.OnUnLoad=function(){};this.OnSignIn=function(){};this.ScriptLoadStarted=false;this.ScriptLoaded=false;this.ScriptData="";this.StyleSheetLink=null;this.ScriptExecuted=false;this.ConfigurationData={};this.GlobalizationData={};this.CallerPackage=caller_package;this.HasStyleSheet=true;this.SignIn=function(){myself.OnSignIn()};var on_complete=null;this.ExecuteScript=function(){CF.ExecuteScript(myself.ScriptData);CF.ExecuteScript("CF.{0}.Configuration = {};CF.{0}.UI = new Array();".Format(myself.Name));for(var th_item in myself.ConfigurationData){CF.ExecuteScript("CF.{0}.Configuration.{1} = {2};".Format(myself.Name,th_item,myself.ConfigurationData[th_item]))}for(var th_item in myself.GlobalizationData)CF.ExecuteScript("CF.{0}.UI.{1} = \"{2}\";".Format(myself.Name,th_item,myself.GlobalizationData[th_item].ReplaceString("\r","\\r").ReplaceString("\n","\\n").ReplaceString("\"","\\\"")));if(myself.Type==CF.PackageType.Feature)CF.Package.CurrentPackage=myself;myself.ScriptExecuted=true};this.ListDependedPackages=function(package_name,added_packages){for(var the_package in CF.Package.PackageMap[package_name].Dependency){if(!added_packages[CF.Package.PackageMap[package_name].Dependency[the_package]])myself.ListDependedPackages(CF.Package.PackageMap[package_name].Dependency[the_package],added_packages)}if(package_name!=myself.Name){myself.DependencyPackages.push(package_name);added_packages[package_name]=true}};this.PackagesToLoad=0;this.PackageScriptLoaded=0;this.Load=function(on_load_complete){if(on_load_complete)on_complete=on_load_complete;if(!myself.ScriptExecuted){var load_list=CF.Package.PackageMap[myself.Name].Dependency,packages_to_load=new Array();myself.ListDependedPackages(myself.Name,{});for(var cot=0;cot<myself.DependencyPackages.length;cot++){if(CF.Package.LoadedPackage[myself.DependencyPackages[cot]]==null)packages_to_load.push(myself.DependencyPackages[cot])}myself.PackagesToLoad=packages_to_load.length+1;for(var cot=0;cot<packages_to_load.length;cot++){(new CF.Package(packages_to_load[cot],myself)).LoadScript()}myself.LoadScript()}else{if(!myself.Loaded)myself.DoOnLoad();if(typeof(on_complete)=="function"){on_complete();on_complete=null}}};this.DoOnLoad=function(){if(myself.HasStyleSheet){myself.StyleSheetLink=document.createElement("link");with(myself.StyleSheetLink){type="text/css";rel=rev="StyleSheet";href=CF.Package.Configuration.IsDebug?CF.Package.ResourceUrl("ECMAScript.ResourceHandler.ashx?Package={0}&Mode=StyleSheet".Format(myself.Name)):CF.Package.ResourceUrl("{0}.css".Format(myself.Name))}document.documentElement.firstChild.appendChild(myself.StyleSheetLink)}for(var idx=0;idx<myself.DependencyPackages.length;idx++)if(!CF.Package.LoadedPackage[myself.DependencyPackages[idx]].Loaded)CF.Package.LoadedPackage[myself.DependencyPackages[idx]].DoOnLoad();myself.OnLoad();myself.SignIn();myself.Loaded=true};this.ReportLoadScriptFinished=function(){myself.PackageScriptLoaded++;if(myself.PackageScriptLoaded==myself.PackagesToLoad){for(var idx=0;idx<myself.DependencyPackages.length;idx++)if(!CF.Package.LoadedPackage[myself.DependencyPackages[idx]].ScriptExecuted)CF.Package.LoadedPackage[myself.DependencyPackages[idx]].ExecuteScript();myself.ExecuteScript();myself.DoOnLoad();if(myself.Type==CF.PackageType.Feature)CF.Package.CurrentPackage=myself;if(typeof(on_complete)=="function"){on_complete();on_complete=null}}};this.IsDependOn=function(pkg){for(var idx=0;idx<myself.DependencyPackages.length;idx++)if(myself.DependencyPackages[idx].Name==pkg.Name)return true;return false};this.LoadScript=function(){var new_ajax=new CF.Ajax();if(typeof(CF.Package.PackageMap[myself.Name].Handler[CF.Package.Configuration.Culture])=="string")new_ajax.URL=CF.Package.PackageMap[myself.Name].Handler[CF.Package.Configuration.Culture];else if(typeof(CF.Package.PackageMap[myself.Name].Handler)=="string")new_ajax.URL=CF.Package.PackageMap[myself.Name].Handler;else throw new Error("Package \"{0}\" not available".Format(myself.Name));new_ajax.Method="GET";new_ajax.OnComplete=myself.LoadScript_OnComplete;new_ajax.Send()};this.LoadScript_OnComplete=function(ajax_obj){var package_node=ajax_obj.ResponseXML.selectSingleNode("/Packages/Package[@Name=\"{0}\"]".Format(myself.Name));myself.Type=CF.PackageType[package_node.selectSingleNode("./@Type").text];myself.ScriptData=package_node.selectSingleNode("./ScriptData").text;myself.MembershipSensitive=Bool(package_node.selectSingleNode("./@MembershipSensitive").text);myself.HasStyleSheet=Bool(package_node.selectSingleNode("./@HasStyleSheet").text);var config_nodes=package_node.selectNodes("./ConfigurationData/Item");for(var cot=0;cot<config_nodes.length;cot++)myself.ConfigurationData[config_nodes[cot].selectSingleNode("./@Key").text]=config_nodes[cot].text;var glob_nodes=package_node.selectNodes("./GlobalizationDatas/GlobalizationData/Item");for(var cot=0;cot<glob_nodes.length;cot++)myself.GlobalizationData[glob_nodes[cot].selectSingleNode("./@Key").text]=glob_nodes[cot].text;CF.Package.LoadedPackage[myself.Name]=myself;myself.ScriptLoaded=true;if(myself.CallerPackage!=null)myself.CallerPackage.ReportLoadScriptFinished();else myself.ReportLoadScriptFinished()};this.UnLoad=function(){if(myself.HasStyleSheet)CF.DOM.RemoveElement(myself.StyleSheetLink);for(var key in CF.Package.LoadedPackage)if(CF.Package.LoadedPackage[key]!=null&&CF.Package.LoadedPackage[key].Loaded&&CF.Package.LoadedPackage[key].IsDependOn(myself))CF.Package.LoadedPackage[key].UnLoad();myself.OnUnLoad();myself.Loaded=false}};CF.Package.SwitchLanguage=function(the_selecter){CF.Package.Configuration.Culture=the_selecter.SelectedValue;CF.Cookie.SetCookie("CF.Culture",CF.Package.Configuration.Culture);for(current_Package in CF.Package.LoadedPackage)CF.Package.LoadedPackage[current_Package].UnLoad();CF.Package.LoadUI();CF.Package.LoadedPackage=new Array();if(CF.Package.CurrentPackage!=null){var current_package_name=CF.Package.CurrentPackage.Name;CF.Package.CurrentPackage=null;CF.Package.Load(current_package_name)}};CF.Package.ResourceUrl=function(resource_name){return CF.Package.Configuration.ResourcePrefix+resource_name};CF.Package.LoadedPackage=new Array();CF.Package.CurrentPackage=null;CF.Package.Load=function(package_name,on_complete){if(CF.Package.LoadedPackage[package_name]==null)(new CF.Package(package_name)).Load(on_complete);else CF.Package.LoadedPackage[package_name].Load(on_complete)};CF.Package.AdaptSignIn=function(){for(current_Package in CF.Package.LoadedPackage)if(CF.Package.LoadedPackage[current_Package].MembershipSensitive)CF.Package.LoadedPackage[current_Package].SignIn()};CF.Package.IsPackageLoaded=function(package_name){return CF.Package.LoadedPackage[package_name]==null?false:true};CF.Package.Feature=0x01;CF.Package.Engine=0x02;CF.Package.Kernal=0x04;

CF.Package.Configuration = {};
CF.Package.Configuration.AnimationSeedLevel0 = CF.IsOpera ? 50 : (CF.IsSafari ? 50 : (CF.IsFirefox ? 50 : 25));
CF.Package.Configuration.AnimationSeedLevel1 = CF.IsOpera ? 100 : (CF.IsSafari ? 100 : (CF.IsFirefox ? 100 : 100));
CF.Package.Configuration.AnimationSeedLevel2 = CF.IsOpera ? 125 : (CF.IsSafari ? 125 : (CF.IsFirefox ? 125 : 150));
CF.Package.Configuration.AnimationSeedLevel3 = CF.IsOpera ? 150 : (CF.IsSafari ? 150 : (CF.IsFirefox ? 150 : 200));
CF.Package.Configuration.SiteRoot = "/";
CF.Package.Configuration.ResourcePrefix = "/Resource/";
CF.Package.Configuration.Culture = CF.Cookie.GetCookie("CF.Culture") != null && /^[a-z]{1,3}\-[A-Z]{1,3}$/.test(CF.Cookie.GetCookie("CF.Culture")) ? CF.Cookie.GetCookie("CF.Culture") : "en-US";
CF.Package.Configuration.GlobalFont = "Arial";
CF.Package.Configuration.AjaxHandler = "/Deployed.Ajax.ashx";
CF.Package.Configuration.IsDebug = false;
CF.Package.UI = [];
CF.Package.LoadUI = function(){};
CF.Package.PackageMap = {};
CF.Package.PackageMap["AffiliatesLink"] = { Type :2,Dependency : ["Element"],Handler : "/Resource/AffiliatesLink.xml"};
CF.Package.PackageMap["Blog"] = { Type :1,Dependency : ["Element","Form","Form.TextBox","Form.CheckBox","Form.DropdownList","Form.TextField","Form.LiteEditor","Form.PageNavigator","Form.TabPanel","Emotion","Page","Dialog","Membership"],Handler : {"en-US":"/Resource/Blog.en-US.xml","zh-CN":"/Resource/Blog.zh-CN.xml"}};
CF.Package.PackageMap["Dialog"] = { Type :2,Dependency : ["Element"],Handler : {"en-US":"/Resource/Dialog.en-US.xml","zh-CN":"/Resource/Dialog.zh-CN.xml"}};
CF.Package.PackageMap["Element"] = { Type :2,Dependency : [],Handler : "/Resource/Element.xml"};
CF.Package.PackageMap["Emotion"] = { Type :2,Dependency : ["Form","Form.TabPanel","Form.ScrollPanel","Form.LoadingPanel"],Handler : {"zh-CN":"/Resource/Emotion.zh-CN.xml","en-US":"/Resource/Emotion.en-US.xml"}};
CF.Package.PackageMap["Form.CheckBox"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.CheckBox.xml"};
CF.Package.PackageMap["Form.CodePanel"] = { Type :2,Dependency : ["Form","Form.CheckBox","Form.TextBox","Form.DropdownList"],Handler : {"en-US":"/Resource/Form.CodePanel.en-US.xml","zh-CN":"/Resource/Form.CodePanel.zh-CN.xml"}};
CF.Package.PackageMap["Form.CollapsiblePanel"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.CollapsiblePanel.xml"};
CF.Package.PackageMap["Form.ColorBox"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.ColorBox.xml"};
CF.Package.PackageMap["Form.ColorPicker"] = { Type :2,Dependency : ["Form","Form.TrackBar","Form.TextBox"],Handler : "/Resource/Form.ColorPicker.xml"};
CF.Package.PackageMap["Form.DatetimePicker"] = { Type :2,Dependency : ["Form"],Handler : {"en-US":"/Resource/Form.DatetimePicker.en-US.xml","zh-CN":"/Resource/Form.DatetimePicker.zh-CN.xml"}};
CF.Package.PackageMap["Form.DropdownList"] = { Type :2,Dependency : ["Form","Form.ScrollPanel"],Handler : "/Resource/Form.DropdownList.xml"};
CF.Package.PackageMap["Form.ImagePanel"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.ImagePanel.xml"};
CF.Package.PackageMap["Form.LiteEditor"] = { Type :2,Dependency : ["Form","Form.CheckBox","Form.TextBox","Form.DropdownList","Form.ImagePanel","Form.RadioGroup","Form.CodePanel","Form.UploadPanel","Form.TextField","Form.TabPanel","Form.ColorBox"],Handler : {"en-US":"/Resource/Form.LiteEditor.en-US.xml","zh-CN":"/Resource/Form.LiteEditor.zh-CN.xml"}};
CF.Package.PackageMap["Form.LoadingPanel"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.LoadingPanel.xml"};
CF.Package.PackageMap["Form.PageNavigator"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.PageNavigator.xml"};
CF.Package.PackageMap["Form.RadioGroup"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.RadioGroup.xml"};
CF.Package.PackageMap["Form.ScrollBar"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.ScrollBar.xml"};
CF.Package.PackageMap["Form.ScrollPanel"] = { Type :2,Dependency : ["Form","Form.ScrollBar"],Handler : "/Resource/Form.ScrollPanel.xml"};
CF.Package.PackageMap["Form.TabPanel"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.TabPanel.xml"};
CF.Package.PackageMap["Form.TagBox"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.TagBox.xml"};
CF.Package.PackageMap["Form.TextBox"] = { Type :2,Dependency : ["Form"],Handler : {"en-US":"/Resource/Form.TextBox.en-US.xml","zh-CN":"/Resource/Form.TextBox.zh-CN.xml"}};
CF.Package.PackageMap["Form.TextField"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.TextField.xml"};
CF.Package.PackageMap["Form.TrackBar"] = { Type :2,Dependency : ["Form"],Handler : "/Resource/Form.TrackBar.xml"};
CF.Package.PackageMap["Form.UploadPanel"] = { Type :2,Dependency : ["Form"],Handler : {"en-US":"/Resource/Form.UploadPanel.en-US.xml","zh-CN":"/Resource/Form.UploadPanel.zh-CN.xml"}};
CF.Package.PackageMap["Form"] = { Type :2,Dependency : ["Element"],Handler : "/Resource/Form.xml"};
CF.Package.PackageMap["Matrix"] = { Type :2,Dependency : ["Element"],Handler : "/Resource/Matrix.xml"};
CF.Package.PackageMap["MD5"] = { Type :2,Dependency : [],Handler : "/Resource/MD5.xml"};
CF.Package.PackageMap["Membership"] = { Type :2,Dependency : ["Form","Form.TabPanel","Form.TextBox","Form.RadioGroup","Form.DropdownList","Dialog","Page"],Handler : {"en-US":"/Resource/Membership.en-US.xml","zh-CN":"/Resource/Membership.zh-CN.xml"}};
CF.Package.PackageMap["Page"] = { Type :2,Dependency : ["Element","Dialog"],Handler : {"zh-CN":"/Resource/Page.zh-CN.xml","en-US":"/Resource/Page.en-US.xml"}};
CF.Package.PackageMap["Storage"] = { Type :2,Dependency : [],Handler : "/Resource/Storage.xml"};
CF.Package.PackageMap["XIME.LargeWordLibrary"] = { Type :2,Dependency : [],Handler : "/Resource/XIME.LargeWordLibrary.xml"};
CF.Package.PackageMap["XIME.SmallWordLibrary"] = { Type :2,Dependency : [],Handler : "/Resource/XIME.SmallWordLibrary.xml"};
CF.Package.PackageMap["XIME"] = { Type :2,Dependency : [],Handler : "/Resource/XIME.xml"};

