function offset(k){
 var k = k;
 k=(k==undefined)?0:k;
 // если смещение не задано
 if(k==0)return false;
 // абсолютный коэффициент смещения
 var ka = k>0?k:k*-1;
 if(ka==this.length)return false;
 // если абсолютный коэффициент кратный длине массива
 if(ka>this.length && ka%this.length==0)return false;
 // TODO: оптимизировать смещение,
 // смещая не на коэфициент,
 // а на остаток деления ka%this.length.
 if(k>0){
   for(var i=0;i<k;i++){
     var a=this.pop();
     this.splice(0,0,a);
   }
 }else{
   k=k*-1;
   for(var i=0;i<k;i++){
     var b=this.shift();
     this.push(b);
   }
 }
}

Array.prototype.offset=offset;



/* --------------------------------------------------------
   скрываем или показываем объект;
   -------------------------------------------------------- */
    
function toggle(obj) {
	var el = document.getElementById(obj);
	if ( el.style.display != 'block' ) {
		el.style.display = 'block';
	}
	else {
		el.style.display = 'none';
	}
}

/* --------------------------------------------------------
   добавляем елемент на страницу после нужного елемента;
   -------------------------------------------------------- */

function insertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
}

/* --------------------------------------------------------
   getCookie(), setCookie(), deleteCookie();
   -------------------------------------------------------- */

function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
	
function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+"="+escape( value ) +
		( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) +
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}
	
function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}



