
// --- variables ---------------------------------------------------------------------------------------------------------------------------
var fadeObj;
var fadeOutAmount   = 90;
var fadeInAmount    = 0;
var start           = 0;
var selectedMenu    = 0;
var xmlHttpIsActive = false;
var xmlHttp         = null;
var startTime       = new Date();
var globalAjaxFile  = "ajax/functions.php";
var browser         = navigator.appName;
var b_version       = navigator.appVersion;
var version         = parseFloat(b_version);
var isIE6           = (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1) ? true : false;

// --- function ---------------------------------------------------------------------------------------------------------------------------
function GetXmlHttpObject()
{
	if(xmlHttpIsActive)
	{
		alert('Please wait for your previous action to finish processing, then try again..');
		return null;
	}
	// --- 
	try{ xmlHttp = new XMLHttpRequest(); }
	catch(e)
	{
		try{ xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
	}
	// --- 
	xmlHttpIsActive = true;
	return xmlHttp;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function CloseXmlHttpObject()
{
	xmlHttpIsActive = false;
	xmlHttp.close();
}
// --- function ---------------------------------------------------------------------------------------------------------------------------
function setCookie(c_name, value, expiredays)
{
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function getRandom(Min, Max)
{
	return (Min + Math.floor(Math.random() * (Max + 1 - Min)));
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function getCenter(num1, num2)
{
	return ((num1 + num2) / 2);
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function randomString(l)
{
	var a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	var alphabet = a.split("");
	var randomLetter = "";
	// --- 
	for (var i=0; i<l; i++)
	{
		randomLetter += alphabet[Math.floor(Math.random() * alphabet.length)];
	}
	return randomLetter;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function randomColor()
{
	var hexDec   = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
	var rndColor = "";
    // --- 
	for (var i=0; i<6; i++) 
	{
		var k = Math.round(Math.random()*15);
		rndColor += hexDec[k];
	}
	return rndColor;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function getElementsByClassName(name) 
{ 
	var a     = 0;
	var final = new Array(); 
	var allel = (document.getElementsByTagName) ? document.getElementsByTagName("*") : document.all;
	// --- 
	for(var a=0; a < allel.length; a++) 
	{
		if(allel[a].className == name){ final.push(allel[a]); }
	}     
	return final;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function toggleObjectDisplay(obj)
{
	var toggleObject = document.getElementById(obj);
	// --- 
	if(toggleStatus == "hide")
	{
		toggleObject.style.display = '';
		toggleStatus = "show";
	}
	else
	{
		toggleObject.style.display = 'none';
		toggleStatus = "hide";
	}
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function getLocalDate()
{
	var finalStr = "";
	//var dateObj  = document.getElementById(obj);
	var weekday  = new Array ("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	var month    = new Array ("January","February","March","April","May","June","July","August","September","October","November","December");
	var myDate   = new Date();
	var day      = weekday[myDate.getDay()];
	var date     = myDate.getDate();
	var month    = month[myDate.getMonth()];
	var year     = myDate.getFullYear();
	// --- 
	finalStr = day + ", " + month + " " + date + ", " + year;
	//dateObj.innerHTML = finalStr;
	document.write(finalStr);
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function redirect(url)
{
	top.location.href = url;
	document.location.href = url;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function popConfirm(msg)
{
	if(confirm(msg)){ return true; }
	else{ return false; }
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function updatePageTitle(txt)
{
	document.title = txt + " - loudfusion.com";
	document.getElementById("topTableText").innerHTML = txt;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function returnScreenWidth()
{
	var sw = screen.availWidth;
	// --- 
	if(document.body && document.body.scrollWidth){ sw = document.body.scrollWidth; }
	else if(document.body.offsetWidth){ sw = document.body.offsetWidth; }
	// --- 
	return sw;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function returnScreenHeight()
{
	var sh = screen.availHeight;
	// --- 
	if(document.body && document.body.scrollHeight){ sh = document.body.scrollHeight; }
	else if(document.body.offsetHeight){ sh = document.body.offsetHeight; }
	// --- 
	return sh;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function returnPageCurrentX()
{
	var cx = window.scrollX;
	// --- 
	if(document.documentElement){ cx = document.documentElement.scrollLeft; }
	if(document.body){ cx = document.body.scrollLeft; }
	// --- 
	return cx;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function returnPageCurrentY()
{
	var cy = window.scrollY;
	// --- 
	if(document.documentElement){ cy = document.documentElement.scrollTop; }
	if(document.body){ cy = document.body.scrollTop; }
	// --- 
	return cy;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function returnPageMaximunX()
{
	var mx = window.innerWidth;
	// --- 
	if(document.documentElement){ mx = (document.documentElement.offsetWidth - document.documentElement.clientWidth); }
	if(document.body){ mx = (document.body.offsetWidth - document.body.clientWidth); }
	// --- 
	return mx;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function returnPageMaximunY()
{
	var my = window.innerHeight;
	// --- 
	if(document.documentElement){ my = (document.documentElement.offsetHeight - document.documentElement.clientHeight); }
	if(document.body){ my = (document.body.offsetHeight - document.body.clientHeight); }
	// --- 
	return my;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function centeredPop(page, w, h, scrl)
{
	var l = (document.body.offsetWidth - w) / 2;
	var t = (screen.availHeight - h) / 2;
	var strFeatures = "toolbar=no,status=no,menubar=no,location=no,scrollbars=" + scrl + ",resizable=no,height=" + h + ",width=" + w + ",left=" + l + ",top=" + t + "";
	window.open(page,"TellObj",strFeatures);
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function fadeObjIn()
{
	var el = document.getElementById(fadeObj);
	el.style.opacity = '.'+fadeInAmount;
	el.filter = "alpha(opacity:"+fadeInAmount+")";
	// --- 
	if(fadeInAmount >= 99)
	{
		fadeInAmount = 0;
		return;
	}
	else
	{
		fadeInAmount += 6;
		setTimeout('fadeObjIn()',30);
	}
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function fadeAndRemove()
{
	var el = document.getElementById(fadeObj);
	el.style.opacity = '.'+fadeOutAmount;
	el.filter = "alpha(opacity:"+fadeOutAmount+")";
	// --- 
	if(fadeOutAmount <= 0)
	{
		el.parentNode.removeChild(el);
		fadeOutAmount = 90;
		return;
	}
	else
	{
		fadeOutAmount -= 6;
		setTimeout('fadeAndRemove()',30);
	}
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function backToTop()
{
	var curX = returnPageCurrentX();
	var curY = returnPageCurrentY();
	var newY = Math.floor(curY - (0 + curY) / 3);
	// --- 
	window.scrollTo(curX, newY);
	if(newY > 0){ window.setTimeout("backToTop()",10); }
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function checkUncheckAll(field)
{
	if(checkflag == false)
	{
		for(i = 0; i < field.length; i++){ field[i].checked = true; }
		checkflag = true;
	}
	else
	{
		for(i = 0; i < field.length; i++){ field[i].checked = false; }
		checkflag = false;
	}
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function checkFormLimit(field, limit, obj)
{
	var limitTotal  = field.value.length;
	var limitRemain = (limit - limitTotal);
	var limitObj    =  document.getElementById(obj);
	//
	if(limitRemain <= 0){ limitRemain=0; field.value=field.value.substring(0,limit); }
	if(obj != undefined && obj != ''){ limitObj.innerHTML = '<b>'+limitRemain+'</b> characters remaining'; }
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function reloadSecureImage(source)
{
   var randStr = randomString(20);
   var newIMG  = "include/secure_image.php?u=" + randStr;
   var img     = document.getElementById(source);
       img.src = '';
       img.src = newIMG;
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function bookmarksite()
{
	var title = document.title;
	var url = location.href;
	// --- 
	if(window.sidebar){ window.sidebar.addPanel(title,url,""); }
	else if(document.all){ window.external.AddFavorite(url,title); }
	else if(window.opera && window.print)
	{
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	}
}

// --- function ---------------------------------------------------------------------------------------------------------------------------
function callAjaxPHP(caseUrl, targetObj, loadImg, conf)
{
	var loadingCode = '';
	var displayObj = document.getElementById(targetObj);
	var ajaxUrl = globalAjaxFile + "?" + caseUrl;
	//
	if(loadImg == true){ loadingCode = '<img src="images/ajax-loader.gif" width="16" height="16" border="0" alt="">'; }
	else{ loadingCode = '<span class="grey"><b><i>loading, please wait..</i></b></span>'; }
	//
	if(conf == true)
	{
		if(!popConfirm('Confirm: continue..?')){ return; }
	}
	//
	displayObj.innerHTML = loadingCode;
	xmlHttp = GetXmlHttpObject();
	xmlHttp.onreadystatechange = function()
	{
		if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
		{
			displayObj.innerHTML = xmlHttp.responseText;
			CloseXmlHttpObject();
		}
	};
	xmlHttp.open("GET", ajaxUrl, true);
	xmlHttp.send(null);
}





