function moveItems (srcID, dstID){
	var src = document.getElementById(srcID);
	var dst = document.getElementById(dstID);

	if (src && dst){
		var srcOptions = src.options;
		while ( src.options.selectedIndex >= 0 ){ 
			var si = src.options.selectedIndex;
			var newOption = new Option(srcOptions[si].text, srcOptions[si].value, true, true);
			dst.options[dst.options.length]=(newOption);
			src.remove(si);
		}

	
	}
	
}

function selectAll(lstID){
	var lst = document.getElementById(lstID);

	if (lst){
		var options = lst.options;
		for (var i=0; i<options.length; i++){
			options[i].selected = true;
		}
	
	}
}

function setAndSubmit (form, id) {
	if (document.getElementById(id)){
		document.getElementById(id).value =1;
		eval('document.'+form+'.submit()');
	}

}

function getSelRadioButtonValue (bg) {

	if(!bg)
		return "";
	var radioLength = bg.length;
	if(radioLength == undefined)
		if(bg.checked)
			return bg.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(bg[i].checked) {
			return bg[i].value;
		}
	}
	return "";
	

}

function disableSubmitOnEnter (e){
	var targ;
	if (!e) var e = window.event;
	var targ;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;

	if (targ == '[object HTMLTextAreaElement]'){
		return true;
	}
	var key;
	if(window.event)
		key = window.event.keyCode;     //IE
	else
	  	key = e.which;     //firefox
	if(key == 13){
	  	return false;
	}else{
	  	return true;
	}
}
function isEnterKey (e){
	var key;
	if(window.event)
          	key = window.event.keyCode;     //IE
     	else
          	key = e.which;     //firefox

     	if(key == 13){
          	return true;
	}
     	else{
          	return false;
	}

}

function submitFormOnEnter (e, fid){
	if (document.forms[0]){
		if (isEnterKey(e)){
			if (fid && document.getElementById(fid)){
				document.getElementById(fid).value=1;
			}
			document.forms[0].submit();
		}
	}

}
function submitForm (fid){
	if (document.forms[0]){
		if (fid && document.getElementById(fid)){
			document.getElementById(fid).value=1;
		}
		document.forms[0].submit();
	}

}
function AddCalendarAppointment(appointmentSubject,appointmentBody,travelLocation,departDate,returnDate) {

  //var outlookApp = new ActiveXObject("Outlook.Application");
  var outlookApp = new ActiveXObject("Excel.Sheet");
  /*var nameSpace = outlookApp.getNameSpace("MAPI");

  // Get a handle of the Calendar folder
  var apptFolder = nameSpace.getDefaultFolder(9);

  // Create a new Appointment item and fill it in
  var apptItem = apptFolder.Items.add("IPM.Appointment");
            
  apptItem.Subject = appointmentSubject;
  apptItem.Body = appointmentBody;

  apptItem.Location = travelLocation;

  apptItem.Start = departDate;
  apptItem.End = returnDate;
  apptItem.Save();
            
  //apptItem.ReminderSet = True;
  //apptItem.ReminderMinutesBeforeStart = 15
  apptItem.BusyStatus = Outlook.OlBusyStatus.olOutOfOffice;
  apptItem.AllDayEvent = true;

  // Show the new contact
  //apptItem.Display(false); // true = modal
*/
}


// below is ajax code to copy and paste for each ajax request, just write the XMLHttpRequestCompleted function
function InitXmlHttp() {
    // Attempt to initialize xmlhttp object
    try
    {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        // Try to use different activex object
        try
        {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
            xmlhttp = false;
        }
    }
    
    // If not initialized, create XMLHttpRequest object
    if (!xmlhttp && typeof XMLHttpRequest!='undefined')
      {     
            xmlhttp = new XMLHttpRequest();
      }
      // Define function call for when Request obj state has changed
      xmlhttp.onreadystatechange=XMLHttpRequestCompleted;
}

function InvokeASHX(url)
{
    InitXmlHttp();
    xmlhttp.onreadystatechange= XMLHttpRequestCompleted;

    xmlhttp.open("GET", "" + url, true );
    xmlhttp.send(null);
}
/* must write customized for different calls this is example
function XMLHttpRequestCompleted(){
	if (xmlhttp.readyState==4){
        	try{
            		alert(xmlhttp.responseText);
        	}
        	catch (e){
        	}
    	}
}
*/
function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}
function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function getPosition(theObj){
        var x = y = 0;
        var h = theObj.offsetHeight;
        var w = theObj.offsetWidth;
        while(theObj){
                x += theObj.offsetLeft;
                y += theObj.offsetTop;
                theObj = theObj.offsetParent;
        }
        //alert("h:" + h + " w:" + w + " x: " + x + " y:" + y);
	return {height:h,width:w,x:x,y:y}
}
function setToCenterPosition (target, ev){
	ev           = ev || window.event;

	posY = getScreenCenterY();
	posX = getScreenCenterX();

	var h = $(target.id).getHeight();
	var w = $(target.id).getWidth();

	
	var y = posY - h/2;
	var x = posX - w/2;

	target.style.position = 'absolute';
	target.style.top      = y+"px";
	target.style.left     = x+"px";

	return false;
}
function setToCenterObjPosition (target, parentObj){

	var parPos = getPosition(parentObj);

	posY = parPos.y;
	posX = parPos.x;

	var cY = parPos.y + $(parentObj.id).getHeight()/2;
	var cX = parPos.x + $(parentObj.id).getWidth()/2;

	var h = $(target.id).getHeight();
	var w = $(target.id).getWidth();

	
	var y = cY;// - h/2;
	var x = cX;// - w/2;

	target.style.position = 'absolute';
	target.style.top      = y+"px";
	target.style.left     = x+"px";
	desc.innerHTML= 'pary: ' + posY + ' par x: ' + posX + ' w: ' + w + ' h: ' + h + ' setY: ' + y + ' set x: ' + x;

	return false;
}


function getScreenCenterY() {
	var y = 0;
	y = getScrollOffsetY()+(getInnerHeight()/2);

	return(y);
}

function getScreenCenterX() {
	return(getScrollOffsetX() + document.body.clientWidth/2);
}

function getInnerHeight() {
	var y;
	if (self.innerHeight) // all except Explorer
	{
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		y = document.body.clientHeight;
	}
	return(y);
}

	
function getInnerWidth(){
        var x = 0;
        if (self.innerHeight){
                x = self.innerWidth;
        }
        else if (document.documentElement && document.documentElement.clientHeight){
                x = document.documentElement.clientWidth;
        }
        else if (document.body){
                x = document.body.clientWidth;
        }
	return x;

}

function getWinWidth(){
	return getScrollOffsetX()+getInnerWidth();

}

function getWinHeight(){
	return getScrollOffsetY()+getInnerHeight();
}

function getScrollOffsetY() {
	var y;
	if (self.pageYOffset) // all except Explorer
	{
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
	// Explorer 6 Strict
	{
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		y = document.body.scrollTop;
	}
	return(y);
}
function getScrollOffsetX() {
	var x;
	if (self.pageXOffset) // all except Explorer
	{
		x = self.pageXOffset;
	}
	else if (document.documentElement && document.documentElement.scrollLeft)
	// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
	}
	return(x);
}
function setToMousePosition (target, ev){
	ev           = ev || window.event;
	var mousePos 	= mouseCoords(ev);

	target.style.position = 'absolute';
	target.style.top      = mousePos.y + 'px';
	target.style.left     = mousePos.x + 'px';
	return false;
}

function setToMousePositionAdjust (target, ev, xAdj, yAdj){
	ev           = ev || window.event;
	var mousePos 	= mouseCoords(ev);

	target.style.position = 'absolute';
	var y =  mousePos.y + yAdj;
	var x =  mousePos.x + xAdj;
	target.style.top      = y + 'px';
	target.style.left     = x + 'px';
	return false;
}

function getScrollOffset() {
	var y;
	if (self.pageYOffset) // all except Explorer
	{
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
	// Explorer 6 Strict
	{
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		y = document.body.scrollTop;
	}
	return(y);
}

function showImgOverlay (ev, url, id) {
	if (!document.getElementById(id + "_overlay")){
		var img = new Image();
		var pos = mouseCoords(ev);
		var x = pos.x;
		var y = pos.y;
		x = x + (x/2);
		y = y - (y/2);
		
		var wait = new Image();
		wait.src="http://fosdecor.com/images/ajax-loader.gif";
		wait.style.position='absolute';
		wait.style.top=pos.y+ 'px';
		wait.style.left=pos.x + 'px';
		wait.style.zIndex=100;
			
		var div = document.createElement("div");
		div.style.display='none';
		div.id = id + '_overlay';
		div.setAttribute("class", "gal");
		div.setAttribute("className", "gal");
		//div.style.position='absolute';
		var paddTop 	= 20;
		var paddLeft 	= 20;
		
		//div.style.top = pos.y + 'px';
		//div.style.left = pos.x + 'px';
		
		var closeDiv = document.createElement("div");
		closeDiv.width="5px";
		closeDiv.height="5px";
		closeDiv.innerHTML='X&nbsp;';
		closeDiv.style.cursor='pointer';
		closeDiv.style.position='absolute';
		closeDiv.style.top='0px';
		closeDiv.style.width="100%";
		closeDiv.setAttribute("align","right");
		closeDiv.onclick = function(){
			var div = document.getElementById(id + '_overlay');
			if (div){
				$(id + '_overlay').fade({ duration: 1.0 });
				div.id='';
				img=null;
				document.removeChild(div);
			}
		}
		div.appendChild(closeDiv);

		document.body.appendChild(wait);

		div.style.height=300 + 'px';
		div.style.width=300 + 'px';
		document.body.appendChild(div);
		setToMousePosition(div, ev);
		img.id='overlayImg';

		img.onload = function () {
			wait.style.display='none';
			div.appendChild(img);
			var h = img.height;
			h+=(paddTop*2);
			var w = img.width;
			w+=(paddLeft*2);

			img.style.position='relative';
			img.style.top=paddTop+'px';
			img.style.left= paddLeft+'px';

			div.style.height=h + 'px';
			div.style.width=w + 'px';
			$(id + '_overlay').grow({direction: 'top-left'});

		}
		img.src=url;
	}
}

function showWin (url, name) {
	if (!name) name = 'fos';
	var newwindow=window.open(url, name,'left=20,top=20,width=800,height=600,toolbar=1,resizable=1,scrollbars=1');
	if (window.focus) {newwindow.focus()}
} 



