SQA.Limiter=function(a,b){this.nameValue=a;this.limitTypes=b;this.DOM=document.createElement("div");this.DOM.className="limitBox";YAHOO.util.Dom.generateId(this.DOM,"Limiter");this.id=this.DOM.id;this.limitArray=new Array();this.addLimitType="";this.limitSpace=document.createElement("div");this.limitSpace.className="Limiter_limitSpace";this.addLimitDiv=document.createElement("div");this.addLimitDiv.className="Limiter_addLimit";this.addLimitLabel=document.createElement("label");this.addLimitLabel.appendChild(document.createTextNode("Add limit"));this.addLimitDiv.appendChild(this.addLimitLabel);this.selectLimitType=document.createElement("select");this.selectLimitType.name="limitType";this.addLimitDiv.appendChild(this.selectLimitType);this.limits=[];this.getPossibleLimits(this);this.addButton=document.createElement("span");this.addButton.id=YAHOO.util.Dom.generateId(this.addButton,"addlimit");this.addButton.className="limiter_button";this.addButton.appendChild(document.createTextNode("Add"));this.addLimitDiv.appendChild(this.addButton);this.eraseAll=document.createElement("span");this.eraseAll.id=YAHOO.util.Dom.generateId(this.eraseAll,"eraseLimit");this.eraseAll.className="limiter_button";this.eraseAll.appendChild(document.createTextNode("Remove All"));this.addLimitDiv.appendChild(this.eraseAll);this.reloadSearch=document.createElement("span");YAHOO.util.Dom.generateId(this.reloadSearch,"re");this.reloadSearch.className="limiter_button";this.reloadSearch.appendChild(document.createTextNode("Search Again"));this.addLimitDiv.appendChild(this.reloadSearch);this.reloadTheSearch=new YAHOO.util.CustomEvent("reloadTheSearch");this.DOM.appendChild(this.limitSpace);this.DOM.appendChild(this.addLimitDiv);YAHOO.util.Event.addListener(this.addButton.id,"click",this.createLimitItem,this);YAHOO.util.Event.addListener(this.eraseAll.id,"click",this.removeAllLimits,this);YAHOO.util.Event.addListener(this.reloadSearch.id,"click",function(d,c){c.reloadTheSearch.fire();},this);};SQA.Limiter.prototype.removeAllLimits=function(b,a){for(i in a.limitArray){if(a.limitArray[i]){el=document.getElementById(a.limitArray[i]);if(el){el.parentNode.removeChild(el);}}}a.limitArray=[];YAHOO.util.Connect.asyncRequest("GET","./lib/Limiters/setLimits.php?mode=reset&setName="+a.nameValue,"");};SQA.Limiter.prototype.createLimitItem=function(c,b){if(YAHOO.env.ua.ie>0){for(i=0;i<b.limits.length;i++){if(b.limits[i].selected==true){b.addLimitType=b.limits[i].value;break;}}}var a=new SQA.limitItem(b.addLimitType,false,b.nameValue);b.limitArray.push(a.DOM.id);b.limitSpace.appendChild(a.DOM);a.limitsChanged.subscribe(function(g,f,d){},b);};SQA.Limiter.prototype.getPossibleLimits=function(b){b.addLimitType=b.limitTypes[0];for(i=0;i<b.limitTypes.length;i++){var a=document.createElement("option");a.value=b.limitTypes[i];YAHOO.util.Dom.generateId(a,i+"_");a.appendChild(document.createTextNode(b.limitTypes[i]));b.selectLimitType.appendChild(a);b.limits.push(a);if(YAHOO.env.ua.ie==0){YAHOO.util.Event.addListener(a.id,"click",function(d,c){c.obj.addLimitType=c.el.value;},{obj:b,el:a});}}};SQA.Limiter.prototype.handleAvailable=function(b){var c={success:function(f){if(!(f.responseText=="empty")){var e=f.argument[0];var d=f.responseText.split("\n");for(i in d){record=d[i].split(",");if(record[1]){newLimit=new SQA.limitItem(record[0],record[1],e.nameValue);e.limitArray.push(newLimit.DOM.id);e.limitSpace.appendChild(newLimit.DOM);newLimit.limitsChanged.subscribe(function(j,h,g){},e);}}}},failure:function(d){alert("Error in retrieving data");},argument:[b]};var a=YAHOO.util.Connect.asyncRequest("GET","./lib/Limiters/getLimits.php?type=current&setName="+b.nameValue,c);setTimeout(function(){YAHOO.util.Connect.abort(a);},5000);};SQA.limitItem=function(b,c,a){this.type=b;this.optionValue=c;this.nameValue=a;this.limitValue="";this.DOM=document.createElement("div");YAHOO.util.Dom.generateId(this.DOM,"Limit");this.id=this.DOM.id;this.DOM.className="limitItem";this.firstLimit=document.createElement("select");this.DOM.appendChild(this.firstLimit);this.remove=document.createElement("span");this.remove.className="limiterRemove";this.remove.appendChild(document.createTextNode("Remove"));this.DOM.appendChild(this.remove);this.limitsChanged=new YAHOO.util.CustomEvent("limitsChanged");this.itemlist=[];if(YAHOO.env.ua.ie>0){this.activate=document.createElement("span");YAHOO.util.Dom.generateId(this.activate,"act");this.activate.className="limiterRemove";this.activate.appendChild(document.createTextNode("Activate"));this.DOM.appendChild(this.activate);YAHOO.util.Event.addListener(this.activate.id,"click",this.selectIE,this);}YAHOO.util.Event.addListener(this.remove,"click",this.removeLimit,this);YAHOO.util.Event.onContentReady(this.DOM.id,this.fillItem,this);};SQA.limitItem.prototype.fillItem=function(b){var a="./lib/Limiters/getLimits.php?type=get&firstType="+b.type+"&setName="+b.nameValue;var c={success:function(h){var g=h.argument[0];var e=document.createElement("option");YAHOO.util.Dom.generateId(e,"default");e.value="default";e.selected=(g.optionValue)?false:true;e.appendChild(document.createTextNode("Select One..."));g.firstLimit.appendChild(e);var f=h.responseText.split("\n");for(i in f){var d=f[i].split("%");if(!d[1]==""){var e=document.createElement("option");YAHOO.util.Dom.generateId(e,d[0]);e.value="&type="+g.type+"&value="+d[0];e.appendChild(document.createTextNode(d[1]));e.selected=(g.optionValue==d[0])?true:false;e.className="limitItem_option";g.firstLimit.appendChild(e);g.itemlist[g.itemlist.length]=e;YAHOO.util.Event.addListener(e.id,"click",g.changeSetting,{el:e,obj:g});}}},failure:function(d){alert("Failure in adding limit");},argument:[b]};YAHOO.util.Connect.asyncRequest("GET",a,c);};SQA.limitItem.prototype.selectIE=function(d,c){if(YAHOO.env.ua.ie>0){if(c.limitValue==""){for(i=0;i<c.itemlist.length;i++){if(c.itemlist[i].selected==true){c.limitValue=c.itemlist[i].value;break;}}var b="./lib/Limiters/setLimits.php?mode=set"+c.limitValue+"&setName="+c.nameValue;c.limitsChanged.fire({mode:"set"});YAHOO.util.Connect.asyncRequest("GET",b,null);}else{var a=c.limitValue;a=a.replace("type","oldType");a=a.replace("value","oldValue");for(i=0;i<c.itemlist.length;i++){if(c.itemlist[i].selected==true){c.limitValue=c.itemlist[i].value;break;}}c.limitsChanged.fire({mode:"set"});var b="./lib/Limiters/setLimits.php?mode=change"+a+c.limitValue+"&setName="+c.nameValue;YAHOO.util.Connect.asyncRequest("GET",b,null);}}};SQA.limitItem.prototype.changeSetting=function(d,b){limit=b.obj;option=b.el;if(limit.limitValue==""){var c="./lib/Limiters/setLimits.php?mode=set"+option.value+"&setName="+limit.nameValue;limit.limitValue=option.value;limit.limitsChanged.fire({mode:"set"});YAHOO.util.Connect.asyncRequest("GET",c,"");}else{var a=limit.limitValue;a=a.replace("type","oldType");a=a.replace("value","oldValue");limit.limitValue=option.value;limit.limitsChanged.fire({mode:"set"});var c="./lib/Limiters/setLimits.php?mode=change"+a+option.value+"&setName="+limit.nameValue;YAHOO.util.Connect.asyncRequest("GET",c,"");}};SQA.limitItem.prototype.setValue=function(c,b){var a=YAHOO.util.Dom.getElementsByClassName("limitItem_option","option",c.firstLimit);c.limitValue=b;for(i in a){if(parseInt(a.id)==parseInt(b)){a.selected="selected";c.limitValue=a.value;}else{a.selected="false";}a=a.nextSibling;}};SQA.limitItem.prototype.removeLimit=function(b,a){YAHOO.util.Connect.asyncRequest("GET","./lib/Limiters/setLimits.php?mode=remove"+a.limitValue+"&setName="+a.nameValue);a.limitsChanged.fire({mode:"remove",value:a.id});a.DOM.parentNode.removeChild(a.DOM);};