﻿//@memo: create by liujy at 2008-06-05 openrace@gmail.com
//@func: some common functions

function init_sel(obj)
{
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
    obj.options.length = 0;
    obj.options[0] = new Option('-请选择-', '-1');
    obj.options[0].style.color = "#ccc";
  }
}

function init_sel_area(obj)
{
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
    obj.options.length = 0;
    obj.options[0] = new Option('地区', '-1');
  }
}

function init_sel_cata(obj)
{
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
    obj.options.length = 0;
    obj.options[0] = new Option('所有物品分类', '-1');
  }
}

function unescepe(s1) 
{
  return (!s1?'':unescape(s1.replace(/!/gi,"%u")));
}

var area, cata, city; // init_area_one('cata');
function init_area_one(s1)
{
  if (!area) return ;
  var obj = document.getElementById(s1); 
  if (typeof(obj)=="object" && obj.tagName && obj.tagName=="SELECT")
  {
     init_sel_area(obj) ;
     var ids = area['asubs0'];
     var arr = ids.split(',');
     var pid = 0;
     var arealayer = '';
     
     for (var i=0; i<arr.length-1; i++)
     {
        pid = toInt(arr[i]);
        if (pid<1) continue;
        
        var cid = 0;
        var cids = area['asubs'+pid];
        var carr = cids.split(',');
        for (var k=0; k<carr.length-1; k++)
        {
           cid = toInt(carr[k]);
           if (cid<1) continue;
		   arealayer = pid+','+cid;
		   
           //if (i==1) alert(unescepe(area['an'+pid]));
           obj.options[obj.options.length] = new Option(unescepe(area['an'+pid])+'/'+unescepe(area['an'+cid]), arealayer);
           obj.options[obj.options.length-1].style.color = "#000";

        }
     }
  }
} 

function init_area_city(s1)
{
    if (!city) return ;
    var obj = document.getElementById(s1); 
    if (typeof(obj)=="object" && obj.tagName && obj.tagName=="SELECT")
    {
       for (var ee in city)
       {
          obj.options[obj.options.length] = new Option(unescepe(toStr(city[ee])),ee);
          obj.options[obj.options.length-1].style.color = "#000";
       }
    }
}

// init_cata_one('cata');
function init_cata_one(s1)
{

  if (!cata) return ;
  var obj = document.getElementById(s1); 
  if (typeof(obj)=="object" && obj.tagName && obj.tagName=="SELECT")
  {
     init_sel_cata(obj);
     var cid1 = cata['subs0'];
     var arr1 = toStr(cid1).split(',');
     var cid1 = 0;
     var len1 = arr1.length-1;
     var cname1 = '';
     var cname2 = '';
     var cname3 = '';
     var catalayer = '';

     for (var i=0; i<len1; i++)
     {
        cid1 = toInt(arr1[i]);
        if (cid1<1) continue;
        catalayer = cid1;
        cname1 = unescepe(cata['n'+cid1]);

        var cid2 = cata['subs'+cid1];
        var arr2 = toStr(cid2).split(',');
        var cid2 = 0;
        var len2 = arr2.length-1;
        for (var k=0; k<len2; k++)
        {
           cid2 = toInt(arr2[k]);
           if (cid2<1) continue;
           catalayer = cid1+','+cid2;
           cname2 = unescepe(cata['n'+cid2]);

           var cid3 = cata['subs'+cid2];
           var arr3 = toStr(cid3).split(',');
           var cid3 = 0;
           var len3 = arr3.length-1;
           obj.options[obj.options.length] = new Option(cname2, catalayer);
           obj.options[obj.options.length-1].style.color = "#000";
           //obj.options[obj.options.length-1].style.marginBottom = '10px';
           //obj.options[obj.options.length-1].style.cssText = "margin-bottom:5px;color:blue;";
        }
        
        if (len2<1)
        {
           obj.options[obj.options.length] = new Option(cname1, catalayer);
           obj.options[obj.options.length-1].style.color = "#000";
        }
     }
  }
}

function init_area(s1, s2, s3)
{
  if (!area) return ;
  var obj = document.getElementById(s2);
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
     init_sel(obj) ;
     obj.onchange=function() { chg_sel_b(s1, s2, s3); } 
  }

  obj = document.getElementById(s3);
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
     init_sel(obj) ;
  }

  obj = document.getElementById(s1);
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
     init_sel(obj) ;
     var ids = area['asubs0']; //省份
     var arr = ids.split(',');
     var pid = 0;
     for (var i=0; i<arr.length-1; i++)
     {
        pid = toInt(arr[i]);
        if (pid<1) continue;
        
        //if (i==1) alert(unescepe(area['an'+pid]));
        obj.options[obj.options.length] = new Option(unescepe(area['an'+pid]), pid);
        obj.options[obj.options.length-1].style.color = "#000";
     }
     obj.onchange=function() { chg_sel_a(s1, s2, s3); }
  }
} 

function chg_sel_a(s1, s2, s3)
{
  if (!area) return ;
  var val = '-1';
  var obj = document.getElementById(s1);
  if (typeof(obj)=="object" && obj.tagName=="SELECT") val = obj.value;

  obj = document.getElementById(s3);
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
     init_sel(obj) ;
  }
   
  obj = document.getElementById(s2);
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
    obj.onchange=function() { return false; } 
    init_sel(obj) ;
    var ids = area['asubs'+val]; //城市
    
    if (ids && ids.length>2)
    {
      var arr = ids.split(',');
      var cid = 0;
      for (var i=0; i<arr.length-1; i++)
      { 
        cid = toInt(arr[i]);
        if (cid<1) continue;
        
        //if (i==1) alert(unescepe(area['an'+cid]));
        obj.options[obj.options.length] = new Option(unescepe(area['an'+cid]), cid);
        obj.options[obj.options.length-1].style.color = "#000";      
      }
    }
    obj.onchange=function() { chg_sel_b(s1, s2, s3); } 
  }
}

function chg_sel_b(s1, s2, s3)
{
  if (!area) return ;
  var val = '-1';
  var obj = document.getElementById(s2);
  if (typeof(obj)=="object" && obj.tagName=="SELECT") val = obj.value;

  obj = document.getElementById(s3);
  if (typeof(obj)=="object" && obj.tagName=="SELECT")
  {
    init_sel(obj) ;
    var ids = toStr(area['asubs'+val]); //市区
    if (ids.length<1) //add XXX
    {
       var ob2 = document.getElementById(s2); 
       var idx = ob2.options.selectedIndex;
       //alert('|'+idx+'| >> '+ob2.options[idx]);
       if (idx>-1)
       {
          obj.options[obj.options.length] = new Option(ob2.options[idx].text,ob2.options[idx].value);
          obj.options[obj.options.length-1].style.color = "#000";
          obj.options.selectedIndex = obj.options.length-1; 
       }       
    }
    else if (ids.length>2)
    {
      var arr = ids.split(',');
      var zid = 0;
      for (var i=0; i<arr.length-1; i++)
      { 
        zid = toInt(arr[i]);
        if (zid<1) continue;

        obj.options[obj.options.length] = new Option(unescepe(area['an'+zid]),zid);
        obj.options[obj.options.length-1].style.color = "#000";
      }
    }
  }
}

function revs_rows(tbl, ccs)
{
  var tbl = $(tbl);
  if (tbl && tbl.tagName=='TABLE')
  {
     for (var k=1; k<tbl.rows.length; k++)
     {
        if ((k%2)==1) tbl.rows[k].className = ccs;
        else tbl.rows[k].className = '';
     }
  }
}

function pjgo(cp)
{
  if (toInt(cp)<1 || !$('pagination')) return true;
  var pages = trim($('pagination').value); //分页处理
  if (lenb(pages)>7 && pages.indexOf(cp+',')==0) return true;
  var pos = pages.indexOf(","); //11,20,11,15, --> 10,20,11,15
  if (pos>0) $('pagination').value = cp+pages.substring(pos); 
  return false;
}

function pj_blur(min, max)
{
   var pj = 0;
   if ($('pj'))
   {
     pj = toInt($('pj').value);
     if (pj<min) $('pj').value = min;
     else if (pj>max) $('pj').value = max;
   }
}

function js_test_mark()
{
   //在n秒内不能重复提交.连点 [6s]
   if (!$('mark')) return ; 
   var stamp = (new Date()).getTime()-6000;
   var mark = toInt($('mark').value);
   if (mark>1000 && mark>stamp)
   {
      alert('正在提交...');
      return true;
   }   
   $('mark').value = (new Date()).getTime();
   return false;
}


function js_chk_rights(pid)
{
  var str1 = '';
  var str2 = ''; //权限公共方法
  if ($("cps")) str2 = trim($("cps").value);
  if ($("ucps")) str1 = trim($("ucps").value);  
  if (lenb(str2)>2 && str1.indexOf(','+pid+',')<0)
  {
    alert('没有相应权限');
    return true;
  }
  return false;
}

function js_hide_cps()
{
  var cps = ''; //隐藏控制点公共方法
  if ($('cps')) cps = $('cps').value;
  if (cps=='') return ;
  
  if ($('cps')) cps = $('ucps').value;
  cps = cps.replace(/,/gi, "_cp"); //alert(cps);
  
  var str='', pos=0, acps = document.getElementsByTagName('A');
  for (var ee in acps) 
  {     
     if (ee=='length' || ee.indexOf("cp")<0) continue;
     pos = ee.indexOf("_");
     str = ee; 
     if (pos>1) str = ee.substring(0, pos);
     //alert(cps+'--'+ee+'--'+str+'-->>'+cps.indexOf(str));
     if (lenb(cps)<1 || cps.indexOf(str)<0) $(ee).style.display = 'none';
  }
  
  acps = document.getElementsByTagName('BUTTON');
  for (var ee in acps) 
  {
     if (ee=='length' || ee.indexOf("cp")<0) continue;
     pos = ee.indexOf("_");
     str = ee;
     if (pos>1) str = ee.substring(0, pos);
     //alert(cps+'--'+ee+'--'+str+'-->>'+cps.indexOf(str));
     if (lenb(cps)<1 || cps.indexOf(str)<0) $(ee).style.display = 'none';
  }

}

