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");
 }

