function getGlobalDomain() {return "www" + getSubdomain();}
function getSubdomain() {
	var host=location.host, subdomain=host, dotPosition=0;
	if ((dotPosition=host.indexOf('.')) != host.lastIndexOf('.')) {//at least two dots
		subdomain=host.substring(dotPosition);
	}
	return subdomain;
}

function deleteUserTypeCookie(){Delete_Cookie("usertype", "/", getSubdomain());}
function setAdvisorCookie(){setAdvisorCookieOnly();setCountryCookieOnly();}
function setInvestorCookie(){setInvestorCookieOnly();setCountryCookieOnly();}
function setAdvisorCookieOnly(){Set_Cookie("usertype", "advisor", 3650, "/", getSubdomain(), false);}
function setInvestorCookieOnly(){Set_Cookie("usertype", "investor", 3650, "/", getSubdomain(), false);}
function setCountryCookieOnly(){Set_Cookie("country", "us", 3650, "/", getSubdomain(), false);}
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 function gets the cookie, if it exists
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";
	}
}

// Checks the JSESSION cookie ID against valid jsession suffixs and deletes if not valid 
function Check_JSessionCookie( name, app1, app2, pimdomain) {
	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;}
	var jsessValue = document.cookie.substring( len, end );
	if ((jsessValue.indexOf(app1) < 0) & (jsessValue.indexOf(app2) < 0)) {
           Delete_Cookie( name, '/', pimdomain );	   	
	}
	return unescape( document.cookie.substring( len, end ) );
}

//testing cookies:
// 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');

////////////parsing queries
function parsequery(){ 
	var arg_pairs = new Object(); 
	arg_pairs.names = new Array(); 
	arg_pairs.values = new Array(); 
	var query = location.search.substring(1); 
	if(query == "") { return null; } 
	var pairs = query.split("\&"); 
	for(var i = 0; i < pairs.length; i++){ 
		var pos = pairs[i].indexOf('='); 
		if(pos == -1){ continue; } 
		var arg_name = pairs[i].substring(0,pos); 
		var arg_value = pairs[i].substring(pos+1); 
		arg_pairs.names[i] = arg_name; 
		arg_pairs.values[i] = arg_value; 
	} 
	return arg_pairs; 
}
function getqueryparam(arg_pairs, paramname){ 
	for(var i = 0; i < arg_pairs.names.length; i++){ 
		if(arg_pairs.names[i] == paramname){ return arg_pairs.values[i]; } 
	} 
	return null; 
}
//testing:
///var url_pairs = parsequery(); 
///var firstvalue = getqueryparam(url_pairs, "name_of_first_variable"); 
