﻿if(typeof(CFWI)==='undefined'||!CFWI){
	var CFWI={};	
}
CFWI.Controls={
	Common:function(){
		var m_webservice,m_completed,m_timedout,m_error,m_params;
		return {
			GetParameters:function(){
				return m_params;
			},
			SetParameters:function(params){
				if(typeof(params)!=='undefined'&&params!==null){
					m_params=params;
				}
			},
			GetWebService:function(){
				return m_webservice;
			},
			SetWebService:function(wsref){
				if(typeof(wsref)==='function'){
					m_webservice = wsref;
				}
			},
			GetCount:function(c){
				var m_container=c?(typeof(c)==='string')?$get(c):(typeof(c)==='object'&&c!==null)?c:null:null;
				var aI,aS,aT,item,qs='';
				function m_ParseParamName(id,val){
					var ri=null;
					if(typeof(id)!=='undefined'&&id!==null){
						if(id.indexOf(val)>-1){
							ri=id.substring((id.indexOf(val)+(val.length)),id.length);
						}
					}
					return ri;
				}
				function m_BuildParams(collection,T,prefix){
					var ri=false,li=null,param=null,t=T?T.toString().toLowerCase():null,p=prefix?prefix:'cbx';
					if(t!==null){
						if(typeof(collection)!=='undefined'&&collection!==null){
							if(collection.length > 0){
								for(var i=0;i<collection.length;i++){
									li=collection[i];
									switch(t){
										case 'input':
											if(li.type==='text'){
												if(li.id.indexOf('txt')>-1 && li.value.length > 0){
													param=m_ParseParamName(li.id,'txt');
													if(param!==null){ 
														val=li.value;
														if(li.id.toLowerCase().indexOf('price')>-1){
															val=li.value.replace(/\$/g,'').replace(/,/g,'');
														}
														param+='='+val;
													}
												}
											}else if(li.type==='checkbox'){
												if(li.id.indexOf(p)>-1 && li.checked){
													param=m_ParseParamName(li.id,p);
													if(param!==null){ param+='='+li.value; }
												}
											}else if(li.type==='radio'){
											
											}
											break;
										case 'select':
											if(li.type==='select-one'){
												if(li.id.indexOf('ddl')>-1 && li.options[li.selectedIndex].value!==''){
													param=m_ParseParamName(li.id,'ddl');
													if(param!==null){ param+='='+li.options[li.selectedIndex].value; }
												}
											}else if(li.type==='select-multiple'){
											
											}
											
											break;
										case 'textarea':
											if(li.id.indexOf('txt')>-1 && li.value.length > 0){
												param=m_ParseParamName(li.id,'txt');
												if(param!==null){ param+='='+li.value; }
											}
											break;
									}
									if(param!==null){
										if(qs.length===0){
											qs=param;
										}else{
											qs+='&'+param;
										}
									}
									param=null;
								}
							}
							ri = true;
						}
					}
					return ri;
				}
				if(m_container!==null&&typeof(m_container)!=='undefined'){
					aI=m_container.getElementsByTagName('input');
					aS=m_container.getElementsByTagName('select');
					aT=m_container.getElementsByTagName('textarea');
					m_BuildParams(aI,'input');
					m_BuildParams(aS,'select');
					m_BuildParams(aT,'textarea');
					this.SetParameters(qs);
					var oWS = this.GetWebService();
					oWS.GetListingCount(qs, CFWI_GetCount_Completed, CFWI_GetCount_Error, CFWI_GetCount_TimedOut);	
				}
			}
		}
	}()
};