var preloadFlag = false;
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}
function preloadImagesSK() {
	if (document.images) {
		preloadFlag 				= true;
	}
}

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
page_request.open('GET', url, true)
page_request.send(null)
}
function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
if (containerid == 'filesappearhere') {
parent.parent.parent.document.getElementById(containerid).innerHTML=page_request.responseText
} else {
if (drawPage = parent.parent.document.getElementById(containerid)) {
drawPage.innerHTML=page_request.responseText;
} else {
if (drawPage = parent.document.getElementById(containerid)) {
drawPage.innerHTML=page_request.responseText;		
} else {
if (drawPage = parent.parent.parent.document.getElementById(containerid)) {
drawPage.innerHTML=page_request.responseText;		
} else {
if (drawPage = document.getElementById(containerid)) {
drawPage.innerHTML=page_request.responseText;		
} else {
alert('Error Drawing Content To ' + containerid);		
}
}
}
}
}
}
function loadobjs(){
if (!parent.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=parent.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
parent.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}


var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

function changeCSS(thisId,changeTo) {
	if (thisElement = document.getElementById(thisId)) {
		thisElement.className = changeTo;	
	}
}

function changeImages(thisId,changeTo) {
	if (document.images && (preloadFlag == true)) {
		if (thisImage = document.getElementById(thisId)) {
			thisImage.src = changeTo;
		}
	}
}

function changeContent(thisId,changeTo) {
	if (thisElement = document.getElementById(thisId)) {
		thisElement.innerHTML = changeTo;	
	}
}

function jsErrorHandler(msg) {
	alert(msg);
}

function jsConfirmHandler(msg) {
	confirm(msg);
}

function protectEmail(username,hostname,linktext) {
	if (linktext=='' || linktext==null) {
		var linktext = username + "@" + hostname;
	}
	return "<a href=" + "mail" + "to:" + username +	"@" + hostname + ">" + linktext + "</a>";
}

function grabElement(element) {
	if (return_element = document.getElementById(element)) {
		return return_element;
	} else {
		return null;	
	}
}


function checkAdminLogin() {

	var errorString = '';
	admin_user 		= grabElement("admin_user");
	admin_pass	 	= grabElement("admin_pass");
	
	if (admin_user.value=='' || admin_user.value==null) {
		errorString = errorString + '* Please enter the administrator username.' + "\r\n";	
	}

	if (admin_pass.value=='' || admin_pass.value==null) {
		errorString = errorString + '* Please enter the administrator password.' + "\r\n";	
	}

	if (errorString.length > 2) {
		jsErrorHandler(errorString);
		return false;	
	} else {
		return true;	
	}

}

function sk_changeCSS(elementToChange,changeToClass) {
	if (elementToChange != null && changeToClass != null) {
		document.getElementById(elementToChange).className = changeToClass;
		return true;
	}
	return false;
}

function skToggle(obj) {
	var el = document.getElementById(obj);
	el.style.display 	= (el.style.display != 'none' ? 'none' : 'block' );
	el.style.visibility = (el.style.visibility != 'hidden' ? 'hidden' : 'visible' );
}
function skVoid(){}
function isWhitespace(charToCheck){var whitespaceChars=" \t\n\r\f";return (whitespaceChars.indexOf(charToCheck) != -1);}
function ltrim(str){
	var stringLength = (str ? str.length : 0);
	if(stringLength>0){
		for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);return str.substring(k, str.length);
	} else {
		return str;	
	}
}
function rtrim(str){
	var stringLength = (str ? str.length : 0);
	if(stringLength>0){
		for(var j=stringLength-1; j>=0 && isWhitespace(str.charAt(j)); j--);
			return str.substring(0,j+1);
	}else{
		return str;
	}
}
function trim(str){return ltrim(rtrim(str));}
function changeCSS(thisId,changeTo) {if (thisElement = document.getElementById(thisId)) {thisElement.className = changeTo;}}
function skToggleVisibility(id) {if (e = document.getElementById(id)) {if(e.style.display == 'none') {e.style.display = 'block';} else {e.style.display = 'none';}}}
function sk_popUp(url,width,height) {

	popUpParams = "location=1, menubar=0, resizable=1, status=0, toolbar=0, width=" + width + ", height=" + height;
	window.open(url,'skPopUp',popUpParams);

}
function toggleToolTips() {
	if (tipsStatus = getCookie("SKEDITOR_TOOLTIPS")) {
		deleteCookie("SKEDITOR_TOOLTIPS");
	} else {
		setCookie("SKEDITOR_TOOLTIPS","OFF");
	}
	if (buttonArea = grabElement("sk_tooltips")) {
		buttonArea.innerHTML = displayToolTipSwitch();
	}
	return;
}

function navbarProductsOn() {
	ypSlideOutMenu.showMenu('menu1');
}
function navbarProductsOff() {
	ypSlideOutMenu.hideMenu('menu1');
}
function navbarMethodsOn() {
	ypSlideOutMenu.showMenu('menu2');
}
function navbarMethodsOff() {
	ypSlideOutMenu.hideMenu('menu2');
}
function navbarCompanyOn() {
	ypSlideOutMenu.showMenu('menu3');
}
function navbarCompanyOff() {
	ypSlideOutMenu.hideMenu('menu3');
}
function navbarContactOn() {
	ypSlideOutMenu.showMenu('menu4');
}
function navbarContactOff() {
	ypSlideOutMenu.hideMenu('menu4');
}
function skValidateEmail(sVal) {
 var regex=/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	if (regex.test(sVal)) {
		return  true;
	} else {
		return  false;
	}
}
function getElementsByClassName(classname, node) {
      if(!node) node = document.getElementsByTagName("body")[0];
      var a = [];
      var re = new RegExp('\\b' + classname + '\\b');
      var els = node.getElementsByTagName("*");
      for(var i=0,j=els.length; i<j; i++)
      if(re.test(els[i].className))a.push(els[i]);
      return a;
}
function skEncode(input){var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;do{chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4) | (chr2>>4);enc3=((chr2&15)<<2) | (chr3>>6);enc4=chr3&63;
      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }
      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);
   
   return output;
}
var toTimeStamp = new Date().getTime();
function showLoadingMsg(id,msg){document.getElementById(id).innerHTML='<' + 'div style="font-size:10pt;font-weight:bold;">' + '<' + 'img src="/images/tinyloading.gif" width="12" height="12" border="0" alt="Loading" align="middle" /> &nbsp;&nbsp;' + msg + '<' + '/div>';}
