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>';}
function submitPhoenixContactForm() {
	var skError = "";
	var sk_params = "foo=bar";
	var formFocusField = "";
	showLoadingMsg("contact_form_response","Submitting Form...");
	if (sk_submit = document.getElementById("submit")) {
		sk_submit.value = "SUBMITTING...";
	}
	if (sk_name = document.getElementById("name")) {
		sk_name.value = trim(sk_name.value);
		if (sk_name.value=="") {
			skError = skError + "* Please enter your full name into the form." + "\n";
		}
		sk_params = sk_params + "&name=" + sk_name.value;
	}
	if (sk_zip = document.getElementById("zipcode")) {
		sk_zip.value = trim(sk_zip.value);
		if (sk_zip.value=="") {
			skError = skError + "* Please enter your zip code into the form." + "\n";
		}
		sk_params = sk_params + "&zipcode=" + sk_zip.value;
	}
	if (sk_email = document.getElementById("email")) {
		sk_email.value = trim(sk_email.value);
		if (sk_email.value=="") {
			skError = skError + "* Please enter your e-mail address into the form." + "\n";
		}
		if (!skValidateEmail(sk_email.value)) {
			skError = skError + "* Please enter a valid e-mail address into the form." + "\n";
		}
		sk_params = sk_params + "&email=" + sk_email.value;
	}
	if (sk_comments = document.getElementById("comments")) {
		sk_comments.value = trim(sk_comments.value);
		if (sk_comments.value=="") {
			skError = skError + "* Please enter your comments into the form." + "\n";
		}
		sk_params = sk_params + "&comments=" + sk_comments.value;
	}

	// Not Required Fields

	if (sk_address = document.getElementById("address")) {
		sk_address.value = trim(sk_address.value);
		if (sk_address.value!="") {
			sk_params = sk_params + "&address=" + sk_address.value;
		}
	}
	if (sk_city = document.getElementById("city")) {
		sk_city.value = trim(sk_city.value);
		if (sk_city.value!="") {
			sk_params = sk_params + "&city=" + sk_city.value;
		}
	}
	if (sk_state = document.getElementById("state")) {
		sk_state.value = trim(sk_state.value);
		if (sk_state.value!="") {
			sk_params = sk_params + "&state=" + sk_state.value;
		}
	}
	if (sk_phone = document.getElementById("dayphone")) {
		sk_phone.value = trim(sk_phone.value);
		if (sk_phone.value!="") {
			sk_params = sk_params + "&dayphone=" + sk_phone.value;
		}
	}
	if (sk_ephone = document.getElementById("eveningphone")) {
		sk_ephone.value = trim(sk_ephone.value);
		if (sk_ephone.value!="") {
			sk_params = sk_params + "&eveningphone=" + sk_ephone.value;
		}
	}
	if (sk_howcontact = document.getElementById("howcontact")) {
		sk_howcontact.value = trim(sk_howcontact.value);
		if (sk_howcontact.value!="") {
			sk_params = sk_params + "&howcontact=" + sk_howcontact.value;
		}
	}
	if (sk_besttime = document.getElementById("besttime")) {
		sk_besttime.value = trim(sk_besttime.value);
		if (sk_besttime.value!="") {
			sk_params = sk_params + "&besttime=" + sk_besttime.value;
		}
	}
	if (skError.length>1) {
		alert(skError);
		if (sk_submit = document.getElementById("submit")) {
			sk_submit.value = "TRY AGAIN";		
		}
		if (sk_container = document.getElementById("contact_form_response")) {
			sk_container.innerHTML = "";
		}
		return false;
	}
	url = "/index.php/action/contact_us/process/add_new";
	new Ajax.Request(url,{
		method:'post',
		parameters:sk_params,
		onSuccess:processContactFormResponse,
		onFailure:function(){alert("There was an error with the connection");}
	});
	return false;
}
function processContactFormResponse(transport) {
	var response=transport.responseText+'';
	if (container = document.getElementById("contact_form_response")) {
		if (response != "PROCESS") {
			if (response == "DUPE") {
				alert("Thank you for submitting your information.  We only allow one submission per 24 hour period.  Please call us at the numbers at the top of the page if you have additional inquiries.");
				window.location.reload();
			} else {
				container.innerHTML = response;
				if (sk_submit = document.getElementById("submit")) {
					sk_submit.value = "TRY AGAIN";		
				}
			}
		} else {
			container.innerHTML = '<div style="color:green;font:bold 14pt arial;text-align:left;">Thank you!  Your information has been received - we will respond as soon as possible.</div>';
		}
	} else {
		alert("FAIL");	
	}
	return false;
}

