//
function trim(str,chars){
    return ltrim(rtrim(str, chars), chars);
}
function ltrim(str,chars){
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
function rtrim(str,chars){
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
//
function wopen(url,name,w,h){    
    w+=32;
    h+=96;
    wleft = (screen.width-w)/2;
    wtop = (screen.height-h)/2;    
    if(wleft<0){
       w = screen.width;
       wleft = 0;
    }
    if(wtop<0){
       h = screen.height;
       top = 0;
    }
    var win = window.open(url,name,'width='+w+',height='+h+','+'left='+wleft+',top='+wtop+','+'location=no,menubar=no,'+'status=no,toolbar=no,scrollbars=yes,resizable=yes');    
    win.resizeTo(w,h);    
    win.moveTo(wleft,wtop);
    win.focus();
}
//     
function setPointerCur(obj){
    obj.style.cursor='pointer'; 
}    
//
function setColor(obj,clr){
    obj.style.backgroundColor = clr;
}
// util func - dojo & dijit!
function initWPage(){
    dojo.parser.parse();
    dojo.fadeOut({node:"overlay",onEnd:function(){dojo.style("overlay","display","none");}}).play();
}
function showLoadIndicator(divId,iSrc){
    //if(dijit)dijit.byId(divId).setContent('<div><image src="img/ajax-loader.gif"></div>');      
    if(dijit)dijit.byId(divId).setContent('<div><image src="' + iSrc +'"></div>');      
}
// site search
// google engine init
function initSiteSearchEngine(site,resDiv,navDiv){        
    //
    ws = new google.search.WebSearch();   
    ws.setNoHtmlGeneration();
    ws.setSiteRestriction(site);
    ws.setResultSetSize(google.search.Search.LARGE_RESULTSET);     
    ws.setSearchCompleteCallback(null, function(w){                                
    var results = dijit.byId(resDiv).domNode;                            
    if(!w.results){return;}
    results.innerHTML = "";                                                                   
    var sRes = "";    
    for(var i=0,len=w.results.length; i<len; i++){            
        var r = w.results[i];                
        sRes = sRes + "<tr><td>" + 
               "<div><a href='" + r.url + "' target='_blank'>"  + r.title + "</a></div>" +
               "<div class='gs-snippet'>" + r.content + "</div>" + "</td></tr>";        
        /*var rrr= "";
        for(var i in r) rrr += "ONAME" + "." + i + " = " + r[i] + "<br/>";
        alert(rrr);*/
    }   
    results.innerHTML = "<table cellpadding='0' cellspacing='0' class='results-table'>" + sRes + "</table>";       
    //http://www.google.com/uds/css/gsearch_green.csshttp://www.google.com/uds/css/gsearch.css
    var cursor = dijit.byId(navDiv).domNode;        
    cursor.innerHTML = "";
    if(w.cursor && cursor){
        var cn = dojo.doc.createElement("div");
        cn.className = "gsc-cursor";
        var label = dojo.doc.createElement("span");
        label.innerHTML = "";
        //label.innerHTML = "" + w.cursor.estimatedResultCount;
        //label.innerHTML = "Pages:";
        label.className = "gsc-label";
        cn.appendChild(label);
        for(var i=0,len=w.cursor.pages.length;i<len;i++){
            //var pn = dojo.doc.createElement("div");
            var pn = dojo.doc.createElement("span");                           
            pn.className = "gsc-cursor-page";
            if(i == w.cursor.currentPageIndex){pn.className += " gsc-cursor-current-page";}
            //pn.innerHTML = '<b>' + w.cursor.pages[i].label + '</b>';
            pn.innerHTML = w.cursor.pages[i].label;
            pn.idx = i;
            dojo.connect(pn, "onclick", function(evt){ws.gotoPage(evt.target.idx);});
            cn.appendChild(pn);
        }
        // next 
        if(len-1!=w.cursor.currentPageIndex){
          var lpn = dojo.doc.createElement("span");                           
          lpn.className = "gsc-cursor-next";
          lpn.innerHTML = ">";
          lpn.idx = w.cursor.currentPageIndex+1;
          dojo.connect(lpn, "onclick", function(evt){ws.gotoPage(evt.target.idx);});
          cn.appendChild(lpn);        
        }
        // end next        
        cursor.appendChild(cn);
    } 
    },[ws]);                        
}
// site search - move to lib 
function executeGlobalSiteSearch(sVal){               
    // google impl                    
    //ws.execute(sVal);    
     //new1
    ws.execute(sVal);
}
// 
function showGoogleMap(mCanvas,gLatLng){            
    //                                
    if(mCanvas){
       if(GBrowserIsCompatible()){
           // new
          var mapOptions = {googleBarOptions:{style : "new"}};
          var map = new GMap2(mCanvas); 
          //var map = new GMap2(document.getElementById("map_canvas"),{size: new GSize(400,299)});                                        
          map.setCenter(gLatLng,12);                                                                                         
          // zoom enabling
          map.enableScrollWheelZoom();                    
          //map.addControl(new GSmallMapControl());
          //map.addControl(new GMapTypeControl());                                                
          map.setUIToDefault();                                        
          map.enableGoogleBar();                    
       }
    }
}

