
// Это штука прячет и показывает меню "не для всех"
// Записывает порложение выключателя в куку.
// Человек нажимает на "плюсик"и открывается скрытые пункты в меню.
// Это запонимается в куке и в след раз пункты у него сразцу открыты.
//
//
//
//




// вызовы по cookies моего скрипта (для тестов - очень удобно)
//<a href="#" onClick="Set_Cookie( 'ShowHiddenMnu', 'on', '', '/', '', '' );">SET ON</a><br><br>
//<a href="#" onClick="Set_Cookie( 'ShowHiddenMnu', 'off', '', '/', '', '' );">SET OFF</a><br><br>
//<a href="#" onClick="Reverse_Cookie( 'ShowHiddenMnu', 'off', 'on', '', '/', '', '' );">REVERSE COOKIE</a><br><br>
//<a href="#" onClick="alert( Get_Cookie('ShowHiddenMnu'));">SHOW COOKIE VOLUE</a><br><br>



function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );

	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	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() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}
			

// this fixes an issue with the old method, ambiguous values
// with this test document.cookie.indexOf( name + "=" );

function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f

	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );


		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}




// this function gets the cookie, if it exists
// don't use this, it's weak and does not handle some cases
// correctly, this is just to maintain legacy information

function Get_Cookie( 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 ) );
}
			

// this deletes the cookie when called

function Delete_Cookie( name, path, domain ) {
if ( Get_Cookie( name ) ) document.cookie = name + "=" +
( ( path ) ? ";path=" + path : "") +
( ( domain ) ? ";domain=" + domain : "" ) +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


// reverse cookie betwin two volues (my)
// НЕ ИСПОЛЬЗУЕТСЯ, ХОТЯ И РАБОТАЕТ!

function Reverse_Cookie( name, value1, value2, expires, path, domain, secure ) {
vol = Get_Cookie( name );
if (!vol) vol == value1; // вдруг нету ваще куки
if ( vol == value1 ) newvol = value2; // перевернули
if ( vol == value2 ) newvol = value1; // перевернули
Set_Cookie( name, newvol, '', '/', '', '' ); // установили новое значение
}



// программа тестирует куку при запуске и прячет/показывает DIV
function DetectCookie_and_SetDiv (name, DivId){
	var vol = Get_Cookie( name );
	var div1 = document.getElementById(DivId);

	if (vol == 'on') {
		div1.style.display = 'block';
	} else {
		div1.style.display = 'none';;
	}
return;
}



// функция по НАЖАТИЮ прячет/показыввает DIV и меняет куку
// вызов <a href="#" onClick="Toggle_Div_by_Key('i32'); return false;">жми</a>
// для первой страницы главного меню - с анимацией.

function Toggle_Div_by_Key(DivId){
	var div1 = document.getElementById(DivId)
	if (div1.style.display == 'none') {
		//div1.style.display = 'block'; 
		new Effect.toggle($(div1),'blind');
		Set_Cookie( 'ShowHiddenMnu', 'on', '', '/', '', '' );
		//alert(Get_Cookie('ShowHiddenMnu'))
	} else {
		//div1.style.display = 'none'; 
		new Effect.toggle($(div1),'blind');
		Set_Cookie( 'ShowHiddenMnu', 'off', '', '/', '', '' );
		//alert(Get_Cookie('ShowHiddenMnu'))
	}

return;
}


// для меню вторых страниц и нижних меню. Без анимации.
function Toggle_Div_by_Key2(DivId){
	var div1 = document.getElementById(DivId)
	if (div1.style.display == 'none') {
		div1.style.display = 'block'; 
		Set_Cookie( 'ShowHiddenMnu', 'on', '', '/', '', '' );
		//alert(Get_Cookie('ShowHiddenMnu'))
	} else {
		div1.style.display = 'none'; 
		Set_Cookie( 'ShowHiddenMnu', 'off', '', '/', '', '' );
		//alert(Get_Cookie('ShowHiddenMnu'))
	}

return;
}







// вызыв функций из оригинального скрипта
//<script type="text/javascript">
//	// remember, these are the possible parameters for Set_Cookie:
//	// name, value, expires, path, domain, secure
//Set_Cookie( 'test', 'it works', '', '/', '', '' );
//if ( Get_Cookie( 'test' ) ) alert( Get_Cookie('test'));
//	// and these are the parameters for Delete_Cookie:
//	// name, path, domain
//	// make sure you use the same parameters in Set and Delete Cookie.
//Delete_Cookie('test', '/', '');
//( Get_Cookie( 'test' ) ) ? alert( Get_Cookie('test')) :
//alert( 'it is gone');
//</script>
