var dragObj = null;

var btHome = 1;
var btClose = 2;
var btCart = 3;
var btAccount = 4;


function loadStates(pCountry) {
	
	url = "index.php?n=Ajax&o=getStates&id=" + pCountry;
	el = document.getElementById('StateID');
	el.options.length= 0;
	option = new Option();
	option.text = ' loading, please wait .... ';
	option.value = 0;
	el.options[0] = option;

	if (window.XMLHttpRequest)
	  {
	  xmlhttp=new XMLHttpRequest();
	  }
	// code for IE
	else if (window.ActiveXObject)
	  {
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	if (xmlhttp!=null)
	  {
	  xmlhttp.onreadystatechange=_loadStates;
	  xmlhttp.open("GET",url,true);
	  xmlhttp.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
	  xmlhttp.send(null);
	  }
	else
	  {
	  alert("Your browser does not support XMLHTTP.");
	  }


}

function _loadStates() {
  if(checkReadyState(xmlhttp)) {
	var response = xmlhttp.responseXML.documentElement;
	response.normalize;
	x1=response.getElementsByTagName("id");
	x2=response.getElementsByTagName("name");
	el = document.getElementById('StateID');
	
	el.options.length = 0;
	for (i=0;i<x1.length ;i++ )
	{
		option = new Option();
		option.text = x2[i].firstChild.data;
		option.value = x1[i].firstChild.data;
		el.options[el.options.length] = option;
	}

  }
 }



function showAlert(type, title, msg, bt1, bt2) {
	txt = msg;
	if (title != "")
	{
		txt = "<b>" + title + "</b><br><br>" + msg;
	}
	txt += "<br><br><center><input type='button' value='close' onclick='closeWait();'></center>";
	showWait(txt);
	return false;
	el = document.getElementById("mainAlert");

	x = document.getElementById("alertIcon");
	switch (type)
	{
		case "info": x.src="images/popup/alert2.png";break;
		case "alert": x.src="images/popup/alert2.png";break;
		case "error": x.src="images/popup/alert1.png";break;
	}

	x = document.getElementById("alertTitle");
	x.innerHTML = title;
	x = document.getElementById("alertMsg");
	x.innerHTML = msg;


	getDefaultAction(1, bt1);
	getDefaultAction(2, bt2);
	
	el.style.display='block';

//	x=document.body.scrollLeft+ document.documentElement.scrollLeft;
//	y=document.body.scrollTop + document.documentElement.scrollTop;
	y=getScrollLength("top") + document.documentElement.clientHeight / 2 - 150;
	x=getScrollLength("left") + document.documentElement.clientWidth /2 -100;

	el.style.top = y + "px";
	el.style.left = x + "px";

//	el.focus();
}

function getDefaultAction(button, action) {
	btn = document.getElementById("alertBtn" + button);
	btn.style.display="block";
	switch (action)
	{
	case 1: 
		btn.onclick=actionHome;
		btn.src="images/btn_ok.gif";
		break;
	case 2: 
		btn.onclick=hideAlert;
		btn.src="images/btn_close.gif";
		break;
	case 3: 
		btn.onclick=actionCart;
		btn.src="images/btn_gotocart.gif";		
		break;
	case 4: 
		btn.onclick=actionAccount;
		btn.src="images/btn-myaccount.png";		
		break;
	default: btn.style.display="none";
	}
}

function actionHome() {
	if (dragObj) endDrop();
	window.location='http://dev.sharefolder.com/index.php';
}

function actionCart() {
	if (dragObj) endDrop();
	window.location='http://dev.sharefolder.com/index.php?n=Cart';
}

function actionAccount() {
	if (dragObj) endDrop();
	window.location='http://dev.sharefolder.com/index.php?n=Users&o=mine';
}

function hideAlert() {
	if (dragObj) endDrop();

	el = document.getElementById("mainAlert");
	el.style.display='none';

	el = document.getElementById("loginTable");
	el.style.filter="alpha(opacity=100)";
	el.style.mozOpacity=100;
	el.style.opacity=1;
	
	el = document.getElementById("topTable");
	el.style.filter="alpha(opacity=100)";
	el.style.mozOpacity=100;
	el.style.opacity=1;

	el = document.getElementById("masterTable");
	el.style.filter="alpha(opacity=100)";
	el.style.mozOpacity=100;
	el.style.opacity=1;

}


function showWait() {
	el = document.getElementById("mainBody");
	el.innerHTML = "please wait ... ";
}

function catchEnter() {
	if (window.event.keyCode==13){
		hideAlert();
	}
}


function getForm(fobj) {
var str = "";
var ft = "";
var fv = "";
var fn = "";
var els = "";
for(var i = 0; i < fobj.elements.length; i++) {
	els = fobj.elements[i];
	ft = els.title;
	fv = els.value;
	fn = els.name;
	
	reqFlag = false;
	if (els.title != "") {
		msg = els.title.split("_");
		if (msg[0] == "required")
		{
			reqFlag = true;
		}
	}
	switch(els.type) {
		 case "text":
		 case "hidden":
		 case "password":
		 case "textarea":
		 // is it a required field?
		   if (els.title && reqFlag && fv == "")
		   {
			   alert("Please fill up all required fields! The following field requres a value: " + els.name);
			   return "error";
		   }
		  str += fn + "=" + encodeURIComponent(fv) + "&";
		  break;

		  case "checkbox":
		  case "radio":
			   if (els.type == "checkbox" && els.title && reqFlag &&  !els.checked )
			   {
				   alert("Please fill up all required fields!" + els.name);
				   return "error";
			   }

		if(els.checked) str += fn + "=" + encodeURIComponent(fv) + "&";
		  break;


		  case "select-one":
			   if (els.title && reqFlag &&  els.selectedIndex == 0)
			   {
				   alert("Please fill up all required fields!" + els.name);
				   return "error";
			   }

		 str += fn + "=" +

		 els.options[els.selectedIndex].value + "&";
		  break;
		  } // switch
	 } // for
	 str = str.substr(0,(str.length - 1));
	 return str;
}


function createAlert(alertID, alertTitle) {
	el = document.getElementById(alertID);
	if (!el)
	{
		el = document.createElement("table");
		el.id = alertID;
		el.setAttribute("class", "divLock");
		el.className = "divLock";
		el.setAttribute("cellspacing", 0);
		el.setAttribute("cellpadding", 0);
//		el.zIndex = 1;
		tbody = document.createElement("tbody");
		tbody.setAttribute("class", "divLock2");

		row = document.createElement("tr");
		
		cell = document.createElement("td"); cell.width=10; cell.height =5;
		cell.style.backgroundColor = "#f6f6f6";
		row.appendChild(cell);
		
		cell = document.createElement("td"); 
		cell.innerHTML = alertTitle;
		cell.style.backgroundColor = "#f6f6f6";
		cell.style.paddingTop = "6px";
		cell.style.paddingBottom = "6px";
		cell.id = alertID +"_title";
		cell.style.fontWeight = "bold";
		cell.style.textAlign = "left";
		row.appendChild(cell);
		
		cell = document.createElement("td"); 
		cell.style.backgroundColor = "#f6f6f6";
		cell.innerHTML = '<a href="#"onclick="closeAlert(\''+alertID+'\');"><img src="images/icon_close.gif" name="btnclose" width="14" height="15" hspace="5" border="0" id="btnclose" onMouseOver="MM_swapImage(\'btnclose\',\'\',\'images/icon_close_over.gif\',1)" onMouseOut="MM_swapImgRestore()"></a>';
		row.appendChild(cell);
		tbody.appendChild(row);

		row = document.createElement("tr");

		cell = document.createElement("td"); 
		row.appendChild(cell);
		
		cell = document.createElement("td"); 
		cell.innerHTML = "&nbsp;";
		cell.style.paddingTop = "15px";
//		cell.style.backgroundColor = "#f0f0f0";
		cell.id = alertID+"_content";
		row.appendChild(cell);
		
		cell = document.createElement("td"); 
		row.appendChild(cell);
		tbody.appendChild(row);


		row = document.createElement("tr");

		cell = document.createElement("td"); 
		row.appendChild(cell);
		
		cell = document.createElement("td"); 
		cell.innerHTML = "&nbsp;";
		row.appendChild(cell);
		
		cell = document.createElement("td"); 
		row.appendChild(cell);
		tbody.appendChild(row);

		el.appendChild(tbody);

		bdy = document.getElementsByTagName("body");
		bdy[0].appendChild(el);
	} else {
		el2 = document.getElementById(alertID + "_title");
		el2.innerHTML = alertTitle;
	}
	el.style.display = "block";
	el.style.filter = "alpha(opacity=100)";
	return alertID + "_content";

}

function centerElement(elid) {
	el = document.getElementById(elid);
	center = getCenter(el.offsetWidth, el.offsetHeight);
	el.style.left = parseInt(center.x) + "px";
	el.style.top = parseInt(center.y) + "px";
	el.style.position = "absolute";
	el.style.zIndex = 11;
}

function closeAlert(alertID) {
	el = document.getElementById(alertID);
	el.style.display = "none";
  	setOpacity(100) ;
}

function setOpacity(level) {
	try
	{
		
		el = document.getElementById("maincontenttable");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("digitalstudio_logo");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("prelim_logo");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("brushstroke");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("icons_menu");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("projects_searchbox");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("projects_list");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("projects_menu");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("login_form");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

		el = document.getElementById("login_form_table");
		if (el)
		{
			el.style.filter = "alpha(opacity="+level+")";
			el.style.opacity = level/100;
			el.style.mozOpacity = level/100;
		}

	}
	catch (e)
	{
	}

}


var alt = false;
var ctrl = false;
var shift = false;

function keyHandler(ev) {
		alt = (ev.altKey) ? true : false;
		ctrl = (ev.ctrlKey) ? true : false;
		shift = (ev.shiftKey) ? true : false;
		macAlt = (ev.metaKey) ? true: false;
		cancelEv = false;

	if ((ev.keyCode<16)||(ev.keyCode>18)) {
		 if (ctrl) {
			switch (ev.keyCode)
			{
				case 78: //Alt + N
					window.location = "index.php?n=Projects&o=new";
					return false;
				case 65: //Alt + A
					showAllProjects(); 
					ctrl=false; return false;break;
				case 77: //Alt + M
					showMyProjects();
					ctrl=false; return false; break;
				case 84: //Alt + T
					window.location = "index.php?n=Projects&o=tools";
					return false;
				case 69: //Alt + E
					exportProjectList();
					ctrl=false; return false; break;
				case 76: //Alt + L
					window.location = "index.php?n=Users&o=logout";						
					return false;
				case 72: //Alt + H
					window.location = "index.php";						
					return false;
			}
		 }
		 alt = false;
         ctrl = false;
         shift = false; 
		 if (cancelEv) return false;
	}
	if (ctrl) return false;
	return true;
}

function openPopup(popupid) {
	dv = document.getElementById(popupid);
	if (!dv)
	{
		x = Math.max(document.body.offsetWidth, getWindowWidth());
		y = Math.max(document.body.offsetHeight, getWindowHeight());

		dv = document.createElement("div");
		dv.style.position = "absolute";
		dv.id = popupid;
		dv.style.top = "0px";
		dv.style.left = "0px";
		dv.style.height = y + "px";
		dv.style.width = x + "px";
		dv.style.backgroundColor = "#444444";
		opacity(dv, 85);
		dv.style.zIndex = 1;	

		document.body.appendChild(dv);
	} else {
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
		dv.style.top = "0px";
		dv.style.left = "0px";
		dv.style.height = y + "px";
		dv.style.width = x + "px";

		dv.style.display = "block";
	}
}

function closePopup(popupid) {
		dv = document.getElementById(popupid);
		dv.style.display = "none";
}

function showWait(msg, wd, hg) {
	if (!msg)
	{
		msg = "<div><b>Please wait .... </b><br><br><img src='images/loadingAnimation.gif'></div>";
	}
	openPopup("divWait");
	dv = document.getElementById("divWaitMessage");
	if (!dv)
	{
		dv = document.createElement("div");

		dv.style.position = "absolute";
		dv.style.display = "block";
		dv.innerHTML = msg;
		opacity(dv, 0);
		dv.style.top = "0px";
		dv.style.left = "0px";
		dv.style.backgroundColor = "#ffffff";
		dv.style.zIndex = 2;	
		dv.style.borderWidth = "2px";	
		dv.style.borderStyle = "solid";	
		dv.style.borderColor = "#000000";	
		dv.style.padding = "5px";
		dv.id = "divWaitMessage";
		document.body.appendChild(dv);
		if (wd)
		{
			c = getCenter(wd, hg);
		} else 
			c = getCenter(208, 240);
		dv.style.left = c.x + "px";
		dv.style.top = c.y + "px";
	} else  {
		dv.style.display = "block";
		dv.innerHTML = msg;
	}
	opacity(dv, 100);
 }

 function closeWait() {
		dv = document.getElementById("divWaitMessage");
		dv.style.display = "none";
		closePopup("divWait");
 }
 
function changeClass(el, newclass){
	//document.getElementById("idElement").setAttribute("class", "myClass");
		document.getElementById(el).setAttribute("class", newclass);
}


var slidesCount = 0;
var autoslide = 0;
var autoslideInterval = "";
var slideInterval = "";
var fadeCurrentImage = 1;
//var fadeOutImage = "";
//var fadeInImage = "";
var fadeImageCount = 1;
var fadeInProgress = 0;
var fadespeed = 3;
var fadeloop = true;
var endloopaction = "";
var op = 100;
var autoslideOn = false;
var startOn = 0;
var galImages = [];

function initSlideshow() {
	 fadeImageCount = slidesCount;
	 for (i=1;i<=slidesCount ;i++ )
	 {
		 galImages[i] = document.getElementById("banner" + i);
	 }
	el = document.getElementById('pic1');
	el.innerHTML = galImages[1].innerHTML;
	 if (autoslide)
	 {
		 autoslideInterval = setInterval(fadeNext, autoslide * 1000);
		 autoslideOn = true;
	 }

}


function fadeNext() {
	if (startOn)
	{
		nx = startOn;
		startOn = 0;
	} else {
		nx = fadeCurrentImage + 1;
	}

    if (nx > fadeImageCount-1) {
		if (!fadeloop) {
			clearInterval(slideInterval);
			clearInterval(autoslideInterval);
			if (endloopaction)
			{
				window.location = endloopaction;
			}
			return false;
		}
		nx = 1;
	}
	prepareFade(nx);
}

function fadePrev() {
	nx = fadeCurrentImage - 1;
    if (nx <= 0) nx = fadeImageCount;
	prepareFade(nx);

}

function fadeTo(imageindex) {
//	prepareFade(imageindex);

	fadeCurrentImage = imageindex;
	if (fadeInProgress) {
		el = document.getElementById('pic1');
		el.innerHTML = galImages[imageindex].innerHTML;
	} else {
		el = document.getElementById('pic1');
		el.innerHTML = galImages[imageindex].innerHTML;
		el = document.getElementById('pic2');
		el.innerHTML = galImages[imageindex].innerHTML;

	}
}

function prepareFade(nxtImage) {
	if (fadeInProgress) return false;
	clearInterval(slideInterval);
	clearInterval(autoslideInterval);

	el = document.getElementById('pic1');
	el2 = document.getElementById('pic2');
	el2.innerHTML = galImages[fadeCurrentImage].innerHTML;
	el.innerHTML = galImages[nxtImage].innerHTML;
	opacity(el,100);
	opacity(el2,100);
	el.style.left = "949px";
	el2.style.zIndex = 1;
	el.style.zIndex = 2;
	// optional: change current thumbnail appearance
//	el = document.getElementById("fadetitle");
////	el.innerHTML = fadeCurrentImage + "," + galImages[fadeCurrentImage] + "," + nxtImage + "," + galImages[nxtImage];
//	el = document.getElementById("galleryThumb" + fadeCurrentImage);
//	if (el) el.src="images/bullet-red.png";
//	// optional: change current thumbmail appearance
//	el = document.getElementById("galleryThumb" + nxtImage);
//	if (el) el.src="images/bullet-gray.png";
	el = document.getElementById("homelink" + fadeCurrentImage);
	if (el) setClass(el, "home-banner-button");

	el = document.getElementById("homelink" + nxtImage);
	if (el) setClass(el, "home-banner-button-active");


	fadeCurrentImage = nxtImage;
	slideInterval = setInterval(fadeExecute, 20);
}

function fadeExecute() {
	el = document.getElementById('pic1');
	el2 = document.getElementById('pic2');
	fadeInProgress = 1;
	op = op - fadespeed;
	if (op <= 0) op = 0;
//	opacity(el2, op);
	el.style.left = Math.floor((949 * (op)) / 100) + "px";

	if (op <= 0)
	{
		clearInterval(slideInterval);
		clearInterval(autoslideInterval);
		op = 100;
		el.style.left = "0px";
		fadeInProgress = 0;

		// optional: trigger autoslide
		if (autoslide && autoslideOn)
		{
			autoslideInterval = setInterval(fadeNext, autoslide * 1000);
		}

		 
	}

}

function slideOver(slideid) {
	el = document.getElementById("homelink" + fadeCurrentImage);
	if (el) setClass(el, "home-banner-button");

	clearInterval(autoslideInterval);
	 autoslideOn = false;
	fadeTo(slideid);
}

function slideOut(slideid) {
	el = document.getElementById("homelink" + fadeCurrentImage);
	if (el) setClass(el, "home-banner-button-active");

	 autoslideOn = true;
	 fadeCurrentImage = slideid;
	 autoslideInterval = setInterval(fadeNext, autoslide * 1000);
}

function selectButton(butid) {
	if (butid == fadeCurrentImage) return true;
	for (i=1;i<=slidesCount ;i++ )
	{
		el = document.getElementById("cell-button-" + i);
		setClass(el, "under");
	}
	el = document.getElementById("cell-button-" + butid);
	setClass(el, "underactive");

	for (i=1;i<=slidesCount ;i++ )
	{
		el = document.getElementById("link-button-" + i);
		setClass(el, "under");
	}
	el = document.getElementById("link-button-" + butid);
	setClass(el, "underactive");
	fadeInProgress=0;
	prepareFade(butid);

}

function showWhitepaperForm() {
	el = document.getElementById("video1"); if (el) el.style.visibility = "hidden";
	el = document.getElementById("video2"); if (el) el.style.visibility = "hidden";
	el = document.getElementById("video3"); if (el) el.style.visibility = "hidden";
	showOverlay();
	url = "index.php?o=get_whitepaper_form";
	initObj();
	showWait();
	if (xmlhttp!=null) {
	  xmlhttp.onreadystatechange=_showWhitepaperForm;
	  xmlhttp.open("GET",url,true);
	  xmlhttp.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
	  xmlhttp.send(null);
	}

}

function showWhitepaperForm2() {
	el = document.getElementById("video1"); if (el) el.style.visibility = "hidden";
	el = document.getElementById("video2"); if (el) el.style.visibility = "hidden";
	el = document.getElementById("video3"); if (el) el.style.visibility = "hidden";
	showOverlay();
	url = "index.php?o=get_whitepaper_form2";
	initObj();
	showWait();
	if (xmlhttp!=null) {
	  xmlhttp.onreadystatechange=_showWhitepaperForm;
	  xmlhttp.open("GET",url,true);
	  xmlhttp.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
	  xmlhttp.send(null);
	}

}

function _showWhitepaperForm() {

	if(checkReadyState(xmlhttp)) {
		var response = xmlhttp.responseXML.documentElement;
		response.normalize;
		ret=response.getElementsByTagName("content");
		txt = getXMLNode(ret);
		box(txt);
		el = document.getElementById('fEmail');
		el.focus();
	}

}

function downloadWhitepaper() {
	el = document.getElementById("video1"); if (el) el.style.visibility = "visible";
	el = document.getElementById("video2"); if (el) el.style.visibility = "visible";
	el = document.getElementById("video3"); if (el) el.style.visibility = "visible";

	el = document.getElementById("fEmail");
	el2 = document.getElementById("fName");
	el3 = document.getElementById("fProvince");
	el4 = document.getElementById("fPhone");
	if (!el.value || !el2.value || !el3.value || !el4.value)
	{
		alert("Please fill all required fields!");
		return false;
	}
	window.open("media/whitepapers/Designing Net-Zero Homes With LOGIX.pdf", "download");
	window.location="index.php?o=save_whitepaper_form&Email=" + el.value + "&Name=" + el2.value + "&Phone=" + el4.value + "&State=" + el3.value;
	
}	

function downloadWhitepaper2() {
	el = document.getElementById("video1"); if (el) el.style.visibility = "visible";
	el = document.getElementById("video2"); if (el) el.style.visibility = "visible";
	el = document.getElementById("video3"); if (el) el.style.visibility = "visible";

	el = document.getElementById("fEmail");
	el2 = document.getElementById("fName");
	el3 = document.getElementById("fProvince");
	el4 = document.getElementById("fPhone");
	if (!el.value || !el2.value || !el3.value || !el4.value)
	{
		alert("Please fill all required fields!");
		return false;
	}
	window.open("media/whitepapers/Designing Safe Homes And Safe Rooms With Logix LR.pdf", "download");
	window.location="index.php?o=save_whitepaper_form2&Email=" + el.value + "&Name=" + el2.value + "&Phone=" + el4.value + "&State=" + el3.value;
	
}	
