  function set_lang (lang,msg) {
    var expires = new Date();
    expires.setTime(expires.getTime() + 3E11);
    document.cookie = "lang=" + escape(lang) + "; expires=" + expires.toGMTString();
    alert(msg);
    document.location.reload();
  }

  function show_extra_field () {
    var frm = document.getElementById("itemlist");
    //var srch  =  document.getElementById("srch");
    //srch.value = "0";
    frm.submit();
  }

  function unsel_list () {
    var form = document.getElementsByTagName("input");
    var divdsc = document.getElementById("dscpnl");
    var i=0, j, s='';
    var len = form.length;
    for (j=0;j<len;j++)  {
      if (form[j].type =='checkbox' && form[j].name.substr(0,3)=='chk' && form[j].checked) {
        form[j].checked = false;
        i++;
      }
    }
    if (i) {
      divdsc.innerHTML = '';
      divdsc.style.display = 'none';
    } else {
    }
  }

  function show_list () {
    var form = document.getElementsByTagName("input");
    var divdsc = document.getElementById("dscpnl");
    var i=0, j, s='';
    var len = form.length;
    var price;
    var item_name;
    var tp_num;
    for (j=0;j<len;j++)  {
      if (form[j].type =='checkbox' && form[j].name.substr(0,3)=='chk' && form[j].checked) {
        //var hdndsc = document.getElementById("hdn"+form[j].name.substr(3));
        //if (hdndsc) {
        //i++;
        //s+= '<div>  '+hdndsc.value + '</div>';
        //}
        item_name = document.getElementById("name"+form[j].name.substr(3));
        price = document.getElementById("price"+form[j].name.substr(3));
        tp_num = document.getElementById("tp"+form[j].name.substr(3));
        if (item_name || price || tp_num) {
          i++;
          s += '<div>  ';
          if (tp_num)    s += tp_num.innerHTML.substr(5);
          s +=' ; ';
          if (price) {
            p = price.innerHTML.match(/([^<]+)/);
            s += p[1];
          }
          s +=' ; ';
          if (item_name) s += item_name.innerHTML;
          s +='</div>';
        }
      }
    }
    if (i) {
      s+= '<div>  </div>';
      divdsc.innerHTML = s;
      divdsc.style.display = 'block';
    } else {
      divdsc.innerHTML = '';
      divdsc.style.display = 'none';
    }
  }

  function add_to_list () {
    var form = document.getElementsByTagName("input");
    var list_id = document.getElementById("list_id");
    var id = new Array();
    var i=0;
    var j;
    var len = form.length;
    for (j=0;j<len;j++)  {
      if (form[j].type =='checkbox' && form[j].name.substr(0,3)=='chk' && form[j].checked) {
        id[i++]=form[j].name.substr(3);
      }
    }
    if (i) {
      list_id.value = id.toString();
    }
  }

  /* thelement is table heading */
  function setsortcol (columnid,sortorder) {
    try {
      var sortcol = document.getElementById("scol");
      var isfirst = document.getElementById("if");
      var st = document.getElementById("st");
      var nrow = document.getElementById("nrow");
      var num = document.getElementById("num");
      if (sortcol.value==columnid) {
        if (sortorder=='ASC') {
          sortorder='DESC';
        } else if(sortorder='DESC') {
          sortorder='ASC';
        }
        if (st.value!=0) {
          var newstart= (Math.round((nrow.value-st.value)/num.value-1))*num.value;
          st.value = newstart+"";
        }
        isfirst.value=0;
      } else {
        st.value = '0';
        sortcol.value=columnid;
        isfirst.value=1;
        if(columnid==0)
          sortorder='DESC';
        else
          sortorder='ASC';
      }
      var so = document.getElementById("sodr");
      so.value = sortorder;
      var sform = document.getElementById("itemlist");
      sform.submit();
    } catch (e) {
      //alert(e);
    }
  }

  function getPriceRange (offset){
    try {
      var sortcol = document.getElementById("scol");
      sortcol.value = -1;
      var so = document.getElementById("sodr");
      so.value = 'ASC';
      var st = document.getElementById("st");
      st.value = offset;
      var sform = document.getElementById("itemlist");
      sform.submit();
    } catch (e) {
    }
  }

  function rsort (thElement,ncell,bnum,ncol,fieldid) {
    function getParentTable (thTag) {//this function get the parent (tbody) of a given element.
      while (thTag.tagName !='TBODY') {
        thTag=thTag.parentNode;
      }
      return thTag;
    }
    try {
      var nrow;
      var thTbody=getParentTable(thElement);//gets parent(tbody) of thElement
      var oTh = thTbody;//tbody consists (table) heading.
      var oTable = thTbody.nextSibling;//tbody contains values.
      var sortcol = document.getElementById("scol");

      var oRow ;
      var aObj = new Array();
      var aRow = new Array();
      var j ;
      var i=0;

      nrow = oTable.rows.length;

      while(i < nrow) {
        var obj = new Object();
        oRow = oTable.rows[i];
        obj.index=i;
        obj.value=oRow.cells[ncell].innerHTML;
        aObj[i] = obj;
        aRow[i] = oRow;
        i++;
      }
      aObj.sort(sortcell);
      i=0;
      while(i<nrow) {
        var oCloneNode = aRow[i].cloneNode(true);
        oTable.appendChild(oCloneNode);
        i++;
      }

      i=0;
      while(i<nrow) {
        var ind = aObj[i].index;
        oTable.appendChild(aRow[ind]);
        i++;
      }
      i=0;
      while(i<nrow) {
        oTable.removeChild(oTable.rows[0]);
        i++;
      }
      i=1;
      while(i<=ncol) {
        /* 2005-04-29: to get <tr> tag which contains table heading *********************** */
        k=0;
        j=0;
        nthrow = oTh.rows.length;
        while(j<nthrow) {
          if (oTh.rows[j].id=='th_tr' && nthrow > 1) {
            k=2;
          } else {
            k=0;
          }
          j++;
        }
        /* ***********************
           below put index k on 2005-04-29: */

        if (i==ncell) {
          oTh.rows[k].cells[i].style.background='#ffffff';
          oTh.rows[k].cells[i].style.color='#9a9c9f' ;
          oTh.rows[k].cells[i].style.borderTop='1px solid #ffffff' ;
          oTh.rows[k].cells[i].style.borderBottom='1px solid #ffffff' ;
        } else {
          oTh.rows[k].cells[i].style.background='#ffffff';
          oTh.rows[k].cells[i].style.color='#000000' ;
        }
        k=0;
        i++;
      }
      var st = document.getElementById("st");
      if (!old_col) {
        old_col = sortcol.value;
        old_start = st.value;
        sortcol.value=fieldid;
        st.value = '-1';
      } else if (old_col != fieldid) {
        st.value = '-1';
      } else {
        st.value = old_start;
      }
    } catch (e) {
      /*alert("error "+e.description);*/
    }

    function sortcell (Obj1,Obj2) {
      var a;
      var b;
      if (bnum && fieldid == -1) {
        x = Obj1.value;
        y = Obj2.value;
        p=x.replace(/&nbsp;/g,"");
        p=p.replace(/\s*/g,"");
        p=p.replace(/,/g,"");
        q=y.replace(/&nbsp;/g,"");
        q=q.replace(/\s*/g,"");
        q=q.replace(/,/g,"");
        a = parseFloat(p);
        b = parseFloat(q);
      } else if (bnum) {
        x = Obj1.value;
        y = Obj2.value;
        p=x.replace(/&nbsp;/g,"");
        p=p.replace(/\s*/g,"");
        q=y.replace(/&nbsp;/g,"");
        q=q.replace(/\s*/g,"");
        a = parseInt(p);
        b = parseInt(q);
      } else {
        x = Obj1.value;
        y = Obj2.value;
        p=x.replace(/&nbsp;/g,"");
        a=p.replace(/^\s*/g,"");
        q=y.replace(/&nbsp;/g,"");
        b=q.replace(/^\s*/g,"");
      }
      if (a == b)  return 0;
      else if (a > b)   return 1;
      else    return -1;
    }
  }

  function checkdate (date) {
    try {
      var today =new Date();
      var year = today.getFullYear();
      var month = today.getMonth()+1;
      var day = today.getDate();
      var days;

      var m = new Array(12);
      m =[31,28,31,30,31,30,31,31,30,31,30,31];
      var a=date.match(/(\d+)-(\d+)-(\d+)/);
      if (a != null) {
        var expyear = a[1];
        var expmonth = a[2];
        var expday = a[3];
        if (expmonth == 2 && (expyear%100 == 0 || expyear%4 == 0)) {
          days = 29;
        } else {
          days = m[expmonth-1];
        }
        if (expyear!='' && expmonth!='' && expday!='') {
          if (expyear.length==2) expyear = "20"+expyear;
          if (expmonth.length!=2) expmonth = "0"+expmonth;
          if (expday.length!=2 && expday > 0) expday = "0"+expday;
          if (!isNaN(expyear) && !isNaN(expmonth) && !isNaN(expday)) {
            if (expyear == year) {/* current year*/
              if (expmonth < month) {
                str ='Invalid Date';
              } else if (expmonth == month ) {
                if (expday < day || expday >days){
                  str ='Invalid date(day)';
                } else {
                  str ='';
                }
              } else if (expmonth <=12 && expmonth > month) {
                if (expday >0 && expday<=days) {
                  str ='';
                } else {
                  str ='day is invalid';
                }
              } else {
                str ='wrong month';
              }
            } else if (expyear > year) { /*future year*/
              if (expyear > 2010) {
                str ='year exceeded';
              } else if (expday > days) {
                str ='day is invalid';
              } else if (expmonth > 12) {
                str ='Wrong month';
              }
            } else if (expyear < year) {
              str ='Invalid year';
            }
          } else {
            str ='Enter valid Date';
          }
        }else {
          str ='Enter full Date';
        }
      } else {
        str ='Enter valid Date';
      }
    } catch (e) {
      /*alert("error "+e.description);*/
    }
    return str;
  }

  function displayDate () {
    var divm=document.getElementById("maindiv");
    var divs=document.getElementById("smalldiv");

    divm.style.display='block';
    viewDate();
    divs.innerHTML=str;
    str='';
    first_time=0;
  }

  function viewDate () {
    var today = new Date();
    var year = today.getFullYear();
    var month = today.getMonth();
    var day = today.getDate();
    var count=29;
    var a=0;
    var str='';
    a=four_weeks(year,month,day,count);
    if (a!=0) {
      if (month==11) {
        year=year+1;
        four_weeks(year,0,1,a);
      } else {
        four_weeks(year,month+1,1,a);
      }
    }
  }

  function four_weeks (year,month,day,count) {
    var j;
    var date=new Date();
    date.setMonth(month);
    date.setFullYear(year);
    date.setDate(day);
    var start=date.getDay();
    var m=new Array(12);
    m =[31,28,31,30,31,30,31,31,30,31,30,31];
    if (month==1 &&(year%100==0 || year%4==0))
      days= 29;
    else
      days=m[month];
    if (first_time==0) str ='';
    str += '<table border=\"0\">';
    if (first_time%2==0)
      str +='<th>S&nbsp;</th><th>M&nbsp;</th><th>T&nbsp;</th><th>W&nbsp;</th><th>T&nbsp;</th><th>F&nbsp;</th><th>S&nbsp;</th>';
    first_time++;
    str += '<tr>';
    for (j=0;j<start;j++) {
      str += '<td>'+'**'+'</td>';
    }
    days=days-day+1+start;
    for (;j<days;j++) {
      if (day<10) {
        day="0"+day;
      }
      if (!(j%7)) {
        str += '</tr><tr>';
      }
      if (--count==0) {
        while ((j%7) && day<=days-start) {
          str +="<td id=\"h"+day+"\" onclick=\"javascript:getdate(this,"+year+","+month+","+day+");dateClose();\">"+day+"  "+"</td>";
          day++;j++;
          if (day<10) {
            day="0"+day;
          }

        }
        break;
      }
      str +="<td id=\""+day+"\" onclick=\"javascript:getdate(this,"+year+","+month+","+day+");dateClose();\">"+day+"  "+"</td>";
      day++;
    }
    if (j==days) {
      while ((j%7)){
        str +=  '<td>&nbsp;</td>';
        j++;
      }
    }
    str +='</tr></table>';
    if (count == 0)
      str += '<input type="button" value="Close" onclick="javascript:dateClose()"/>';
    return count;
  }

  function getdate (td_date,year,month,day) {
    x1=td_date.innerHTML;
    td_date.bgColor="skyblue";
    var input =  document.body.getElementsByTagName("input");
    var i=0;
    var len = input.length;
    while (i<len) {
      if (input[i].type == 'text' && input[i].name == 'exp_date' && input[i].id == 'm') {
        var st = '';
        month = month+1;
        if (day<10) {
          day="0"+day;
        }
        if (month<10) {
          month="0"+month;
        }
        st +=year+"-"+month+"-"+day;
        input[i].value=st;
      }
      i++;
    }
    if (x2 ){
      var oldcol = document.getElementById(x2);
      if (oldcol==null) {
        oldcol = document.getElementById("h"+x2);
      }
      oldcol.bgColor='';
    }

    x2=td_date.id;
  }

  function dateClose () {
    var divm=document.getElementById("maindiv");
    divm.style.display='none';
  }

  function check_order () {
    try {
      var input =  document.body.getElementsByTagName("input");
      var field = document.getElementById("count");
      var len = input.length;
      var nfield = field.value;
      var msg;
      var str = '';
      var i = 0;
      while (i<len) {
        if ((input[i].type=='text' ) && (input[i].id == 'f')) {
          msg = document.getElementById('msg'+input[i].name);
          if (parseInt(input[i].value) > parseInt(nfield)) {
            msg.innerHTML = "Value too high";
            str += input[i].name;
          } else {
            msg.innerHTML = "";
          }
        }
        i++;
      }
    } catch (e) {
      /*alert("error "+e.description);*/
    }
    if (str == '') {
      return true;
    } else {
      return false;
    }
  }

  /* To view item-details in a new window */
  function details (b,c) {
    var a;
    var url='details.php?itemid='+b+'&catid='+c;
    a = window.open(url,'details','location=no,menubar=no,resizable=yes,scrollbars=yes,height=550,width=770');
    a.focus();
  }
  /* To view offsite-item-details in a new window */
  function redirect (b) {
    var a;
    var url='redirect.php?itemid='+b;
    a = window.open(url,'view1','location=no,menubar=no,resizable=yes,scrollbars=yes');
    a.focus();
  }

  /* view 2005-05-16 */
  function view (id,owner) {
    var a;
    var url='viewad.php?itemid='+id;
    if (owner >=0 ) url +='&own='+owner;
    a = window.open(url,'view','menubar=yes,location=no,scrollbars=yes,resizable=yes');
    a.focus();
  }
  // to make bullet color as red.
  function changeBullet (id) {
    var maincat=document.getElementById('maincat'+id);
    var subcat=document.getElementById('subcat'+id);
    if (maincat) {
      maincat.src='images/bulletred.gif';
    } else {
      subcat.src='images/bulletred.gif';
    }
  }

  function export_csv () {
    var dur_el = document.getElementById('dur'); 
    var dur = dur_el.value; 
    window.open('usrlist_csv.php?dur='+dur,'EX_CSV');
  }

