try{
  icocrm;
}catch(e){
  icocrm = {}  
}
function include(script_filename) {
    document.write('<' + 'script');
    document.write(' language="javascript"');
    document.write(' type="text/javascript"');
    document.write(' src="' + script_filename + '">');
    document.write('</' + 'script' + '>');
}

include('/js/submenu.js');

function _onload(){
  setTimeout('focusFristTextbox()',100);
  addEvent(window, 'resize', toogle_more_tab);
  toogle_more_tab();
}


 function import_js(src, look_for, onload) {
   var s = document.createElement('script');
   s.setAttribute('type', 'text/javascript');
   s.setAttribute('src', src);
   if (onload) wait_for_script_load(look_for, onload);
   var head = document.getElementsByTagName('head')[0];
   if (head) {
     head.appendChild(s);
   } else {
     document.body.appendChild(s);
   }
 }

 function import_css(href, look_for, onload) {
   var s = document.createElement('link');
   s.setAttribute('rel', 'stylesheet');
   s.setAttribute('type', 'text/css');
   s.setAttribute('media', 'screen');
   s.setAttribute('href', href);
   if (onload) wait_for_script_load(look_for, onload);
   var head = document.getElementsByTagName('head')[0];
   if (head) {
     head.appendChild(s);
   } else {
     document.body.appendChild(s);
   }
 }

 function wait_for_script_load(look_for, callback) {
   var interval = setInterval(function() {
     if (eval("typeof " + look_for) != 'undefined') {
       clearInterval(interval);
       callback();
     }
   }, 50);
 }

  
function toogle_more_tab(){
  
  var tab_menus = $('tabs').childNodes;
  var str='';
  var pos_x;
  var overflow = false;
  var overflow_menus = [];
  if(tab_menus){
    for(var i =0; i< tab_menus.length; i++){
      if(tab_menus[i].tagName=='A'){
        pos_x = findPosX(tab_menus[i]);
        if(pos_x==0 )overflow = true;
        if(overflow && tab_menus[i].innerHTML!='More...'){
          overflow_menus.push('<a href="'+ tab_menus[i] +'"'+  (tab_menus[i].className=='maintab_on'?' class="selected"':'') +'>'+ tab_menus[i].innerHTML +'</a>');  
        }
        //str+=',' + tab_menus[i].innerHTML +'=' + findPosX(tab_menus[i]);
      }
    }
  }else{
    return;  
  }
  
  if(overflow_menus.length>0){
    $('more_tabs').innerHTML = overflow_menus.join('');
    $('bt_more_tabs').style.display='';  
  }else{
    $('bt_more_tabs').style.display='none';  
  }
  if($('more_tabs')){
    $('more_tabs').style.display = 'none';
  }
  
  
}
function focusFristTextbox(){
  var priority = ['collaborate_kwd'];
  if(document.location.hash!='') return;
  
  for(var i = 0; i<priority.length; i++){
    if($(priority[i])){
      $(priority[i]).focus();
      return;
    }  
  }
  
  if(document.forms[0]){
    mform = document.forms[0];
    for(i=0;i<mform.elements.length;i++){
      if(mform.elements[i].type == 'text'){
        try{
          mform.elements[i].focus();
          break;
        }catch(e){
          
        }
      }
    }
  }
}

/* On demand JS */
var ico_inject_callbacks=new Array();
var ico_inject_finish=true;
var ico_inject_counter=0;
function inject_script(C,D){

  o_link=document.createElement("SCRIPT");
  o_link.type="text/javascript";
  if(D!=undefined){
    if(!document.all){
      inject_callback(o_link,D);
      o_link.onload=inject_loaded
    }else{
      inject_callback(o_link,D);
      o_link.onreadystatechange=function(A){
        if(this.readyState=="loaded"){
          setTimeout(function(){inject_loaded.apply(this)},500)
        }
      }
    }
  }
  
  o_head=document.getElementsByTagName("head")[0];
  if(document.all){
    o_link.src="/js/"+C+".js?" + Math.random();
    o_head.appendChild(o_link);

    
  }else{
    document.body.appendChild(o_link);
    o_link.src="/js/"+C+".js?" + Math.random();
  }
}

function inject_callback(C,D){
  ico_inject_callbacks.push([C,D]);
}

function inject_loaded(){

  for(var B=0;B<ico_inject_callbacks.length;B++){
    if(this==ico_inject_callbacks[B][0]){
      ico_inject_counter++;
      if(ico_inject_counter==ico_inject_callbacks.length){
        inject_flush()
      }
    }
  }
}

function inject_flush(){
  for(var i=(ico_inject_callbacks.length-1);i>=0;i--){
    eval(  ico_inject_callbacks[i][1] );
    
  }
}

icocrm.call = function(f){
  try{
    eval(f);
  }catch(e){
    if(document.all){
      inject_script(f.split(".")[0],f)
    }else{
      inject_script(f.split(".")[0],f)
    }
  }
}

function hidebyid(id){
  ob = document.getElementById(id);
  ob.style.display = 'none';
}
function showbyid(id){
  ob = document.getElementById(id);
  ob.style.display= '';
}

function toogle_element(el,callback){
  if(el.style.display==''){
    new Effect.BlindUp(el,{duration:0.4});  
  }else{
    new Effect.BlindDown(el,{duration:0.4});  
  }
  if(callback!=undefined){
    callback(el);
  }
}

function toogle_toolwin(obj){
  var hide = 'f';
  toogle_element(obj.parentNode.nextSibling);

  if(obj.className=='tw_toogle'){
    obj.className = 'tw_toogle_down'; // open
    hide = 'f';
  }else{
    obj.className = 'tw_toogle'; // close
    hide = 't';
  }
  var toolwin_id = obj.parentNode.parentNode.id;
  
  if(toolwin_id!=''){

    new Ajax.Request(icocrm_root_www + '/ajax/toolwin_toggle.php' ,{
      method:'post',
      parameters: 'toolwin_id=' + toolwin_id +'&hide=' + hide ,
      onComplete: function(req){       
        if(req.responseText!=''){
          alert(req.responseText);    
        }      
        
      }
    });

  }
  
}
function toggle_topbar(bt){
  var o_page = $('crm_page');
  var is_leftpane = !($('leftpane').style.display=='none');
  
  if(o_page.className.indexOf('maximize') == -1){
    // small toolbar 
    if(o_page.className!='')o_page.className+=' ';
    o_page.className += 'maximize';  
    $('more_tabs').style.top = '31px';
    if(is_leftpane){
      $('tab_search').className = '';
    }else{
      $('tab_search').className = 'hidden';
    }
  }else{
    // normal toolbar
    o_page.className = o_page.className.replace("maximize",'');
    $('more_tabs').style.top = '83px';
    $('tab_search').className = '';

  }
  new Ajax.Request(icocrm_root_www + '/ajax/toggle_pane.php' ,{
    method:'post',
    parameters: 'crm_page=' + o_page.className  ,
    onComplete: function(req){       
     /// alert(req.responseText);      
    }
  });  
}

function toogle_pane(pane, bt){
  o_pane = $(pane);
  
  var is_maximize = ($('crm_page').className == 'maximize');
  
  
  if(o_pane.style.display==''){
    o_pane.style.display = 'none';
    bt.style.openleft = bt.style.left;
    bt.style.left = 0;
    if(is_maximize){
      $('tab_search').className = 'hidden';
    }else{
      $('tab_search').className = '';
    }
  }else{
    o_pane.style.display = '';   
    if(bt.style.openleft==undefined){ 
      bt.style.left = '';
    }else{
      bt.style.left = bt.style.openleft;
    }
    $('tab_search').className = '';
  }    
  
  new Ajax.Request(icocrm_root_www + '/ajax/toggle_pane.php' ,{
    method:'post',
    parameters: 'leftpane=' + o_pane.style.display  ,
    onComplete: function(req){       
     /// alert(req.responseText);      
    }
  }); 
    
}



function _toogle_pane(pane,bt){
  o_pane = $(pane);
  o_centerpane = $('centerpane');
  if(o_pane.style.display==''){
    bt.className = 'tp_close';
    if(document.all){
      bt.style.backgroundPosition = '-16px 0';
    }
    o_pane.style.display = 'none';  
    o_centerpane.style.paddingLeft = '10px';
  }else{
    bt.className = 'tp_open';
    if(document.all){
      bt.style.backgroundPosition = '0 0';
    }    o_pane.style.display = '';  
    o_centerpane.style.paddingLeft = '260px';

  }  
}

function toogleSection(oba, section_id){
  ob= document.getElementById(section_id); 
  if(ob.className=='hidden'){
    ob.style.display='none';
    ob.className = '';  
  }
  if(ob.style.display==''||ob.style.display=='block'){
    new Effect.BlindUp(ob,{duration:0.3});  
    oba.className ='section_header_expand';    

  }else{
    new Effect.BlindDown(ob,{duration:0.3});  
    oba.className ='section_header_collapse';
    
  }
  return;
  if(ob.className=='visible'){
    ob.className = 'hidden';
    oba.className ='section_header_expand';

  }else{
    ob.className = 'visible';
    oba.className ='section_header_collapse';
  }
}

function getSelectedIndexFromText(oselect, str){
  
  for(i=0;i<oselect.options.length; i++){
    if(oselect.options[i].innerHTML == str || oselect.options[i].value == str){
      return i;
    }
  }

}
    

function mouseX() {
  evt = event;
  if (evt.pageX) return evt.pageX;
  else if (evt.clientX)
     return evt.clientX + (document.documentElement.scrollLeft ?
     document.documentElement.scrollLeft :
     document.body.scrollLeft);
  else return null;
}

function mouseY() {
  evt = event;
  if (evt.pageY) return evt.pageY;
  else if (evt.clientY)
     return evt.clientY + (document.documentElement.scrollTop ?
     document.documentElement.scrollTop :
     document.body.scrollTop);
  else return null;
}

function createsoc(){

  var C = null;
  try{
    C=new ActiveXObject("Msxml2.XMLHTTP")
  }catch(e){
    try{
      C=new ActiveXObject("Microsoft.XMLHTTP")
    }catch(sc){
      C=null
    }
  }
  if(!C&&typeof XMLHttpRequest!="undefined"){
    C=new XMLHttpRequest()
  }
  return C
}


/* Positioning */
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
var g_trg; 
var g_zIdx = 0;         

function efp(x,y,from) 
 { 

   if (!from)from=document; 
   //from = document;

   efpi(from,x,y); 
   return g_trg; 
 } 

 function efpi(from, x,y) 
 { 
   var n,i; 

   for(i=0;i<from.childNodes.length;i++) 
   { 
     n=from.childNodes[i]; 
        var sx = getElementPosX(n);  var sy = getElementPosY(n); 
        var ex = sx + n.offsetWidth;  var ey = sy + n.offsetHeight; 
        if ( x > sx && x < ex && y > sy && y < ey )  
        { 
          if (n.style.position != 'absolute') 
          { 
             g_trg=n; 
             efpi(n,x,y); 
          } else if (n.style.visibility=='visible' && (n.style.zIndex && 
                       n.style.zIndex >= g_zIdx) || (!n.style.zIndex && g_zIdx < 1)         
                      ) 
          { 
             g_trg=n; 
             if ( n.style.zIndex ) g_zIdx = n.style.zIndex; 
             efpi(n,x,y); 
          } 
        } 
    } 
  } 


  function getElementPosY(myObj)  
  { 
     return (myObj.offsetTop + ((myObj.offsetParent) ?   
              getElementPosY(myObj.offsetParent) : 0)); 
  } 

  function getElementPosX(myObj)  
  { 
     return (myObj.offsetLeft + ((myObj.offsetParent) ?  
              getElementPosX(myObj.offsetParent) : 0)); 
  }       

function getElementsByClass(needle){
  var         my_array = document.getElementsByTagName("*");
  var         retvalue = new Array();
  var        i;
  var        j;
  for (i = 0, j = 0; i < my_array.length; i++)
  {
    var c = " " + my_array[i].className + " ";
    if (c.indexOf(" " + needle + " ") != -1)
      retvalue[j++] = my_array[i];
  }
  return retvalue;
}

function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn); 
		return r;
	} else return false;
}

Delegate = {
 create: function (obj, func, params){
   var f = function(){
    return func.apply(obj, params);
   };
   return f;
 }
}
function delegate( that, thatMethod )
{
  return function() { return thatMethod.call(that); }
}

function set_cookie ( name, value, expires, path, domain, secure ){
  var cookie_string = name + "=" + escape ( value );

  if ( expires ){
   //  var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }

  if ( path )
        cookie_string += "; path=" + escape ( path );

  if ( domain )
        cookie_string += "; domain=" + escape ( domain );
  
  if ( secure )
        cookie_string += "; secure";
  
  document.cookie = cookie_string;
}

function delete_cookie ( cookie_name ){
  var cookie_date = new Date ( );  // current date & time
  cookie_date.setTime ( cookie_date.getTime() - 1 );
  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
function get_cookie ( cookie_name ){
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}


