TaggingUtils={};if(!window.TaggingOptions){var TaggingOptions={};};if(!TaggingOptions.strings){TaggingOptions.strings={};};TaggingUtils.sUserAgent=navigator.userAgent;TaggingUtils.fAppVersion=parseFloat(navigator.appVersion);TaggingUtils.isOpera=TaggingUtils.sUserAgent.indexOf("Opera")>-1;TaggingUtils.isSafari=TaggingUtils.sUserAgent.indexOf("Safari")>-1;TaggingUtils.isIE=TaggingUtils.sUserAgent.indexOf("compatible")>-1&&TaggingUtils.sUserAgent.indexOf("MSIE")>-1&&!TaggingUtils.isOpera;TaggingUtils.isMinIE4=TaggingUtils.isMinIE5=TaggingUtils.isMinIE5_5=TaggingUtils.isMinIE6=false;TaggingUtils.ascii="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";TaggingUtils.diacritics="%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%A8%C3%A9%C3%AA%C3%AB%C3%AC%C3%AD%C3%AE%C3%AF%C3%B0%C3%B1%C3%B2%C3%B3%C3%B4%C3%B5%C3%B6%C3%B9%C3%BA%C3%BB%C3%BC%C3%BD%C3%BF%C3%80%C3%81%C3%82%C3%83%C3%84%C3%85%C3%86%C3%87%C3%88%C3%89%C3%8A%C3%8B%C3%8C%C3%8D%C3%8E%C3%8F%C3%90%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%98%C3%99%C3%9A%C3%9B%C3%9C%C3%9D%C3%9F";TaggingUtils.asciiEx=TaggingUtils.ascii+"0123456789-_ ";TaggingUtils.getDocumentCharset=function(){var result=document.charset||document.defaultCharset||document.characterSet;if(result){result=result.toLowerCase();};return result;};TaggingUtils.getAcceptedChars=function(){if(!TaggingUtils.acceptedChars){TaggingOptions.realm=TaggingOptions.realm||"USAmazon";if(TaggingUtils.getDocumentCharset()=="shift_jis"){return TaggingUtils.acceptedChars="";}else{if(TaggingOptions.realm=="USAmazon"||TaggingOptions.realm=="GBAmazon"){TaggingUtils.acceptedChars=TaggingUtils.asciiEx;}else{TaggingUtils.acceptedChars=TaggingUtils.asciiEx+decodeURIComponent(TaggingUtils.diacritics);}}};return TaggingUtils.acceptedChars;};TaggingUtils.validateKanji=function(c){return(0x4e00<=c&&c<=0x9fa5)||(0x3005<=c&&c<=0x3007);};TaggingUtils.validateHiragana=function(c){return(0x3040<=c&&c<=0x309e);};TaggingUtils.validateKatakana=function(c){return(0x30a1<=c&&c<=0x30fe)||(0xff66<=c&&c<=0xff9d);};TaggingUtils.validateJP=function(c){if(TaggingUtils.asciiEx.indexOf(c)+1)return true;c=c.charCodeAt(0);if(c==0x30fb||c==0x301c)return true;return TaggingUtils.validateKanji(c)||TaggingUtils.validateHiragana(c)||TaggingUtils.validateKatakana(c);};if(TaggingUtils.isIE){var reIE=new RegExp("MSIE (\\d+\\.\\d+);");reIE.test(TaggingUtils.sUserAgent);var fIEVersion=parseFloat(RegExp["$1"]);TaggingUtils.isMinIE4=fIEVersion>=4;TaggingUtils.isMinIE5=fIEVersion>=5;TaggingUtils.isMinIE5_5=fIEVersion>=5.5;TaggingUtils.isMinIE6=fIEVersion>=6.0;};if(TaggingUtils.isOpera){var fOperaVersion;if(navigator.appName=="Opera"){fOperaVersion=TaggingUtils.fAppVersion;}else{var reOperaVersion=new RegExp("Opera (\\d+\\.\\d+)");reOperaVersion.test(TaggingUtils.sUserAgent);fOperaVersion=parseFloat(RegExp["$1"]);};TaggingUtils.isMinOpera4=fOperaVersion>=4;TaggingUtils.isMinOpera5=fOperaVersion>=5;TaggingUtils.isMinOpera6=fOperaVersion>=6;TaggingUtils.isMinOpera7=fOperaVersion>=7;TaggingUtils.isMinOpera7_5=fOperaVersion>=7.5;TaggingUtils.isMinOpera8=fOperaVersion>=8;TaggingUtils.isMinOpera9=fOperaVersion>=9;};TaggingUtils.getClientWidth=function(){var width=0;if(self.innerHeight){width=self.innerWidth;}else if(document.documentElement&&document.documentElement.clientHeight){width=document.documentElement.clientWidth;}else if(document.body){width=document.body.clientWidth;};return width;};TaggingUtils.getClientHeight=function(){var height=0;if(self.innerHeight){height=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){height=document.documentElement.clientHeight;}else if(document.body){height=document.body.clientHeight;};return height;};TaggingUtils.getPageSizeWithScroll=function(){var yWithScroll=0;var xWithScroll=0;if(window.innerHeight&&window.scrollMaxY){yWithScroll=window.innerHeight+window.scrollMaxY;xWithScroll=window.innerWidth+window.scrollMaxX;}else if(document.body.scrollHeight>document.body.offsetHeight){yWithScroll=document.body.scrollHeight;xWithScroll=document.body.scrollWidth;}else{yWithScroll=document.body.offsetHeight;xWithScroll=document.body.offsetWidth;};return{width:xWithScroll,height:yWithScroll};};TaggingUtils.getPageLeft=function(element){element=$(element);if(!element)return 0;var x=0;while(element){if(element.offsetLeft)x+=element.offsetLeft;element=element.offsetParent?element.offsetParent:null;};return x;};TaggingUtils.getPageTop=function(element){element=$(element);if(!element)return 0;var y=0;while(element){if(element.offsetTop)y+=element.offsetTop;element=element.offsetParent?element.offsetParent:null;};return y;};TaggingUtils.getScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;};TaggingUtils.getScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;};TaggingUtils.observe=function(element,name,observer,useCapture){element=$(element);useCapture=useCapture||false;if(element.addEventListener){element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){element.attachEvent('on'+name,observer);}};TaggingUtils.stopObserving=function(element,name,observer,useCapture){element=$(element);useCapture=useCapture||false;if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element.detachEvent){element.detachEvent('on'+name,observer);}};TaggingUtils.remove=function(element){element=$(element);element.parentNode.removeChild(element);};TaggingUtils.replace=function(node,newNode){node=$(node);newNode=$(newNode);var parent=node.parentNode;parent.replaceChild(newNode,node);};TaggingUtils.isParent=function(nodeParent,node){var parent=node.parentNode;while(parent){if(parent==nodeParent){return true;};parent=parent.parentNode;};return false;};TaggingUtils.getParent=function(node,type){node=$(node);if(!node)return null;var parent=node.parentNode;if(type)type=type.toLowerCase();while(parent&&type&&parent.nodeName.toLowerCase()!=type){parent=parent.parentNode;};return parent;};TaggingUtils.firstChild=function(element,type,name){var elem=$(element).firstChild;if(name){name=name.toUpperCase();};if(type&&type!=1){while(elem&&elem.nodeType!=type){elem=elem.nextSibling;}}else{if(name){while(elem&&(elem.nodeType!=1||(elem.nodeType==1&&elem.nodeName.toUpperCase()!=name))){elem=elem.nextSibling;}}else{while(elem&&elem.nodeType!=1){elem=elem.nextSibling;}}};return elem;};TaggingUtils.nextSibling=function(element,type,name){var elem=$(element).nextSibling;if(name){name=name.toUpperCase();};if(type&&type!=1){while(elem&&elem.nodeType!=type){elem=elem.nextSibling;}}else{if(name){while(elem&&(elem.nodeType!=1||(elem.nodeType==1&&elem.nodeName.toUpperCase()!=name))){elem=elem.nextSibling;}}else{while(elem&&elem.nodeType!=1){elem=elem.nextSibling;}}};return elem;};TaggingUtils.prevSibling=function(element,type,name){var elem=$(element).previousSibling;if(name){name=name.toUpperCase();};if(type&&type!=1){while(elem&&elem.nodeType!=type){elem=elem.previousSibling;}}else{if(name){while(elem&&(elem.nodeType!=1||(elem.nodeType==1&&elem.nodeName.toUpperCase()!=name))){elem=elem.previousSibling;}}else{while(elem&&elem.nodeType!=1){elem=elem.previousSibling;}}};return elem;};TaggingUtils.getParentIndex=function(node){var childNodes=node.parentNode.childNodes;var index=0;for(var i=0;i<childNodes.length;i++){if(childNodes[i]==node){return index;};if(childNodes[i].nodeType==1){index++;}};return -1;};TaggingUtils.swapNode=function(node1,node2){if(node1.swapNode){node1.swapNode(node2);}else{var nextSibling1=node1.nextSibling;var nextSibling2=node2.nextSibling;var parentNode1=node1.parentNode;parentNode1.removeChild(node1,true);var parentNode2=node2.parentNode;parentNode2.removeChild(node2,true);parentNode1.insertBefore(node2,nextSibling1);parentNode2.insertBefore(node1,nextSibling2);}};TaggingUtils.findNodes=function(parent,tagName,attrName){var tags=parent.getElementsByTagName(tagName);if(attrName){var result=new Array();for(var i=0;i<tags.length;i++){if(tags[i].getAttribute(attrName)){result.push(tags[i]);}};return result;}else{return tags;}};TaggingUtils.copyObject=function(destination,source){for(property in source){destination[property]=source[property];};return destination;};TaggingUtils.bind=function(fct,object){var __method=fct;return function(){__method.apply(object,arguments);}};TaggingUtils.bindAsEventListener=function(fct,object){var __method=fct;return function(event){return __method.apply(object,[event||window.event]);}};TaggingUtils.getEventPageX=function(evt){if(evt.pageX){return evt.pageX;}else if(evt.clientX){return evt.clientX+TaggingUtils.getScrollLeft();};return 0;};TaggingUtils.getEventPageY=function(evt){if(evt.pageY){return evt.pageY;}else if(evt.clientY){return evt.clientY+TaggingUtils.getScrollTop();};return 0;};TaggingUtils.isLeftClick=function(evt){return((evt.which)&&(evt.which==1))||((evt.button)&&(evt.button==1));};TaggingUtils.getEventKeyCode=function(evt){if(evt.keyCode){return evt.keyCode;}else if(evt.charCode){return evt.charCode;}else if(evt.which){return evt.which;}};TaggingUtils.getEventTarget=function(evt){return evt.target||evt.srcElement;};TaggingUtils.stopEvent=function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}else{event.cancelBubble=true;event.returnValue=false;}};TaggingUtils.trim=function(str){if(str!=null){var s=str.replace(/^\s+/g,"");return s.replace(/\s+$/g,"");}};TaggingUtils.substringEncodedText=function(text,size,addElipses){if(!text||!size){return;};if(text.length<size){return text;};var ll=size;var vizChars=0;var i=0;var ent=false;for(;i<text.length&&vizChars<ll;i++){var c=text.charAt(i);if(c=='&'){ent=true;}else if(c==';'&&ent){ent=false;vizChars++;}else if(!ent){vizChars++;}};return text.substring(0,i)+"...";};TaggingUtils.insertSpaces=function(text,blockSize){if(!text){return;};if(!blockSize){blockSize=20;};if(text.length<blockSize){return text;};var result="";var ent=false;var vizChars=0;for(var i=0;i<text.length;i++){var c=text.charAt(i);if(c==' '){vizChars=0;}else if(c=='&'){ent=true;}else if(c==';'&&ent){ent=false;vizChars++;}else if(!ent){vizChars++;};result=result+c;if(vizChars==blockSize){result=result+" ";vizChars=0;}};return result;};TaggingUtils.sanitizeTag=function(tag){var result='';tag=TaggingUtils.trim(tag);if(tag&&tag.length>0){for(var i=0;i<tag.length;i++){var c=tag.charAt(i);if(TaggingUtils.isValidTagChar(c)){if(c!=' '||(c==' '&&result.charAt(result.length-1)!=' ')){result=result+c;}}else{if(result.charAt(result.length-1)!=' '){result=result+' ';}}}};return TaggingUtils.trim(result);};TaggingUtils.isValidTagChar=function(character){if(TaggingUtils.getDocumentCharset()=="shift_jis")return TaggingUtils.validateJP(character);return TaggingUtils.getAcceptedChars().indexOf(character)>=0;};function $(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')element=document.getElementById(element);if(arguments.length==1)return element;elements.push(element);};return elements;};TaggingUtils.isInArray=function(arr,value){if(!arr||!value)return false;for(var i=0;i<arr.length;i++){if(arr[i]==value){return true;}};return false;};function emptyFunction(){};var TaggingAjax={};TaggingAjax.getTransport=function(){if(window.XMLHttpRequest){return new XMLHttpRequest();}else if(window.ActiveXObject){var MSXML_VERSIONS=new Array('MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP');for(var i=0;i<MSXML_VERSIONS.length;i++){try{return new ActiveXObject(MSXML_VERSIONS[i]);}catch(e){}}}};TaggingAjax.isSupported=TaggingAjax.getTransport()?true:false;TaggingAjax.Request=function(options){this.options=TaggingUtils.copyObject({method:'GET',asynchronous:true,sameInstance:true,parameters:''},options);};TaggingAjax.Request.prototype.responseIsSuccess=function(){return this.transport.status=="undefined"||this.transport.status==0||(this.transport.status>=200&&this.transport.status<300);};TaggingAjax.Request.prototype.responseIsFailure=function(){return !this.responseIsSuccess();};function tEncodeQS(qs){var qs_pairs=qs.split("&"),qs_pair;for(var i=0;i<qs_pairs.length&&(qs_pair=qs_pairs[i].split("="));i++){for(var j=1;j<qs_pair.length;j++)if(!(qs_pair[j].indexOf("%")+1))qs_pair[j]=encodeURIComponent(qs_pair[j]);qs_pairs[i]=qs_pair.join("=");};return qs_pairs.join("&");};TaggingAjax.Request.prototype.makeRequest=function(url){var parameters=tEncodeQS(this.options.parameters||'');try{if(this.options.method=='GET'&&parameters.length>0){if(url.indexOf("?")==-1){url+='?'+parameters;}else{url+='&'+parameters;}};if(this.transport){if(this.options.sameInstance&&this.transport){if(this.transport.readyState!=0&&this.transport.readyState!=4){this.transport.abort();}}}else{this.transport=TaggingAjax.getTransport();};if(!this.transport){return;};if(url.indexOf("?")==-1){url+="?ts="+(new Date()).getTime();}else{url+="&ts="+(new Date()).getTime();};this.transport.open(this.options.method,url,this.options.asynchronous);this.transport.onreadystatechange=TaggingUtils.bind(this.onStateChange,this);this.setRequestHeaders();var body=this.options.postBody?this.options.postBody:parameters;this.timeoutid=setTimeout(TaggingUtils.bind(function(){this.respondToReadyState(5);},this),10000);this.errorFired=false;this.triggeredComplete=false;this.transport.send(this.options.method=='POST'?body:null);}catch(e){if(this.timeoutid){clearTimeout(this.timeoutid);};if(!this.errorFired){(this.options['onError']||emptyFunction)(this.transport);this.errorFired=true;}}};TaggingAjax.Request.prototype.setRequestHeaders=function(){var requestHeaders=new Array();if(this.options.method=='POST'){requestHeaders.push('Content-type','application/x-www-form-urlencoded');if(this.transport.overrideMimeType)requestHeaders.push('Connection','close');};if(this.options.requestHeaders)requestHeaders.push.apply(requestHeaders,this.options.requestHeaders);for(var i=0;i<requestHeaders.length;i+=2)this.transport.setRequestHeader(requestHeaders[i],requestHeaders[i+1]);};TaggingAjax.Request.prototype.onStateChange=function(){var readyState=this.transport.readyState;if(readyState!=1){this.respondToReadyState(this.transport.readyState);}};TaggingAjax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete','Timeout'];TaggingAjax.Request.prototype.respondToReadyState=function(readyState){var event=TaggingAjax.Request.Events[readyState];if(event=='Complete'&&!this.triggeredComplete){if(this.timeoutid){clearTimeout(this.timeoutid);};this.triggeredComplete=true;if(this.responseIsSuccess()){(this.options['on'+this.transport.status]||this.options['onSuccess']||emptyFunction)(this.transport);}else{if(!this.errorFired){(this.options['on'+this.transport.statusText]||this.options['onError']||emptyFunction)(this.transport);this.errorFired=true;}}}else{(this.options['on'+event]||emptyFunction)(this.transport);};if(event=='Complete'){this.transport.onreadystatechange=emptyFunction;}};function TaggingInputKeyDown(evt,allowEnter){var key=TaggingUtils.getEventKeyCode(evt);if(allowEnter==undefined){allowEnter=false;};if(key==13&&allowEnter==false){TaggingUtils.stopEvent(evt);};if(!document.all){if((key==46||key==8||key==9||key==37||key==39||key==35||key==36)){window.taggingAllowKey=true;}}};function TaggingInputKeyPress(evt,allowComma,allowEnter){var key=TaggingUtils.getEventKeyCode(evt);if(allowEnter==undefined){allowEnter=false;};if(!document.all){if(window.taggingAllowKey){window.taggingAllowKey=false;return;}};if(key==13&&allowEnter==false){TaggingUtils.stopEvent(evt);};if(!(key==32||key==45||key==8||(key==13&&allowEnter==true)||(allowComma&&key==','.charCodeAt(0))||TaggingUtils.isValidTagChar(String.fromCharCode(key))>=0||(48<=key&&key<=57)||(65<=key&&key<=90)||key==95||(97<=key&&key<=122))){TaggingUtils.stopEvent(evt);}};function TaggingProcessInput(tagInput){if(tagInput){var tags=tagInput.split(",");var tag="";for(var i=0;i<tags.length;i++){tags[i]=TaggingUtils.trim(tags[i]);if(tags[i]&&tags[i].length>0){var added=false;for(var j=0;j<i;j++){if(tags[j]==tags[i]){added=true;break;}};if(added){continue;};if(tags[i].length>0){if(tag.length!=0){tag+=","+tags[i];}else{tag=tags[i];}}}};return tag;}};function appendTagToString(tag,tagString,deliminator){var tags=tagString.split(deliminator);tag=TaggingUtils.trim(tag).toLowerCase();for(var i=0;i<tags.length;i++){tags[i]=TaggingUtils.trim(tags[i]).toLowerCase();if(tags[i]==tag){return tagString;}};var trimmedTagString=TaggingUtils.trim(tagString);if(trimmedTagString.length==0){return tag;}else{if(trimmedTagString.charAt(trimmedTagString.length-1)==","){return tagString+" "+tag;}else{return tagString+deliminator+" "+tag;}}};function removeTagFromString(tag,tagString,deliminator){var tags=tagString.split(deliminator);var newTagString="";tag=TaggingUtils.trim(tag).toLowerCase();for(var i=0;i<tags.length;i++){var trimmedTag=TaggingUtils.trim(tags[i]).toLowerCase();if(trimmedTag==tag){continue;}else{if(newTagString!=""){newTagString+=deliminator;};newTagString+=tags[i];}};return TaggingUtils.trim(newTagString);};function tagging_AllowEnhancedUI(){return TaggingAjax.isSupported&&((!TaggingUtils.isIE)||(TaggingUtils.isIE&&TaggingUtils.isMinIE5_5))&&((!TaggingUtils.isOpera)||(TaggingUtils.isOpera&&TaggingUtils.isMinOpera8));};



