/*
|	Tag cloud creator
|
|	Creates tag clouds from JSON string
|	Requires: core.js,connection.js
*/

		//Clouds
		{hp.clouds=function(){
			return {
				create:function(oT) {
					var oR=hp.http.conn();
					hp.http.loading(hp.utils.get(oT));
					oR.open("get","/get/clouds/",true);
					oR.onreadystatechange=function() {
						if (oR.readyState==4) {
							var oResponse=eval("("+oR.responseText+")"),nTotalTags=(oResponse.cloud[1].total),nSize=0,vOutput="";
							oTags=oResponse.cloud[0].tags;
							//loop, size and output
							var nMinSize=100,nMaxSize=200,nSizeSpread=(nMaxSize-nMinSize);(nSizeSpread==0)?nSizeSpread=1:null; // Default font sizes, dont divide by 0
							var nMinCount=(oResponse.cloud[2].min),nMaxCount=(oResponse.cloud[3].max);
							
							//start loop
							for(var i=0;i<oTags.length;i++){
								if(oTags[i].name.trim()!=''){
									nSize=(nMinSize+(oTags[i].count-nMinCount)*(nMaxSize-nMinSize)/nSizeSpread);
									nSize>99?vOutput=vOutput+'<span style="text-transform:capitalize;font-size:'+Math.floor(nSize)+'%;"><a href="javascript:hp.search.tags(\''+oTags[i].name.trim().replace('\\',' ').replace('/',' ')+'\');">'+oTags[i].name+'</a></span>, ':null;
								}
							};
							vOutput=vOutput.substring(0,(vOutput.length-2));
							hp.utils.get(oT).innerHTML=vOutput;
						}
					}
					oR.send(null);
				}
			}
		}()};