/*
 * Ext JS Library 2.2
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */
var centerItem;
var menuHome;
  var tools = [{
        id:'close',
        handler: function(e, target, panel){
            panel.ownerCt.remove(panel, true);
        }
    }];
    

    
function homelayout(){
   
    //Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
    
    switchTheme("1");
    var pagesize = 12;//จำนวนRow/Gride  
    var dorm_name = new Ext.data.Store({
        reader: new Ext.data.JsonReader({
            fields: ['ParamID', 'ParamName'],
            root: 'rows'
        }),
        proxy: new Ext.data.HttpProxy({
            url: '../ConnectServer/ProxyJS.aspx?cm=15'
        }),
        autoLoad: true
    });
    var totals = 0; var SumPage = 0;
    var gStore = new Ext.data.Store({
            reader: new Ext.data.JsonReader({
                root: 'rows',
                totalProperty: 'total',
                idProperty: 'RowNumber'
            },
            //[{ name: 'Select', type: 'bool' }, { name: 'Level', type: 'string' }, { name: 'Room', type: 'string' }, { name: 'Size', type: 'int' }, { name: 'Size1', type: 'string'}]),
             [{ name: 'RowIndex', type: 'int' },{ name: 'RowNumber', type: 'int' }  ,{ name: 'CUSTOMER_ID', type: 'string' },{ name: 'CUSTOMER_NAME', type: 'string' } ,{ name: 'CUSTOMER_NAME_ENG', type: 'string' }
                                      ,{ name: 'HOMECODE', type: 'string' } ,{ name: 'FLOOR', type: 'string'},{ name: 'PREMISE_NAME', type: 'string'} ,{ name: 'SOI', type: 'string'} ,{ name: 'ROAD', type: 'string'},{ name: 'DISTRICT', type: 'string'} 
                                      ,{ name: 'AREA', type: 'string'} ,{ name: 'PROVINCE', type: 'string'},{ name: 'ZIPCODE', type: 'string'} ,{ name: 'PHONE_MAIN', type: 'string'},{ name: 'PHONE', type: 'string'} ,{ name: 'FAX_MAIN', type: 'string'} 
                                      ,{ name: 'WEBSITE', type: 'string'},{ name: 'EMAIL', type: 'string'},{ name: 'LATITUDE', type: 'string'} ,{ name: 'LONGITUDE', type: 'string'} ,{ name: 'PICTURE', type: 'string'},{ name: 'Images_Path', type: 'string'} ]),
            proxy: new Ext.data.HttpProxy({
            url: '../ConnectServer/ProxyJS.aspx?cm=1&id1='
            }),
//            autoLoad: true,
            listeners:{
                load:function(s,a,b)
                {                    
                    var Lat='',Long='',ID=''; var rowNumber ='';
                    var Row = s.getCount();
                    for(var i =0;i<Row;i++)
                    {
                       var Record = s.getAt(i); //alert( Record.data.LATITUDE);
                       Lat += Record.data.LATITUDE!=undefined?Record.data.LATITUDE+',':'';
                       Long += Record.data.LONGITUDE!=undefined?Record.data.LONGITUDE+',':'';
                       ID += Record.data.CUSTOMER_ID!=undefined?Record.data.CUSTOMER_ID+',':'';
                       rowNumber += Record.data.CUSTOMER_ID!=undefined?Record.data.CUSTOMER_ID+',':'';
                    }
                    var cou = Ext.getCmp('pagecount');
                    var total = gStore.reader.jsonData.total;
                    totals = total;
                    //alert(total);
                    SumPage = Math.round(total/10)
                    cou.setText('of '+SumPage ,false);
                    if(s != undefined)
                        AddPackmark(Lat,Long,ID,Row.toString(),s);
                }
            }
        });
        
    function setImage(val,x,store)
    {
        var address = store.data.HOMECODE + " "+ store.data.FLOOR + " "+store.data.PREMISE_NAME + " "+store.data.SOI + " "+store.data.ROAD + " "+store.data.DISTRICT + " "
                      store.data.AREA + " "+store.data.PROVINCE + " "+store.data.ZIPCODE + " " +store.data.PHONE + " "+ store.data.EMAIL;
        var datatext=endatatext(store);
        return '<a onclick="AddPackmarkone(\''+datatext+'\');"><span style="cursor:pointer"><img style="border:0" ID="Image"' + val + '"  src="../../Images/marker'+ val +'.png" /></span></a>';
    }
    function setValueDetail(val,x,store){
        //alert(val);
        var address = store.data.HOMECODE + " "+ store.data.FLOOR + " "+store.data.PREMISE_NAME + " "+store.data.SOI + " "+store.data.ROAD + " "+store.data.DISTRICT + " "
                      store.data.AREA + " "+store.data.PROVINCE + " "+store.data.ZIPCODE + " " +store.data.PHONE + " "+ store.data.EMAIL;
        var datatext=endatatext(store);
        var tt = '<a onclick="AddPackmarkone(\''+datatext+'\');"><span style="color:Blue;font-size: 9pt;cursor:pointer">' + store.data.CUSTOMER_NAME + '<br /></span></a>' +
                     '<span id="adr" class="adr" dir="ltr" style="font: icon">' + address + '</span></td>';
                     //alert(tt);
         return   tt;    
    }
    var gCm = new Ext.grid.ColumnModel([
            {                
                header: "",
                width : 29,
                dataIndex: 'RowIndex',
                renderer: setImage
            }, {
                header: "",
                dataIndex: 'CUSTOMER_ID',
                width : 185,
                renderer: setValueDetail
            }
    ]);
    //gCm.on({'click' : function(){alert("1");}});
    var a = new Ext.form.FormPanel({
                            id: 'company-form',
                            frame: true,
                            labelAlign: 'left',
                            title: 'ค้นหาข้อมูลธุรกิจ',
                            margins:'0 0 0 0', 
                            bodyStyle:'padding:5px',
                            width: 150,
                            layout: 'column',	// Specifies that the items will now be arranged in columns
                            bbar: [{
                               text: '',
                               icon: '../../Images/page-first.gif',
                               cls:'x-btn-text-icon',
                               handler:function()
                               {
                                        var Page = Ext.getCmp('txtCountpageongride').getValue();
                                        var PageNext = parseInt(Page);
                                        //var PageNexts = PageNext * 10;
                                        if( Page > 1 ){
                                        var bLast = pagesize;
                                        var bFirst = 1;
                                        var loadfirstgride = Ext.getCmp('txtCountpageongride');
                                        loadfirstgride.setValue(bFirst);        
                                        var text = a.findById('txtSearch').getValue();
                                        var group = a.findById('group').getValue();
                                        var group_text = a.findById('group').getRawValue();
                                        var name = Ext.getCmp('bGrid');
                                        name.store.proxy = new Ext.data.HttpProxy({
                                            url: '../ConnectServer/ProxyJS.aspx?cm=1&id1=' + EncodeUrl(text)+'&id2=' + bFirst + '&id3=' + bLast 
                                        });
                                        gStore.load();  }
                               }
                            },{
                               icon: '../../Images/page-prev.gif',
                               cls:'x-btn-text-icon',
                               handler:function()
                               { 
                                        var Page = Ext.getCmp('txtCountpageongride').getValue();
                                        var PageNext = parseInt(Page) - 1;
                                        if(PageNext > 0)
                                        {
                                            var loadfirstgride = Ext.getCmp('txtCountpageongride');
                                            loadfirstgride.setValue(PageNext);
                                            var PageNexts = PageNext * pagesize;
                                            var bLast = PageNexts;
                                            var bFirst = PageNexts - (pagesize-1);        
                                            var text = a.findById('txtSearch').getValue();
                                            var group = a.findById('group').getValue();
                                            var group_text = a.findById('group').getRawValue();
                                            var name = Ext.getCmp('bGrid');
                                            name.store.proxy = new Ext.data.HttpProxy({
                                                url: '../ConnectServer/ProxyJS.aspx?cm=1&id1=' + EncodeUrl(text)+'&id2=' + bFirst + '&id3=' + bLast 
                                            });
                                            gStore.load();
                                        }
                               }
                            },
                            {
                               text: 'Page'
                            },
                            {
                            id : 'txtCountpageongride',
                            xtype: 'textfield',
                            width: 40
                            },
                            {
                               id : 'pagecount',
                               text: 'of '+ gStore.getCount()/10
                            },
                            {
                               text: '',
                               icon: '../../Images/page-next.gif',
                               cls:'x-btn-text-icon',
                               handler:function()
                               {         
                                        var Page = Ext.getCmp('txtCountpageongride').getValue();
                                        var PageNext = parseInt(Page) + 1;
                                        if( Page < SumPage ){
                                        var loadfirstgride = Ext.getCmp('txtCountpageongride');
                                        loadfirstgride.setValue(PageNext);
                                        var PageNexts = PageNext * pagesize;
                                        var bLast = PageNexts;
                                        var bFirst = PageNexts - (pagesize-1);
                                        //alert(bFirst+' '+bLast);           
                                        var text = a.findById('txtSearch').getValue();
                                        var group = a.findById('group').getValue();
                                        var group_text = a.findById('group').getRawValue();
                                        var name = Ext.getCmp('bGrid');
                                        name.store.proxy = new Ext.data.HttpProxy({
                                            url: '../ConnectServer/ProxyJS.aspx?cm=1&id1=' + EncodeUrl(text)+'&id2=' + bFirst + '&id3=' + bLast 
                                        });
                                        gStore.load();   }                                
                               }
                            },{
                               icon: '../../Images/page-last.gif',
                               cls:'x-btn-text-icon',
                               handler:function()
                               {
                                        var Page = Ext.getCmp('txtCountpageongride').getValue();
                                        //var PageNext = SumPage;
                                        if( Page < SumPage){
                                        var loadfirstgride = Ext.getCmp('txtCountpageongride');
                                        loadfirstgride.setValue(SumPage);
                                        //var PageNexts = PageNext * 10;
                                        var bLast = totals;
                                        var bFirst = totals - (pagesize-1);
                                        //alert(bFirst+' '+bLast);           
                                        var text = a.findById('txtSearch').getValue();
                                        var group = a.findById('group').getValue();
                                        var group_text = a.findById('group').getRawValue();
                                        var name = Ext.getCmp('bGrid');
                                        name.store.proxy = new Ext.data.HttpProxy({
                                            url: '../ConnectServer/ProxyJS.aspx?cm=1&id1=' + EncodeUrl(text)+'&id2=' + bFirst + '&id3=' + bLast 
                                        });
                                        gStore.load(); }
                               }
                            }
                            ]
                            ,
                            items: [{
                                //columnWidth: 30,                
                                xtype: 'label', 
                                layout: 'fit',    
                                text: 'Search',
                                width: 40      
                            },{
                                                               
                                xtype: 'textfield',
                                id: 'txtSearch', 
                                layout: 'fit',
                                fieldLabel: 'Name1',
                                width: 132,
                                allowBlank:false
                            },{
        	                    //columnWidth: 20,        	                    
                                xtype: 'button', 
                                layout: 'fit',    
                                text: 'ค้นหา' , 
                                width: 50,
                                listeners:{
                                    click: function(b,e){                           
                                        var text = a.findById('txtSearch').getValue();
                                        if(text != ''){
                                        var group = a.findById('group').getValue();
                                        var group_text = a.findById('group').getRawValue();
                                        var loadfirstgride = Ext.getCmp('txtCountpageongride');
                                        loadfirstgride.setValue('1');
                                        var name = Ext.getCmp('bGrid');
                                        name.store.proxy = new Ext.data.HttpProxy({
                                            url: '../ConnectServer/ProxyJS.aspx?cm=1&id1=' + EncodeUrl(text)+'&id2=1&id3='+pagesize+'' 
                                        });
                                        gStore.load(); }                                  
                                    }
                                }                               
                            },{
                                //columnWidth: 0.4,                                
                                xtype: 'label', 
                                layout: 'fit',
                                text: 'By' ,
                                width: 40          
                            },{
                                //columnWidth: 0.6,                                
                                xtype: 'combo',
                                layout: 'fit',
                                fieldLabel: '',
                                typeAhead: true,
                                id: 'group',
                                name: 'Name',
                                mode: 'remote', 
                                loadingText: 'รอสักครู่...',
                                store: dorm_name,
                                displayField: 'ParamName',
                                valueField: "ParamID",
                                triggerAction: 'all',
                                forceSelection: true,
                                width: 180                            
                            },{
                                xtype: 'editorgrid',                                
                                id: 'bGrid',
                                title: '',
                                store: gStore,
                                cm: gCm,
                                height: 525,
                                width: 230,
                                frame: true,                                                        
                                loadMask: { msg: 'กรุณารอสักครู่...' },
                                sm: new Ext.grid.RowSelectionModel({
                                    singleSelect: true,
                                    listeners: {
                                        rowselect: function(sm, row, rec) {
                                            //setValue(rec);
                                        }
                                    }
                                }),
                                listeners: {
                                    render: function(g) {
                                        g.getSelectionModel().selectRow(0);
                                        
                                    },
                                    delay: 10 // Allow rows to be rendered.                                    
                                }
                            }]
                       });
   var tabs2 = new Ext.TabPanel({
        renderTo: document.body,
        activeTab: 0,
        width:280,
        height:650,
        //autoHeight: true,
        plain:true,
        defaults:{autoScroll: true},
        items:[{
                    title:'เมนูหลัก',
                    //width: 250,
                    layout:'accordion',
                    margins:'0 0 0 0', 
                    layoutConfig:{
                    animate:true
                    },
                    items: this.menuHome
                },useful //loginPanel
                , a
                 ]
    });

    var viewport = new Ext.Viewport({
        layout:'border',
        items:[
        {
            region:'north', 
            id:'north-panel',
            //split:true,
            height : 60,
            minSize: 60,
            maxSize: 60,           
            style:'padding:0px 0px 0px 0px',                   
            html: '<iframe id="test" src="../Header/Header2.aspx" width="100%" height="100%" scrolling="no" frameborder="0"></iframe>',           
            //collapsible: true,
            margins:'0 0 0 0',
            layoutConfig:{
                animate:true
            },
            layout:'accordion'
        },
        { 
            region:'west',
            id:'west-panel',
            //title:'Nextw@ver',
            width: 250,
            //layout:'fix',
            //split:true, 
            iconCls:'network',          
            minSize: 250,
            maxSize: 250,
            margins:'0 0 0 0', 
            layoutConfig:{
            animate:true
            },
            items: tabs2 
            
//            [
//                {
//                    //title:'Nextw@ver',
//                    //width: 250,
//                    layout:'accordion',
//                    margins:'0 0 0 0', 
//                    layoutConfig:{
//                    animate:true
//                    },
//                    items:this.menuHome
//                },
//                loginPanel,
//                {
//                    title: 'สถิติผู้เข้าชม', 
//                    height : 200,
//                    style:'padding:2px 2px 2px 2px',                                   
//                    frame:true,                            
//                    html: ''
//                }               
//            ]
            //items:this.menuHome
            //items:treeTemp
        },
        {
            region:'center', 
            id:'center-panel',
            split:true,
            height : 60,
            minSize: 60,
            maxSize: 60,
            margins:'0 0 0 0',
            layout:'fit',
            items:[  new Ext.TabPanel({
            
                        region:'center',
                        id:'tabinfomation',
                        deferredRender:false,
                        enableTabScroll:true, 
                        //plugins: new Ext.ux.TabCloseMenu(),
                        activeTab:0,                   
                        items:
                        [{
                            xtype:'portal',                                   
                            layout: 'column',
                            region:'center',
                            margins:'5 5 5 0',
                            iconCls:'ihome',
                            title: 'Home', 
                            //autoHeight: true,
                            autoWidth : true,
                            html: '<iframe id="Map" name="Map" src="../../Gmap/Default.aspx?Lat=&Lng=&ID=&r=0" width="100%" height="100%" scrolling="no" frameborder="0"></iframe>'
                      }]
                   
          })]
       }
   ]});    
    
//     var w = Ext.getCmp('west-panel');   
//     w.expand(); 
//gStore.load();
}


function Redirect()
{
    window.location.href = '../main/main.aspx';
}

function ASDF(text)
{
alert(text);
}




//function showballoon(point1,point2,text){
//var point=point1+','+point2;
//var marker1 = new GMarker(point);
//marker1.openInfoWindowHtml(point,text);
//}

function AddPackmark(Lat,Long,ID,row,store)
{
 //alert(store);
 if (window.frames != null) { 
                    for (i = 0; i < window.frames.length; i++) {                        
                        if (window.frames[i].name == 'Map') {
                            var emFrame = window.frames[i];
                            //alert('ss?Lat='+Lat+'&Lng='+Long+'&ID='+ID+'&r='+row);
                             emFrame.window.LOAD('ss?Lat='+Lat+'&Lng='+Long+'&ID='+ID+'&r='+row,store);
                           }
                        }
                    }
}

function endatatext(store){
var record = store;
var datatext="";
var ImagesPath =""; var tagEmail =""; var tagWebsite=""; var tagPhone =""; var tagHomeCode ="";
          if(record.data.Images_Path == ""){ImagesPath = ""; }else{ImagesPath = record.data.Images_Path;}
          if(record.data.EMAIL == ""){tagEmail = ""; }else{tagEmail = record.data.EMAIL;}
          if(record.data.WEBSITE == ""){tagWebsite = ""; }else{tagWebsite = record.data.WEBSITE;}
          if(record.data.PHONE_MAIN == ""){tagPhone = ""; }else{tagPhone = record.data.PHONE_MAIN;}
          if(record.data.HOMECODE == "" && record.data.FLOOR == "" && record.data.PREMISE_NAME == "" && record.data.ROAD == "")
          {tagHomeCode = ""; }else{tagHomeCode = record.data.HOMECODE+" "+record.data.FLOOR+" "+record.data.PREMISE_NAME+" "+record.data.SOI+" "+record.data.ROAD;}
datatext = record.data.LATITUDE+ ',' +record.data.LONGITUDE+ ",:::" +record.data.CUSTOMER_NAME+":::"+tagHomeCode+
                                     ":::"+record.data.DISTRICT+":::"+record.data.AREA+":::"+record.data.PROVINCE+":::"+record.data.ZIPCODE+":::"+
                                     ":::"+tagPhone+":::"+tagWebsite+":::"+tagEmail+":::"+ImagesPath+":::";
return datatext;
}

function gettextballoon(datatext){
var record = datatext.split(":::");
datatext="";
var ImagesPath =""; var tagEmail =""; var tagWebsite=""; var tagPhone =""; var tagHomeCode ="";
          if(record[10] == ""){ImagesPath = ""; }else{ImagesPath = "<td style='width: 100px'><img src="+record[10] +" style='width: 99px; height: 75px' /></td>";}
          if(record[9]  == ""){tagEmail = ""; }else{tagEmail = "<span style=\"font-size: 10pt\">Email : "+record[9] +"</span></td>";}
          if(record[8]  == ""){tagWebsite = ""; }else{tagWebsite = "เว็บไซต์: </span><a href=\""+record[8]  +"\" target=_blank><span style=\"font-size: 10pt\">"+record[8]+"</span></a><br />";}
          if(record[7]  == ""){tagPhone = ""; }else{tagPhone = "Tel: "+record[7] +"<br />";}
          if(record[2]="" ){tagHomeCode = ""; }else{tagHomeCode = record[2]+"<br />";}
datatext = '<table>'+
                         '<tr>'+
                                     '<td colspan="3">'+
                                     '<strong><span style="font-size: 10pt">'+record[1]+'</span></strong></td>'+
                         '</tr>'+
                         '<tr>'+
                         '<td colspan="2">'+ 
                         '<span style="font-size: 10pt">'+tagHomeCode+
                                     ''+record[3]+' '+record[4]+'<br />'+record[5]+' '+record[6]+ '<br />'+
                                     tagPhone+
                                     tagWebsite+
                                     tagEmail+
                                     ImagesPath+
                        '</tr>'+
                        '<tr>'+
                         '   <td style="text-align: left;" colspan="3">'+
                          '      <span style="font-size: 10pt">เส้นทางค้นหา &nbsp;สถานที่ใกล้เคียง&nbsp; บันทึกไว้ใน...'+
                           '         &nbsp; เพิ่มเติม?</span></td>'+
                        '</tr>'+
                        '<tr>'+
                         '   <td style="width: 100px">'+
                          '  </td>'+
                           ' <td style="width: 100px">'+
                            '</td>'+
                            '<td style="width: 100px">'+
                            '</td>'+
                        '</tr>'+
                    '</table>';
return datatext;
}


function AddPackmarkone(datatext)
{
var Lat;
var Long;
//datatext=Ext.decode(datatext);
var recode = datatext.split(",");
Lat=recode[0];Long=recode[1]; 
datatext=recode[2];
    //alert(Lats);
 if (window.frames != null) { 
 datatext=gettextballoon(datatext);
                    for (i = 0; i < window.frames.length; i++) {                        
                        if (window.frames[i].name == 'Map') {
                            var emFrame = window.frames[i];
                             emFrame.window.showballoon(Lat,Long,datatext);
                           }
                        }
                    }
}

    function EncodeUrl(strSample) {
        //Trim the string varibale.
        strSample = strSample.replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1');
        //Encode the string variable that contains special characters.
        strSample = encodeURIComponent(strSample);
        //Encode characters that are not covered in encodeURIComponent function.
        var encodedCharacters = new Array('~', '!', '*', '(', ')', '\'');
        var decodedCharacters = new Array('%7E', '%21', '%2A', '%28', '%29', '%60');
        for (var i = 0; i < encodedCharacters.length; i++) {
            strSample = strSample.replace(encodedCharacters[i], decodedCharacters[i]);
        }
        return strSample;
    }



   


