﻿kit.search = {
	_resultdiv : '',
	getFormParameter : function(formid) {
		var params = "?";
		if( formid != null ) {
			var obj = kit.$id(formid);
			if( obj != null ) {
				for( var i = 0; i < obj.length; i++ ) {
				    var type = obj[i].getAttribute("type");
				    var addParam = true;
				    if( type == "radio" || type == "checkbox" ) {
				        if( obj[i].checked == false )
				            addParam = false;
				    }
				    if( addParam == true ) {
				        params += "&" + encodeURIComponent(obj[i].name) + "=" + encodeURIComponent(obj[i].value);
				    }
				}
			}
		}
		params = params.replace("?&", "?");
		return params;
	},
	jsonpTOdiv : function(url, formIDorURL, divid){
		kit.search._resultdiv = kit.$id(divid);
		
		var param = kit.$id(formIDorURL);
		if( param != null )
			param = kit.search.getFormParameter(formIDorURL);
		else
			param = formIDorURL;
		if(param && param.length > 0)
			param += "&kit_callback=kit.search.resultTOdiv";
		else
			param = "?kit_callback=kit.search.resultTOdiv";
	
		var script = document.createElement("script");
			script.setAttribute("src", param);
			script.type = "text/javascript";
			script.src = url + param;
	
		document.getElementsByTagName('head')[0].appendChild(script);
	},
	resultTOdiv : function(json){
		if( kit.search._resultdiv )
			kit.search._resultdiv.innerHTML = json.icss;
        this.queryFunction(json);
        this.afterResultFunction();
        return false;
    },
    queryFunction : function(json){
    
    },
    afterResultFunction : function(){
    
    },
    validfields : new Array(),
    addvalidfield : function(obj){
        kit.search.validfields.push(obj);
    },
    formEmptyCheck : function( str, bAlert ) {
        
        if (str == null || str == "" || str == kit.lang.required) {
                if( bAlert )
                    alert(kit.lang.required);
                return true;
        }
        return false;
    },
    firstClickProc : function(obj, firstString) {
        if( obj.value == firstString )
            obj.value = '';
    },
    formcheck : function(){

        var mikExp = /[$\\\%\^\(\)\[\]\{\}\`\'\"\~\=\|\>\<]/g;
        
        for(var i = 0 ; i < kit.search.validfields.length; i++){
            var field = kit.search.validfields[i];
            if( field != null ) {
                field.value = field.value.trim();
                if(field.value.search(mikExp) > -1) {
                    alert(kit.lang.invalid);
                    field.value = field.value.replace(mikExp, '');
                    field.focus();
                    return false;
                }
            }
        }
        return true;
    },
    queryString : function(frm){
        
        var qryStr = "";

        for(i=0; i < frm.length; i++){
            if(frm[i].name != "" && frm[i].value != "" ){
                
                try {
                    if ( frm[i].type.toLowerCase() == "checkbox" && frm[i].checked == false ) {
                        continue;
                    }
                } catch(e){}
                
                qryStr = qryStr + frm[i].name + "=" + encodeURIComponent(frm[i].value.stripExceptionChar()) + "&";
            }
        }
        
        return qryStr;
    },
    localLink : function(link){
        var baselink = location.href;
        alert(link.substring(link.indexOf('?'), link.length));
        location.href = baselink.substring(0, baselink.indexOf('?')) + link.substring(link.indexOf('?'), link.length);
    },
    reencode : function(link){

        var relink = '';
        
        var parse = link.split('&');
        
        for(var i=0; i< parse.length; i++){
            var vars = parse[i].split('=');
            if(vars.length == 2){
                
                relink = relink + vars[0] +'='+ encodeURIComponent(vars[1]);
            }else{
                for(var j=0; j < vars.length; j++){
                    relink = relink + vars[j];    
                }
            }
            relink = relink + "&";
        }
        
        return relink;
        
    }
};
	
