var dotReplace = false;
function keypressEvent(the_key){ 
  if(the_key == 46 && dotReplace){  
    event.keyCode = 44; 
  }
}
function keydownEvent(the_key){ 
  if(the_key == 110){   
    dotReplace = true; 
  } else {  
    dotReplace = false; 
  }
}
function buttonBoxSubmit(button, formName, action){
  var myHidden = document.createElement('input');
  myHidden.setAttribute('type', 'hidden');
  myHidden.setAttribute('value', 1);
  myHidden.setAttribute('name', button);
  myHidden.setAttribute('ID', 'OpButton');          
  document.getElementById(formName).appendChild(myHidden);          
        
  var myForm = eval('document.'+formName);
  if(action!=''){
    myForm.action=action;
  }
  myForm.submit();
}


function open_details(url, windowname) {
	if (!windowname)
	  windowname = "task_details";
	window.open(url,windowname,"toolbar=0,location=0,resizable=1,scrollbars=1,width=600,height=500");
}

function open_help(url) {
	window.open(url,"help_screen","toolbar=0,location=0,resizable=1,scrollbars=1,width=900,height=600");
}

function autoFocus(){
	
	var error_control = document.getElementById('__error_control');
	if(error_control && error_control.value!=''){
		var element = document.getElementById(error_control.value);
			if( element && !element.disabled &&
	  		( 
	  			(element.type=='text') ||
					(element.type=='password')
	  		)
	  	){
	  		var err_flag=0;
	    	try {element.focus()}
	    	catch(err){err_flag=1};  				
				return true;
			}
	}
	
	if(document.forms.length){
		outer_loop:		
		for(var i=0; i<document.forms.length; i++){
			for(var j=0; j<document.forms[i].elements.length; j++){
				var element = document.forms[i].elements[j];
        if (element){
        	if((element.name == '_disable_autofocus') &&
          	(element.type == 'hidden') &&
            (element.value == 'yes'))
            return false;
                
					if((element.name) &&
	    			(element.type=='text') ||
    				(element.type=='password')){
	    			if (!element.disabled){
	    				var err_flag=0;
				    	try {element.focus()}
				    	catch(err){err_flag=1};
				    	if(!err_flag){
				    		element.focus();
					    	break outer_loop;
							}
						}
					}
				}
			}
		}
	}
	
}

var Months = new Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

//raw_time - for debug purpose only
function browseTimeOffset(raw_time,year,month,day,hour,minute,second, delta){
	var localDateTime = new Date();
    var offset;
	var rawDateTime = new Date(year,month,day,hour,minute,second);
	rawDateTime.setFullYear(year); // years after 2000 dont pass through constructor
    if (delta){
      offset = (Number(delta.substr(1,2))*3600000)+(Number(delta.substr(5,2))*60000);
      if (delta.substr(0,1) == '+') offset = -offset;
    }else{
	  offset = localDateTime.getTimezoneOffset()*60000;
    }
	localDateTime.setTime(rawDateTime.getTime()-offset);
	var localMonth = localDateTime.getMonth()-1;
	localMonth 		= Months[localMonth];
	var localDay 	= _leadZero(localDateTime.getDate());
	var localHour 	= _leadZero(localDateTime.getHours());
	var localMinute = _leadZero(localDateTime.getMinutes());
	var localSecond = _leadZero(localDateTime.getSeconds());
	
	return (localDay+'-'+localMonth+'-'+localDateTime.getFullYear()+' '+localHour+':'+localMinute+':'+localSecond);
	}
	
function _leadZero(num){
	if (String(num).length == 1) num = '0'+num;
	return num;
}

////////////////////////
// cookie_functions.js //
/////////////////////////

// get the value of a cookie by name
function getCookie(name){
	var cname = name + "=";   
	var dc = document.cookie; 

	if (dc.length > 0) {  
		begin = dc.indexOf(cname);   

		if (begin != -1) {   
			begin += cname.length;   
			end = dc.indexOf(";", begin);

			if (end == -1) end = dc.length;

			return unescape(dc.substring(begin, end));
		} 
	}

	return (null);
}

// set a cookie
// accepts name, value, [expires]
// expiry time is set in milliseconds (i.e. 5 seconds = (5*1000))
// if expiry is not set, the cookie will last the life of the session
function setCookie(name, value, expires) {
	var expDate = new Date();
	expDate.setTime(expDate.getTime() + expires);

	document.cookie = name + "=" + escape(value) + "; path=/" + ((expires == null) ? "" : "; expires=" + expDate.toGMTString());
}

// delete a cookie by name
function eatCookie(name) {
	document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" +  ";	path=/";
}

// BrowserCheck Object
function BrowserCheck(){
  var a = navigator.userAgent
  var b = navigator.appName
  if (b=='Netscape') this.b = 'ns'
  else if (b=='Microsoft Internet Explorer') this.b = 'ie'
  else this.b = b
  this.version = navigator.appVersion
  this.v = parseInt(this.version)
  this.ns = (this.b=='ns' && this.v>=4)
  this.ns4 = (this.b=='ns' && this.v==4)
  this.ns5 = (this.b=='ns' && this.v==5)
  this.ie = (this.b=='ie' && this.v>=4)
  this.ie4 = (this.version.indexOf('MSIE 4')>0)
  this.ie5 = (this.version.indexOf('MSIE 5')>0)
  this.ie55 = (this.version.indexOf('MSIE 5.5')>0)
  this.opera = (a.indexOf('Opera')>0)
  this.min = (this.ns||this.ie)
}

function flipBlock(id, isrc){
	h=document.getElementById(id);
	h.value=h.value==1?0:1;
	i=document.getElementById(id+'_img');
	i.src=isrc+(h.value==1?'up':'down')+'.gif';
	_v=h.value==1?'none':'block';
	v=h.value==1?'block':'none';
	document.getElementById('show_'+id).style.display=v;
	document.getElementById('hide_'+id).style.display=_v;
}

function f_onMouseOver(){
  document.body.style.cursor = 'pointer';
}

function f_onMouseOut(){
  document.body.style.cursor = 'default';
}

function f_onClick(language){
  document.body.style.cursor = 'default';
  document.MyForm.sAction.value = 'ChangeLanguage';
  document.MyForm.Language.value = language;
	document.MyForm.submit();
}

function f_SetAction(action){
  document.MyForm.sAction.value = action;
}

function f_SetActionSubmit(action){
  document.MyForm.sAction.value = action;
	document.MyForm.submit();
}

function f_SetBlockAction(value){
  document.MyForm.sAction.value = 'ChangeRowQuantity';
  document.MyForm.sValue.value = value;
	document.MyForm.submit();
}
function f_SetNavAction(action){
  document.MyForm.sAction.value = 'Navigate';
  document.MyForm.sCommand.value = action;
	document.MyForm.submit();
}
function f_SetActionValue(action, value){
  document.MyForm.sAction.value = action;
  document.MyForm.sValue.value = value;
	document.MyForm.submit();
}
function f_SetMaintContent(value){
  document.MyForm.sAction.value = 'ToggleContentLanguage';
  document.MyForm.sValue.value = value;
	document.MyForm.submit();
}
function f_SetDetailsValue(action, value, formid){
  document.MyForm.sAction.value = action;
  document.MyForm.sValue.value = value;
  document.MyForm.sFormId.value = formid;
	document.MyForm.submit();
}
function f_SetSwitchBoardValue(refid, object, value){
  document.MyForm.action = 'mainbody.php?objectid=' + object;
  document.MyForm.sAction.value = 'Switch';
  document.MyForm.sValue.value = refid;
  document.MyForm.sFormId.value = value;
	document.MyForm.submit();
}
