

// Special Effects Functions

function darken()
{
	var DC  = document.getElementById("DarkCover");
	var IE = navigator.appName.indexOf("Internet Explorer") >= 0;
	if(IE)
	{
		DC.filters.alpha.opacity = 70;
	}
	else
	{
		DC.style.opacity = 0.7;
	}
	DC.style.width  = document.body.scrollWidth;
	DC.style.height = document.body.scrollHeight;
	DC.style.left = 0;
	DC.style.top = 0;	
	DC.className = "visible";
}

function illuminate()
{
	var DC = document.getElementById("DarkCover");
	var IE = navigator.appName.indexOf("Internet Explorer") >= 0;
	if(IE)
		DC.filters.alpha.opacity = 0;
	else
		DC.style.opacity = 0;
	DC.className = "invisible";
}


function isIE ()
{
	return navigator.appName.indexOf("Internet Explorer") >= 0;
}




// Registration Functions

function FastLogin( username, password, num, code, valid )
{
	var err = "";
	if(username=="")
		err += "נא להכניס שם משתמש\n";
	if(password=="")
		err += "נא להכניס סיסמא\n";
	if(code=="")
		err += "נא להכניס קוד אבטחה\n";

	if(err!="")
	{
		alert(err);
		return false;
	}

	function LoginTry( txt )
	{
		if( txt.substr(0,2)=="ok" )
			window.location.reload();
		else
			alert( txt );
	}

	ajax = new oldAJAXcon();
	var parameters = {
		ajax: "true",
		username: username,
		password: password,
		num: num,
		code: code,
		valid: valid
	} ;
	ajax.Post ("modules.php?name=MyWorld&file=ajax&op=login", parameters, LoginTry);
	return false;
}

function FastLogout()
{
	function AfterLogout( txt )
	{
		if( txt.substr(0,2)=="ok" )
			window.location = "index.php";
		else
			alert( txt );
	}

	ajax = new oldAJAXcon();
	var parameters = {
		ajax: "true",
		uid: GetUserID(),
		valid: GetValidationKey()
	} ;
	ajax.Post ("modules.php?name=MyWorld&file=ajax&op=logout", parameters, AfterLogout);
}

function FastSignin (username, password, password2, email, num, code, valid)
{
	var err = "";
	if(username=="")
		err += "נא להכניס שם משתמש\n";
	if(password=="")
		err += "נא להכניס סיסמא\n";
	else if(password!=password2)
		err += "יש לחזור על הסיסמא בדיוק\n";
	if(email=="")
		err += "נא להכניס אימייל\n";
	if(code=="")
		err += "נא להכניס קוד אבטחה\n";

	if(err!="")
	{
		alert(err);
		return false;
	}

	function SigninTry( txt )
	{
		if( txt.substr(0,2)=="ok" )
			FastLogin(username, password, num, code, valid);
		else
			alert( txt );
	}

	ajax = new oldAJAXcon();
	var parameters = {
		ajax: "true",
		username: username,
		password: password,
		email: email,
		num: num,
		code: code,
		valid: valid
	} ;
	ajax.Post ("modules.php?name=MyWorld&file=ajax&op=signin", parameters, SigninTry);
	return false;
}

function FastRetrieveDetails(username, email, num, valid)
{
	var err = "";
	if(username=="" && email=="")
		err += "חובה להכניס אימייל או שם משתמש\n";

	if(err!="")
	{
		alert(err);
		return false;
	}

	function LostTry( txt )
	{
		if( txt.substr(0,2)=="ok" )
		{
			alert("בקשתך נתקבלה.\r\nאנא בדוק את תיבת האימייל שלך בהקדם, ופעל עפ\"י ההוראות שם.");
			HideHidingForm();
		}
		else
			alert( txt );
	}

	ajax = new oldAJAXcon();
	var parameters = {
		ajax: "true",
		username: username,
		email: email,
		num: num,
		valid: valid
	} ;
	ajax.Post ("modules.php?name=MyWorld&file=ajax&op=lost", parameters, LostTry);
	return false;
}

function FastNewPass (uid, username, password, password2, num, code, valid)
{
	var err = "";
	if(password=="")
		err += "נא להכניס סיסמא\n";
	else if(password!=password2)
		err += "יש לחזור על הסיסמא בדיוק\n";
	if(code=="")
		err += "נא להכניס קוד אבטחה\n";

	if(err!="")
	{
		alert(err);
		return false;
	}

	function NewPassTry( txt )
	{
		if( txt.substr(0,2)=="ok" )
		{
			alert("הסיסמא שונתה בהצלחה.");
			valid = txt.substr(2);
			FastLogin(username, password, num, code, valid);
		}
		else
			alert( txt );
	}

	ajax = new oldAJAXcon();
	var parameters = {
		ajax: "true",
		uid: uid,
		password: password,
		num: num,
		code: code,
		valid: valid
	} ;
	ajax.Post ("modules.php?name=MyWorld&file=ajax&op=newpass", parameters, NewPassTry);
	return false;
}


// Show/Hide Registration Forms Functions

var old_name=false, dark = false;
function ShowHidingForm(name, darkening, scroll)
{
	var IE = navigator.appName.indexOf("Internet Explorer") >= 0;
	var obj = document.getElementById(name+"Form");
	if(!obj)
		return;

	HideHidingForm();

	if(darkening)
	{
		darken();
		dark = true;
	}

	old_name = name;

	setVisibility( document.getElementById(old_name+"Form"), true);

	xy = getObjectPosition(obj);

	if( IE && darkening || scroll )
		window.scrollTo( xy[0], xy[1] );
}


function getObjectPosition(obj)
{
	var left=0, top=0;

	for (left=0, top=0; obj.offsetParent; obj = obj.offsetParent)
	{
		left += obj.offsetLeft;
		top += obj.offsetTop;
	}

      return [left,top];
}


function HideHidingForm()
{
	if(old_name)
		setVisibility( document.getElementById(old_name+"Form"), false);

	old_name = false;

	if(dark)
		illuminate();
}




// Cookies Handling Functions

function setCookie(name,val)
{
    var d = new Date();
    d = new Date(d.getTime() + 1000*60*60*24*365);
    document.cookie = name + "=" + val + "; expires=" + d.toGMTString();
}

function getCookie(name){
    var Cookie = document.cookie.split("; ");
    for(i in Cookie)
    {
	Crumb = Cookie[i].split("=");
	if (name == Crumb[0])
 	    return Crumb[1];
    }
    return null;
}



// Side-Blocks Minimizing Function

function sh_block(bid)
{
	content = document.getElementById("block_"+bid);
	message = document.getElementById("unblock_"+bid);

	if( getVisibility(content) )
	{
		setVisibility (content, false);
		setVisibility (message, true);
		value = "1";
	}
	else
	{
		setVisibility (content, true);
		setVisibility (message, false);
		value = "0";
	}

	cookie = getCookie("block_minis");
	if( cookie==null )
		cookie = "";
	arr = cookie.split("%3B");
	found = false;
	for(i in arr)
	{
		a = arr[i].split("%3A");
		//alert(arr[i]+" bid:"+bid);
		if(a[0]==bid)
		{
			//alert("found!");
			found = true;
			arr[i] = bid+"%3A"+value;
		}
	}
	if(!found)
		arr.push( bid+"%3A"+value );
	setCookie("block_minis", arr.join("%3B"));
}


function getVisibility(obj)
{
	return obj.className.indexOf("invisible") < 0 ;
}

function setVisibility(obj, vsbl)
{
	if(vsbl)
		if( obj.className.indexOf("invisible") >= 0 )
			obj.className = obj.className.replace("invisible", "visible");
		else
			obj.className += " visible";
	else
		if( obj.className.indexOf("visible") >= 0 )
			if( obj.className.indexOf("invisible") >= 0 )
				;
			else
				obj.className = obj.className.replace("visible", "invisible");
		else
			obj.className += " invisible";
}



// Public Messages Functions

function SendPublicMessage()
{
	if(GetUserID()<=1)
		return alert("מצטערים, רק משתמשים רשומים יכולים לפרסם הודעה פומבית בסרוג");
	ajax = new oldAJAXcon();
	pars = {
		ajax: "true",
		uid: GetUserID(),
		text: document.getElementById("PubMes").value,
		valid: GetValidationKey()
	};
	ajax.Post("modules.php?name=MyWorld&file=ajax&op=public", pars, HideHidingForm);
}





// Private Messages Functions

function SendPM(to)
{
	div   = document.getElementById("FastPMForm");
	elems = div.getElementsByTagName("input");
	for(i in elems)
		if(elems[i].name=="username")
			elems[i].value = to;

	ShowHidingForm('FastPM', true);
}





// User Search Functions

SugAjax = false;
function FindUserSuggestions( e, name )
{
	if( window.event )  // IE
		keynum = e.keyCode
	else if( e.which )  // Netscape/Firefox/Opera
		keynum = e.which

	if( name=="" || keynum == 27 )
		return HideUserSuggestions();

	if( !SugAjax )
		SugAjax = new AJAXcon();

	var parameters = {
		uid: GetUserID(),
		ajax: "true",
		valid: GetValidationKey(),
		uname: name,
		num: GetRandomNum()
	};
	SugAjax.Post( "modules.php?name=MyWorld&file=ajax&op=findsug2", parameters, ShowUserSuggestions );
}

function ShowUserSuggestions( res )
{
	if( !res.isOK() )
	{
		alert( "Error: " + res.getMSG() );
		return false;
	}

	var arr = res.getVar("results");
	var sug = document.getElementById("UserSuggestions");

	var text = "";
	if( arr.length == 0 )
		text = "<div style=\"background-color: #FFFFFF\">לא נמצאו התאמות</div>";
	else
		text = "<table class=\"forumline\" width=\"100%\" style=\"border-width: 0px;\" id=\"UserSugResults\"></table>";

	sug.innerHTML = text;
	sug.className = "visible";

	tbl = document.getElementById("UserSugResults");
	if( !tbl )
		return true;

	for( i in arr )
	{
		var result = arr[i];
		var row = tbl.insertRow( tbl.rows.length );

		var name = row.insertCell(0);
		var pm   = row.insertCell(1);
		var add  = row.insertCell(2);

		name.className = pm.className = add.className = "row"+(1+i%2);

		pm.style.width = add.style.width = "0px";

		name.id = "user_sug_result|"+i+"|"+result["uid"];
		name.onmouseover = function(){ this.className = "row3"; };
		name.onmouseout  = function(){ this.className = "row"+(1+parseInt(this.id.split("|")[1])%2); };
		name.onclick = function(){ location.href = "modules.php?name=MyWorld&uid="+this.id.split("|")[2]; };
		if( name.style )
			name.style.cursor = "pointer";
		else
		{
			for( i in name )
				document.write( i + ": " + name[i] );
		}

		name.innerHTML = "<a href=\"modules.php?name=MyWorld&amp;uid="+result["uid"]+"\" style=\"text-decoration: none; font-weight: bold;\">"+result["name"]+"</a>";
		pm.innerHTML   = "<a href=\"javascript:WorldSendPM('"+result["name"].replace("'", "\\'").replace("\"","&quot;")+"')\" title=\"מסר אישי\"><img src=\"/images/MyWorld/icon_mail.gif\" alt=\"מסר אישי\" border=\"0\" /></a>";
		add.innerHTML  = "<a href=\"javascript:WorldAddContact("+result["uid"]+")\" title=\"הוסף לרשימת אנשי הקשר\"><img src=\"/images/MyWorld/add_contact.png\" alt=\"הוסף לרשימת אנשי הקשר\" border=\"0\" /></a>";
	}
}

function HideUserSuggestions()
{
	var sug = document.getElementById("UserSuggestions");
	sug.className = "invisible";
	sug.innerHTML = "";
}

function GetSelectedUserUID() {}
function GetSelectedUserUName() {}

function SelectUserSugRow(uid, name)
{
	HideUserSuggestions();
	GetSelectedUserUID = function(){ return uid; };
	GetSelectedUserUName = function(){ return name; };
	document.getElementById("SearchUsers").value = name;
	ShowUserSugActions();
}

function ShowUserSugActions()
{
	document.getElementById("UserSugActions").className = "visible";
}

function HideUserSugActions()
{
	document.getElementById("UserSugActions").className = "invisible";
}



var QS_map = {}, QS_calc = false;
function _GET( name )
{
	if( !QS_calc )
	{
		var qs = window.location.search;
		var key = "", val = "";
		var state = true;
		for( i=1; i<qs.length; i++ )
		{
			if( state )
			{
				if( qs[i] == "=" )
					state = false;
				else
					key += qs[i];
			}
			else
			{
				if( qs[i] == "&" )
				{
					QS_map[key] = val;
					key = val = "";
					state = true;
				}
				else
					val += qs[i];
			}
		}
		QS_map[key] = val;
		QS_calc = true;
	}

	return QS_map[name];
}
