// User-Agent
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = ((userAgent.indexOf('opera') != -1) || (typeof(window.opera) != 'undefined'));
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf('msie 4.') != -1));
var is_ie7    = ((is_ie) && (userAgent.indexOf('msie 7.') != -1));
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));
var is_mac    = (userAgent.indexOf('mac') != -1);

//
// FUNCTION TO EMULATE `DOCUMENT.GET-ELEMENT-BY-ID`
//
this.$I = function(idname)
{
	if (document.getElementById)
	{
		return document.getElementById(idname);
	}
	else if (document.all)
	{
		return document.all[idname];
	}
	else if (document.layers)
	{
		return document.layers[idname];
	}
	else
	{
		return null;
	}
}

//
// TRIMS LEADING AND TRAILING WHITESPACE
//
this.Trim = function(str)
{
	str = str.replace(/^\s+/g, '');
	str = str.replace(/(\s+)$/g, '');
	
	return str;
}

//
// RANDOMIZING
//
this.Rand = function(min, max)
{
	var rand;
	
	max = parseInt(max) - 1;
	min = parseInt(min);
	rand = (Math.random() * max) + 1;
	rand = Math.round(rand);
	rand = rand + min;
	
	return rand;
}

//
// HTML-SPECIAL-CHARS
//
this.Htmls = function(string)
{
	var f, r;
	
	// IS MAC ?
	var is_mac = navigator.userAgent.toLowerCase().indexOf('mac') != -1;
	
	f = new Array
	(
		(is_mac && is_ie ? new RegExp('&', 'g') : new RegExp('&(?!#[0-9]+;)', 'g')),
		new RegExp('<', 'g'),
		new RegExp('>', 'g'),
		new RegExp('"', 'g')
	);
	
	r = new Array
	(
		'&amp;',
		'&lt;',
		'&gt;',
		'&quot;'
	);
	
	for (var i = 0; i < f.length; i++)
	{
		string = string.replace(f[i], r[i]);
	}
	
	return string;
}

//
// FILTER INPUTS
//
this.ParseInput = function(string, type)
{
	string = Trim(string);
	
	string = Htmls(string);
	string = string.replace("\n", "<br />");
	string = string.replace("\"", "\\\"");
	string = string.replace("'", "\'");
	
	if (type)
	{
		switch(type)
		{
			case INT:
			case INTEGER:
				str = parseInt(string);
			break;
			
			case STR:
			case STRING:
			default:
				str = string.toString();
			break;
			
			case UPPER:
				str = string.toString().toUpperCase();;
			break;
			
			case LOWER:
				str = string.toString().toLowerCase();;
			break;
		}
	}
	else
	{
		str = string;
	}
	
	return string;
}

//
// STRING CHANGER OF SEARCH BOX
//
function searchBox(obj)
{
	if (obj.value == 'Search query')
	{
		obj.value = '';
		obj.style.color = "#444";
	}
	else if (obj.value == '')
	{
		obj.value = 'Search query';
		obj.style.color = "#B5B5B5";
	}
}

var sTime;

//
// INTERNAL STATUS BAR SYSTEM
//
function Status(str)
{
	// REMOVE LAST TIME-OUT
	clearTimeout(sTime);
	
	var obj;
	obj = $I("status");
	
	obj.style.display = "block";
	obj.innerHTML = str;
	
	sTime = window.setTimeout("$I('status').style.display = 'none'; $I('status').innerHTML = '';", 1999);
}

//
// DESTINATION CONTROL
//
function Destination(url)
{
	var obj, title;
	obj = $I("destination");
	
	if (obj.getElementsByTagName('a')[0])
	{
		obj = getElementsByTagName('a')[0];
	}
	
	url = "http://www.pajohesh.ir/" + url;
	
	if (obj.innerHTML.split(":")[0])
	{
		title = obj.innerHTML.split(":")[0];
	}
	else
	{
		title = "Destination";
	}
	
	obj.innerHTML = obj.innerHTML.split(":")[0] + ": " + url;
}

//
// GET `Y` VALUE OF OBJECT [TOP]
//
function GetY(obj)
{
	obj = typeof obj == "object" ? obj : $I(obj);
	
	var fHeight = obj.offsetHeight;
	var curtop = 0;
	
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
	{
		curtop += obj.y;
	}
	
	var re = curtop + fHeight;
	
	return re;
}

//
// GET `X` VALUE OF OBJECT [LEFT]
//
function GetX(obj)
{
	obj = typeof obj == "object" ? obj : $I(obj);
	
	var curleft = 0;
	
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
	{
		curleft += obj.x;
	}
	
	return curleft;
}

var smTiming;

//
// SUB-MENU CREATOR
//
function SubMenu(meId, itms)
{
	var i, ic, obj, hide;
	obj = $I("menu");
	ic = "";
	
	// REMOVE LAST TIME-OUT
	clearTimeout(smTiming);
	
	// MAKE ITEMS
	for (i = 0; i < itms.length; i++)
	{
		var action = itms[i][1];
		action = action != "?act=search" ? "load('" + action + "');" : "showSearch();";
		ic += "<li onmouseover=\"this.style.backgroundColor = '#E7E8DD';\" onmouseout=\"this.style.backgroundColor = ''\" onclick=\"" + action + "\">" + itms[i][0] + "</li>";
	}
	
	// SET CONTENTS
	obj.getElementsByTagName('ul')[0].innerHTML = ic;
	
	obj.style.left = parseInt(GetX(meId)) - meId.offsetWidth + 106 + "px";
	obj.style.top = parseInt(GetY(meId)) - meId.offsetHeight + 3 + "px";
	obj.style.display = "block";
	
	hide = "$I('menu').style.display = 'none';"
		+ "$I('menu').getElementsByTagName('ul').innerHTML = '';";
	
	var omo = meId.onmouseout;
	
	// MENU HIDING
	var mo = function(e)
	{
		smTiming = window.setTimeout(hide, 700);
	}
	
	meId.onmouseout = function(e)
	{
		smTiming = window.setTimeout(hide, 700);
	}
	
	obj.onmouseout = function(e)
	{
		smTiming = window.setTimeout(hide, 700);
	}
	
	obj.onmouseover = function(e)
	{
		clearTimeout(smTiming);
	}
}

//
// USE SUB MENU OBJECT IN EASY MODE
//
function Menu(obj, id)
{
	switch(id)
	{
		case 0:
			SubMenu(obj, [['تاريخچه', '?act=history'], ['اهداف', '?act=goals'], ['رزومه', '?act=resume']]);
		break;
		
		case 1:
			SubMenu(obj, [['درماني', '?act=darmani'], ['رفاهي', '?act=refahi'], ['آسايشگاه سالمندان', '?act=old'], ['تجاري', '?act=commerce'], ['پژوهشي', '?act=research']]);
		break;
		
		case 2:
			SubMenu(obj, [['عمومي', '?act=articles_public'], ['تخصصي', '?act=articles_pro']]);
		break;
		
		case 3:
			SubMenu(obj, [['هيئت رئيسه', '?act=main_mod'], ['هيئت مديره', '?act=main_members']]);
		break;
	}
}

//
// BASIC WAY TO ACCESS AJAX
//
function load(url, target)
{
	document.location = url;
}

//
// MAKE INTERNAL LINK
//
function URL()
{
	var i;
	
	var ulist = document.getElementsByTagName("a");
	
	for (i = 0; i < ulist.length; i++)
	{
		var ulistlink = ulist[i];
		
		if (ulistlink.getAttribute("url") && ulistlink.getAttribute("rel"))
		{
			ulistlink.removeAttribute("href");
			
			ulistlink.onclick = function()
			{
				var dem = this.getAttribute("rel").split(" ")[1].split(":");
				
				showImage(this.getAttribute("title"), this.getAttribute("url"), dem[0], dem[1]);
			}
		}
	}
}

//
// FIXING INPUT-BOX PROBLEM IN 'IE-6'
//
function input()
{
	var i;
	
	var ulist = document.getElementsByTagName("input");
	
	for (i = 0; i < ulist.length; i++)
	{
		var obj = ulist[i];
		
		if (obj.getAttribute("type") == "text" || obj.getAttribute("type") == "password")
		{
			if (!obj.style.width && !obj.width)
			{
				obj.style.width = "95%";
			}
		}
	}
}

//
// SHOW IMAGES
//
function showImage(subject, url, width, height)
{
	var obj = $I("image");
	var title = obj.getElementsByTagName("div")[0];
	var content = obj.getElementsByTagName("div")[1];
	
	if (width >= 800)
	{
		width = 800;
	}
	
	title.innerHTML = subject;
	content.innerHTML = "<img src=\"" + url + "\" width=\"" + width + "\" alt=\"Close\" title=\"Close\" />";
	obj.style.display = "block";
	obj.style.left = (((typeof document.width == "undefined" ? screen.width : document.width) - obj.offsetWidth) / 2) + "px";
	
	document.onmouseup = function(e)
	{
		closeImage();
	}
	
	// SCROLL TO IMAGE TITLE
	scroll(0, 50);
}

//
// CLOSE IMAGE
//
function closeImage()
{
	var obj = $I("image");
	var title = obj.getElementsByTagName("div")[0];
	var content = obj.getElementsByTagName("div")[1];
	
	title.innerHTML = "";
	content.innerHTML = "";
	obj.style.left = "0pt";
	obj.style.display = "none";
}

//
// AUTOMATIC HTML-AREA PUTTER
//
function htmltextarea()
{
	var i;
	
	var elements = document.getElementsByTagName("textarea");
	var rands = ['asdasd', 'xcvsdf', 'ertert', 'fhrty', 'tyutyu', 'nmbn', 'fghfgh', 'sdfwr3'];
	
	for (i = 0; i < elements.length; i++)
	{
		var element = elements[i];
		var objId = element.getAttribute("id");
		
		if (element.getAttribute("rel") == "wysiwyg")
		{
			if (!objId)
			{
				objId = rands[i];
				element.setAttribute("id", objId);
				
				WYSIWYG.attach(objId);
			}
			
			element.setAttribute("rel", "false");
		}
	}
}

scrollr = 1;

//
// SCROLLER-BOTTOM
//
function scroller(type)
{
	var obj, num, list, none = false,
	
	obj = $I('scroll');
	list = obj.getElementsByTagName('li');
	obj = obj.getElementsByTagName('ul');
	obj = obj[0];
	
	// Make 'Top' value
	num = is_ie ? 117 : 105;
	
	if (type == 1)
	{
		if (scrollr != 1)
		{
			num = parseInt(obj.style.top) + num;
			scrollr--;
		}
		else
		{
			none = true;
		}
	}
	else
	{
		if (scrollr != list.length)
		{
			num = parseInt(obj.style.top) - num;
			scrollr++;
		}
		else
		{
			none = true;
		}
	}
	
	// Make position
	if (!none)
	{
		obj.style.top = num + "px";
	}
}

//
// FIXING INPUT-BOX PROBLEM IN 'IE-6'
//
function inputBox()
{
	var i, elements = document.getElementsByTagName("input");
	
	if (is_ie)
	{
		for (i = 0; i < elements.length; i++)
		{
			var obj = elements[i];
			
			if (obj.getAttribute("type") == "text" || obj.getAttribute("type") == "password")
			{
				if (!obj.style.width && !obj.width)
				{
					obj.style.width = "87%";
				}
			}
			else if (obj.getAttribute("type") == "button" || obj.getAttribute("type") == "reset"
					|| obj.getAttribute("type") == "submit")
			{
				obj.style.textAlign = "center";
			}
		}
	}
}

//
// Change news image location
//
function newsimage(src)
{
	if (!src)
	{
		src = "images/default-avatar.jpg";
	}
	
	$I('news-last').src = src;
}

//
// Toggle left block
//
function toggle_left(button)
{
	var obj = $I("page-block-left");
	button = button.getElementsByTagName('img');
	button = button[0];
	
	if (obj.style.display == "")
	{
		obj.style.display = "none";
		button.src = "images/bullet-right.jpg";
	}
	else
	{
		obj.style.display = "";
		button.src = "images/bullet-left.jpg";
	}
}

//
// Toggle right block
//
function toggle_right(button)
{
	var obj = $I("page-block-right");
	button = button.getElementsByTagName('img');
	button = button[0];
	
	if (obj.style.display == "")
	{
		obj.style.display = "none";
		button.src = "images/bullet-left.jpg";
	}
	else
	{
		obj.style.display = "";
		button.src = "images/bullet-right.jpg";
	}
}

function tree(id)
{
	obj = $I(id);
	
	if (obj.style.display == "")
	{
		obj.style.display = "none";
	}
	else
	{
		obj.style.display = "";
	}
}

