
// БЛОК СКРИПТОВ ДЛЯ ОТСЛЕЖИВАНИЯ ОТ КОГО ПРИШЛИ ДЛЯ ЗАПИСИ НА МАСТЕР-КЛАСС
//
//      Ловит (вызов здесь!) комм строку и заносит 
//	в куку название парнера  http://www.alexeynikishin.ru/?persona
//
//
//      А прочитав куку засовывает в форму (на странице masterklass_portret.html): 
//
//	<script type="text/javascript">
//	patner = Get_Cookie('RefPartner');
//	if (patner) document.forms.masterklassform.msadd.value=patner;
//	</script>
//
//      Заполняет скрытое поле (msadd) в форме (masterklassform) записи на мастер-класс
//
//



// вызовы по cookies моего скрипта (для тестов - очень удобно)
//<a href="#" onClick="Set_Cookie( 'RefPartner', 'on', '', '/', '', '' );">SET ON</a><br><br>
//<a href="#" onClick="Set_Cookie( 'RefPartner', 'off', '', '/', '', '' );">SET OFF</a><br><br>
//<a href="#" onClick="alert( Get_Cookie('RefPartner'));">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";
}






// МОЕ!
// Cмотрит, может пришло в командной строке www.alexeynikishin.ru?persona
// если ДА, то записывает егго в куку
// если НЕТ - пропускает, оставив старую

function DetectAndSetPartnerName() {
query_string = window.location.search.split( "?" )[1];
//if (query_string) alert(query_string);
if (query_string) Set_Cookie( 'RefPartner', query_string, '', '/', '', '' );
}



// Этот скрипт печатает счетчик, который через параметры считает 
// кол-во хитор с этого реферера и передает его на сервак.

function PrintCGICounter() {
// vs будем читать из командной строки!!! не из куки. А то будет по много раз передаваться.
query_string = window.location.search.split( "?" )[1];
//if (query_string) alert(query_string);
img="<img src='http://www.alexeynikishin.com/cgi-bin/RU/partners_hits_counter.pl?" + "RefPartner=" + escape(query_string) + "' border=0 width=1 height=1>";
if (query_string) document.write(img);
}




//запуск
DetectAndSetPartnerName();
PrintCGICounter();




// вызыв функций из оригинального скрипта
//<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>
