//Javascript name: General.js
//Date created: 28-Jan-2006 16:12
//Scripter: Ozan Pakyuz
//Website: http://www.opsoftware.co.uk
//Copyright (c) 2006 OP Software (UK) Ltd
//FileName: General.js
//Version: 1.9
//Contact: development@opsoftware.co.uk

/**
* Declaration variables
*/
var screenHeight = window.screen.availHeight;
var screenWidth = window.screen.availWidth;
var colorDepth = window.screen.colorDepth;
var timeNow = new Date();
var referrer = escape(document.referrer);
var windows, mac, linux;
var ie, op, moz, misc, browsercode, browsername, browserversion, operatingsys;
var dom, ienew, ie4, ie5, ie6, moz_rv, moz_rv_sub, ie5mac, ie5xwin, opnu, op4, op5, op6, op7, saf, konq;
var appName, appVersion, userAgent;
var appname = navigator.appName;
var appVersion = navigator.appVersion;
var userAgent = navigator.userAgent.toLowerCase();
var title = document.title;
var checktoggle = 1;
var DOM = "default";
windows = (appVersion.indexOf('Win') != -1);
mac = (appVersion.indexOf('Mac') != -1);
linux = (appVersion.indexOf('Linux') != -1);

/**
* DOM Compatible?
*/
if (!document.layers)
{
	dom = (document.getElementById ) ? document.getElementById : false;
} else {
	dom = false;
}

if (document.getElementById)
{
	DOM = "default";
} else if (document.layers) {
	DOM = "NS4";
} else if (document.all) {
	DOM = "IE4";
}

function browserObject(objid)
{
	if (DOM == "default")
	{
		return document.getElementById(objid);
	} else if (DOM == "NS4") {
		return document.layers[objid];		
	} else if (DOM == "IE4") {
		return document.all[objid];
	}
}

function displayObject(objid)
{
	result = browserObject(objid);
	if (!result)
	{
		alert("Invalid Display Object: "+objid+"\nPlease make sure that all correct display objects are on the page");
		return;
	}

	result.style.display = "";
}

function hideObject(objid)
{
	result = browserObject(objid);
	if (!result)
	{
		alert("Invalid Display Object: "+objid+"\nPlease make sure that all correct display objects are on the page");
		return;
	}

	result.style.display = "none";
}


/**
*Email PopUp
**/
var emailWin = null;
function emailPopup(url)
{
	var resizable = "yes"; 
    var styleLeft = window.screen.width - 500; 
	var windowStyle = "top=20,left=" + styleLeft + ",width=460,height=350,menubar=no,location=no,resizable=" + 
					resizable + ",toolbar=no,scrollbars=no,status=no,"; 
	if ( emailWin != null && !emailWin.closed )
		emailWin.close();
	emailWin = window.open(url,'emailWin',windowStyle); 
}

/**
*Tasks PopUp
**/
var taskWin = null;
function taskPopup(url)
{
	var resizable = "no"; 
    var styleLeft = window.screen.width - 700; 
	var windowStyle = "top=20,left=" + styleLeft + ",width=460,height=350,menubar=no,location=no,resizable=" + 
					resizable + ",toolbar=no,scrollbars=no,status=no,"; 
	if ( taskWin != null && !taskWin.closed )
		taskWin.close();
	taskWin = window.open(url,'taskWin',windowStyle); 
}

/**
*Dashboard Control
**/
	function toggleDashBoard() {
		if (document.getElementById) {
			if(document.getElementById("dashboard").style.display=="block") {
				document.getElementById("dashboard").style.display="none";

				document.getElementById("dashboardText").innerHTML="Show";
			}
			else {
				document.getElementById("dashboard").style.display="block";

				document.getElementById("dashboardText").innerHTML="Hide";
								
			}
		}
	}

/**
*Form Control
**/
	function toggleFrm(strFrm) {
		if (document.getElementById) {
			if(document.getElementById(strFrm).style.display=="block") {
				document.getElementById(strFrm).style.display="none";
			}
			else {
				document.getElementById(strFrm).style.display="block";
								
			}
		}
	}

/**
* Limit text area
**/
function taLimit() {
	var taObj=event.srcElement;
	if (taObj.value.length==taObj.maxLength*1) return false;
}

/**
* Text Area Counter
**/
function taCount(visCnt) { 
	var taObj=event.srcElement;
	if (taObj.value.length>taObj.maxLength*1) taObj.value=taObj.value.substring(0,taObj.maxLength*1);
	if (visCnt) visCnt.innerText=taObj.maxLength-taObj.value.length;
}

/**
* Confirm Password
**/
function ConfirmPassword() {
		var bolPassError = false;
		if (document.getElementById( 'frmAdd' ).elements['password'].value != document.getElementById( 'frmAdd' ).elements['confpassword'].value) bolPassError = true;
		if ((document.getElementById( 'frmAdd' ).elements['password'].value == "") && (document.getElementById( 'frmAdd' ).elements['confpassword'].value == "")) bolPassError = true;

		if (bolPassError){
			document.getElementById('confpasswordimg').style.display = "none";
		}else{
			document.getElementById('confpasswordimg').style.display = "inline";
		}
	}
/**
* Confirm Email address
**/
function ConfirmEmail() {
		var bolEmailError = false;
		if (document.getElementById( 'frmAdd' ).elements['email'].value != document.getElementById( 'frmAdd' ).elements['confemail'].value) bolEmailError = true;
		if ((document.getElementById( 'frmAdd' ).elements['email'].value == "") && (document.getElementById( 'frmAdd' ).elements['confemail'].value == "")) bolEmailError = true;

		if (bolEmailError){
			document.getElementById('confemailimg').style.display = "none";
		}else{
			document.getElementById('confemailimg').style.display = "inline";
		}
	}

/**
* ###############################################
* AJAX
* ###############################################
*/

var xmlhttp;
var xmlaction = "";

function loadXMLHTTPRequest(url) {
	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
		xmlhttp.onreadystatechange = processStatusChange;
		xmlhttp.open("GET", url, true);
		xmlhttp.send(null);
	} else if (window.ActiveXObject) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		if (xmlhttp) {
			xmlhttp.onreadystatechange = processStatusChange;
			xmlhttp.open("GET", url, true);
			xmlhttp.send();
		}
	}
}

function processStatusChange() {
	if (xmlhttp.readyState == 4) {
		if (xmlhttp.status == 200) {

			// ======= IRS Fetch? =======
			if (xmlaction == "irsfetch")
			{
				irsObject = browserObject("irsui");
				if (irsObject)
				{
					irsObject.innerHTML = xmlhttp.responseText;
				}
			}
		}
	}
}

var irsContents = "";
function startIRSTimer()
{
	if (document.frmAdd.message.value != irsContents && document.frmAdd.message.value != "")
	{
		displayObject("irsui");

		xmlaction = "irsfetch";
		loadXMLHTTPRequest(swiftpath+"suggest_kb.asp?query="+escape(document.frmAdd.message.value));

		irsContents = document.frmAdd.message.value;
	}

	setTimeout('startIRSTimer();', 2000);
}