/**
 * This file will contain CSC common functions.
 *
 *****************************************************************************/  
  /**_csc_asyncUpdater(container, url) 
   * @para container: div Id, whoes contents will be updated by this function.
   * @para url      : http url, which whill be used to fetch the data. This 
   *                  is expected to return data in plain HTML format.
   * @dependencies  : protytype ver 1.2 or higer. 
   *--------------------------------------------------------------------*/
  function _csc_asyncUpdater(container, url)
  {
     _csc_asyncUpdater(container, url, false);
  }
  function _csc_asyncUpdater(container, url, highlite)
  {
    if ((container!==null)&&(url!==null)){
       new Ajax.Updater(
       container,
       url,
       {
           method: 'get'
       });
       
       if(highlite){
          _csc_hlEffect(container)
       }
    }
  }
  
 /*****************************************************************************/  
  /**_csc_asyncUpdater(container, url) 
   * @para container: div Id, whoes contents will be updated by this function.
   * @para url      : http url, which whill be used to fetch the data. This 
   *                  is expected to return data in plain HTML format.
   * @dependencies  : protytype ver 1.2 or higer. 
   *--------------------------------------------------------------------*/
  
  function _csc_asyncUpdaterF(container, formId) {
      _csc_asyncUpdaterF(container, formId, false);
  }
  
  function _csc_asyncUpdaterF(container, formId, highlite) {
         var frm     = document.forms[formId];
         var getstr = "";
         
         var link = frm.action;
         for (var k=0; k<frm.elements.length; k++) {
            var frmElem = frm.elements[k];
            switch(frmElem.type) {
              case "text":
              case "hidden":
              case "password":
              case "textarea":
              case "button":
              case "submit":
                   getstr += frmElem.name + "=" + encodeURI(frmElem.value) + "&";
                   break;
              
              case "checkbox":
              case "radio":
                   if(frmElem.checked) getstr += frmElem.name + "=" + encodeURI(frmElem.value) + "&";
                   break; 
            
              case "select-one":
                   getstr += frmElem.name + "=" +
                   frmElem.options[frmElem.selectedIndex].value + "&";
              break;
            
            } //switch
         }      
         
         getstr = link+'?'+getstr;
         //alert(getstr);
         
         _csc_asyncUpdater(container, getstr, highlite)
         
   }
  
  /**
   * This function will accept a form element and will return the String
   * representation of the form for AJAX usage.
   */
   function _formToStr(fobj) {
       var str = '';
       var ft = '';
       var fv = '';
       var fn = '';
       var els = '';
       for(var i = 0;i < fobj.elements.length;i++) {
        els = fobj.elements[i];
        ft = els.title;
        fv = els.value;
        fn = els.name;
       switch(els.type) {
        case "text":
        case "hidden":
        case "password":
        case "textarea":
        str += fn + "=" + encodeURI(fv) + "&";
        break; 
      
        case "checkbox":
        case "radio":
         if(els.checked) str += fn + "=" + encodeURI(fv) + "&";
        break; 
      
        case "select-one":
         str += fn + "=" +
         els.options[els.selectedIndex].value + "&";
        break;
        } // switch
       } // for
       str = str.substr(0,(str.length - 1));
       return str;
   }     
  
  /** _csc_enableButton(buttonId) 
   * @buttonId      : button Id, which need to be enabled.
   * @dependencies  : protytype ver 1.2 or higer. 
   *--------------------------------------------------------------------*/
  function _csc_enableButton(buttonId){
     $(buttonId).disabled=false;
  }
  /**_csc_disableButton(buttonId) 
   * @buttonId      : button Id, which need to be disabled.
   * @dependencies  : protytype ver 1.2 or higer. 
   *--------------------------------------------------------------------*/
  function _csc_disableButton(buttonId){
     $(buttonId).disabled=true;
  } 
  
  /**_csc_hlEffect(elemId) 
   * @param:elemId        : Div Id, which need to be Highlighted.
   * @param:restoreBgColor: color in '#nnnnnn' format, which be used as the 
   *                        final background color of the div.
   * @param:dependencies  : protytype ver 1.2 or higer. 
   *--------------------------------------------------------------------*/
  function _csc_hlEffect(elemId){
     new Effect.Highlight(elemId);
  }   
  function _csc_hlEffect(elemId, restoreBgColor){
     new Effect.Highlight(elemId, {restorecolor:restoreBgColor});
  } 
  
  
   function toggleDispImg( targetId ){
     if (document.getElementById){
           target = document.getElementById( targetId );
           img    = document.getElementById(targetId+'Img');
              if (target.style.display == "none"){
                 target.style.display = "block";
                 img.src="/pres/root/img/global/toggleV-O.gif"
              } else {
                 target.style.display = "none";
                 img.src="/pres/root/img/global/toggleV-C.gif"
              }
        }
   }
   function toggleDispImgName( targetId, imgName ){
     if (document.getElementById){
           target = document.getElementById( targetId );
           img    = document.getElementById(targetId+'Img');
              if (target.style.display == "none"){
                 target.style.display = "block";
                 img.src="/pres/root/img/global/"+imgName+"-C.gif"
              } else {
                 target.style.display = "none";
                 img.src="/pres/root/img/global/"+imgName+"-O.gif"
              }
        }
   }

   function _csc_toggleDispImg( targetId ){
     if (document.getElementById){
           target = document.getElementById( targetId );
           img    = document.getElementById(targetId+'Img');
              if (target.style.display == "none"){
                 target.style.display = "block";
                 img.src="/pres/root/img/global/toggleV-O.gif"
              } else {
                 target.style.display = "none";
                 img.src="/pres/root/img/global/toggleV-C.gif"
              }
        }
   }
   function _csc_toggleDispImgName( targetId, imgName ){
     if (document.getElementById){
           target = document.getElementById( targetId );
           img    = document.getElementById(targetId+'Img');
              if (target.style.display == "none"){
                 target.style.display = "block";
                 img.src="/pres/root/img/global/"+imgName+"-C.gif"
              } else {
                 target.style.display = "none";
                 img.src="/pres/root/img/global/"+imgName+"-O.gif"
              }
        }
   }
   
  /** _CB_toggle(formId, cbName) 
   * @para  formId  : form Id to which SB belongs which need to be worked on.
   * @para  cbName  : nam of the checkbox, which need to be worked on
   * @dependencies  : protytype ver 1.2 or higer. 
   *--------------------------------------------------------------------*/
  function _CB_toggle(formId, cbName) {
      var f = Form.getInputs(formId,'checkbox', cbName);
      for( i=0 ; i<f.length ; i++) {
         f[i].checked = !f[i].checked;
      }
   }
  /** _CB_toggle(formId, cbName) 
   * @para  formId  : form Id to which SB belongs which need to be worked on.
   * @para  cbName  : nam of the checkbox, which need to be worked on
   * @dependencies  : protytype ver 1.2 or higer. 
   *--------------------------------------------------------------------*/
  function _CB_selectAll(formId, cbName) {
      var f = Form.getInputs(formId,'checkbox', cbName);
      for( i=0 ; i<f.length ; i++) {
         f[i].checked = true;
      }
   }
  /** _CB_toggle(formId, cbName) 
   * @para  formId  : form Id to which SB belongs which need to be worked on.
   * @para  cbName  : nam of the checkbox, which need to be worked on
   * @dependencies  : protytype ver 1.2 or higer. 
   *--------------------------------------------------------------------*/
  function _CB_unSelectAll(formId, cbName) {
      var f = Form.getInputs(formId,'checkbox', cbName);
      for( i=0 ; i<f.length ; i++) {
         f[i].checked = false;
      }
   }
   

   

      