﻿

var acc_hndl = {

 acc_name: '', cu_acc_open:'',
 fadespeed:200, 
 icon_hide:'images/green_arr.gif', icon_show:'images/green_arr_sel.gif', 
 
 init: function (nam,ano) {
  
   if (acc_hndl.acc_name!='') {
     $('#accid_'+acc_hndl.acc_name).hide();
     if (acc_hndl.cu_acc_open!='') {
       $('#acc_body_'+acc_hndl.acc_name+'_'+acc_hndl.cu_acc_open).hide();
       $('#acc_arrow_'+acc_hndl.acc_name+'_'+acc_hndl.cu_acc_open).attr('src',acc_hndl.icon_hide);
       acc_hndl.cu_acc_open = '';
     }
   }
   acc_hndl.acc_name = nam;
 
   $('#accid_'+acc_hndl.acc_name).show();

   // hide all bodies
   $('#accid_'+acc_hndl.acc_name+' .acc_body_'+acc_hndl.acc_name).hide();
   
   $('#accid_'+acc_hndl.acc_name+' .acc_head_'+acc_hndl.acc_name).bind('click', function(e) {
       acc_hndl.handle_proj_acc_click (e);
   });
 
   // get acc name of first body
   if (ano==':first:') { 
     var fst_an = $('#accid_'+acc_hndl.acc_name+' .acc_body_'+acc_hndl.acc_name).attr('id');
     ano = acc_hndl.get_target_number(fst_an);
   }
 
   acc_hndl.switch_to_new_acc(ano);
   
 },
 
 switch_to_new_acc : function (ano) {
 
  if (acc_hndl.cu_acc_open!='') {
   // slide out old body
   $('#acc_body_'+acc_hndl.acc_name+'_'+acc_hndl.cu_acc_open).slideUp(acc_hndl.fadespeed, function (){
     $('#acc_arrow_'+acc_hndl.acc_name+'_'+acc_hndl.cu_acc_open).attr('src',acc_hndl.icon_hide)
     
     if (acc_hndl.cu_acc_open == ano) {
       acc_hndl.cu_acc_open = '';
     } else {
       acc_hndl.cu_acc_open = ano; 
       if (acc_hndl.cu_acc_open!='') {
         $('#acc_arrow_'+acc_hndl.acc_name+'_'+ano).attr('src',acc_hndl.icon_show);
         $('#acc_body_'+acc_hndl.acc_name+'_'+ano).slideDown(acc_hndl.fadespeed, function () {});
       }
     }
   });
  } else {
   acc_hndl.cu_acc_open = ano; 
   if (acc_hndl.cu_acc_open!='') { 
     $('#acc_body_'+acc_hndl.acc_name+'_'+ano).slideDown(acc_hndl.fadespeed, function() {
       $('#acc_arrow_'+acc_hndl.acc_name+'_'+ano).attr('src',acc_hndl.icon_show);
     });
   }
  }  
 
 },
 
 
 handle_proj_acc_click : function  (e) {
   var tar =  e.target.parentNode;

   while (!$(tar).hasClass('acc_head_'+acc_hndl.acc_name)) {tar = tar.parentNode; if(tar==null) return;}
   var np = $(tar).attr('id');
   if (typeof np === "undefined") np=''; // IE returns empty str, FF undefined
   if ( np != "") {
       e.preventDefault();
       var ano = acc_hndl.get_target_number(np);
       acc_hndl.switch_to_new_acc(ano);
   }
 },


 get_target_number : function (pn) {
  var li = pn.lastIndexOf('_');
  if (li>=0) { return pn.slice(li+1); }
  return pn;
 }

}

function error_exit (errno, errmes, errdata) {
   if (typeof errmes == "undefined") {errmes = "error";}
   if (typeof errdata == "undefined") {errdata = "";}
   var em = "*** jserr: #"+errno+" : \""+errmes+"\"";
   if (errdata!="") em += " near: >"+errdata+"<";
   
   errhnd.error(errno,em);
}

function JSON_parse(jsstr) {
  try {
  	  data = JSON.parse(jsstr);
  } catch (err) {
    if (err.message.indexOf('JSON.parse')>=0) {
      error_exit(101,err.description,jsstr);
    } else {
       throw(err);
    }
  } 
  return data; 
}

function getmyWidth() {
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
  }
  return myWidth;
}
function getmyHeight() {
  if( typeof( window.innerHeight) == 'number' ) {
    //Non-IE
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myHeight = document.body.clientHeight;
  }
  return myHeight;
}

function checkemail(str){
 var filter=/^.+@.+\..{2,3}$/

 if (filter.test(str))
    testresults=true
 else {
    testresults=false
}
 return (testresults)
}



