function Go(refID) {
	
		var output = "<form name='dyna' method='post' action='"+location.href+"'>"
		 + "<input type='hidden' name='rec' value='"+refID+"'>"
		 + "</form>";
		document.open();
		document.write(output);
		document.close();
		document.forms['dyna'].submit();

}

function GoJobs(refID) {
		document.cookie = "project="+refID;
		location.href = 'sj_jobs.php';
}

function SetRow(refID) {
	
}

function SetProject(refID) {
	document.cookie = "project="+refID;
	location.reload();
}


function SetLanguage(lang)
{
	document.cookie = "lang="+lang+";path=/;";
	location.reload();
}


function SwitchPane(objID) {
		
	var pane = document.getElementById("row"+objID);
	var arrow = document.getElementById("arw"+objID);
	if(pane.style.display == 'none') {
		pane.style.display = '';
		arrow.src = "../_gfx/arrow_box_open.gif";
	}
	else {
		pane.style.display = 'none';
		arrow.src = "../_gfx/arrow_box_close.gif";
	}

}


function hasOptions(obj) {
	if (obj != null && obj.options != null)
		return true;
	return false;
}


function SortSelect(obj) {
	var o = new Array();
	if (!hasOptions(obj)) { return; }
	for (var i=0; i<obj.options.length; i++) {
		o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
		}
	if (o.length==0) { return; }
	o = o.sort( 
		function(a,b) { 
			if ((a.text+"") < (b.text+"")) { return -1; }
			if ((a.text+"") > (b.text+"")) { return 1; }
			return 0;
			} 
		);

	for (var i=0; i<o.length; i++) {
		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
		}
}
	

function MoveOptions(fromObj,toObj) {

	var fromObj = document.forms[0].elements[fromObj];
	var toObj = document.forms[0].elements[toObj];

	var x,i;
	i = 0;
	for(x=fromObj.length-1;x >= 0;x--) {
		if(fromObj.options[x].selected) {
			if (!hasOptions(toObj)) { var index = 0; } else { var index=toObj.options.length; }
			toObj.options[index] = new Option( fromObj.options[x].text, fromObj.options[x].value, false, false);
			fromObj.remove(x);
		}
	}

	SortSelect(fromObj);
	SortSelect(toObj);
	

}

function SelectAll(selField) {
	var selField = document.forms[0].elements[selField];
	if (!hasOptions(selField)) return;
	
	for (var i=0; i < selField.options.length; i++) 
		selField.options[i].selected = true;

}



var xmlhttp;

function LoadXHTML(url,form,destObj) {
	xmlhttp=null;
	
	var i;
	var data = "";
	var formElems = document.forms[form].elements;
	for(i=0;i < formElems.length;i++) {
		if(formElems[i].type == 'text' || formElems[i].type == 'password' || formElems[i].type == 'hidden' ) {
			data += formElems[i].name+"="+formElems[i].value+"&";
		}
		else if(formElems[i].type == 'select-one') {
			var z = formElems[i].selectedIndex;
			data += formElems[i].name+"="+formElems[i].options[z].value+"&";
		}
	}

	
	if (window.XMLHttpRequest)
  		xmlhttp = new XMLHttpRequest();

	else if (window.ActiveXObject)
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");


	if (xmlhttp!=null) {
		//xmlhttp.onreadystatechange=state_Change(destObj);
		xmlhttp.open("POST",url,false);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8;");
    	xmlhttp.send(data+"checkXML=1");
  		if(xmlhttp.status == 200) {
    		//alert(xmlhttp.responseText);
    		document.getElementById(destObj).innerHTML = xmlhttp.responseText;
    	}
    	if(xmlhttp.status == 401)
    		location.reload();
	
  	}

}

function state_Change(destObj)
{

	if (xmlhttp.readyState==4) {

  		if (xmlhttp.status==200) {
			alert(xmlhttp.responseText);
    	}
    		
  		else {
    		alert("Problem retrieving XML data");
    	}
  	}
}

var showCal = 0;
function ShowCalendar(unixStamp,selcStamp,fldName) {
 
 	var tempDate;
 	if(unixStamp.indexOf('.') > 0) {
 		tempDate = new Date(unixStamp.substr(6,4),unixStamp.substr(3,2),unixStamp.substr(0,2));
 		unixStamp = tempDate.getTime()/1000;
 	}
	if(unixStamp == "") {
		unixStamp = new Date().getTime()/1000;
		selcStamp = 0;
	}
	else if(selcStamp == "") selcStamp = unixStamp;
	
	var selcDate = new Date(selcStamp*1000);
	selcDate = new Date(selcDate.getFullYear(),selcDate.getMonth(),selcDate.getDate());
	var myDate = new Date(unixStamp*1000);
	var myDate = new Date(myDate.getFullYear(),myDate.getMonth(),myDate.getDate());
 	var today = new Date();
 	today = new Date(today.getFullYear(),today.getMonth(),today.getDate());
	var myYear = myDate.getFullYear();
	var myMonth = myDate.getMonth();
	var myDay = myDate.getDay();
	
	var nMonth,lMonth,nYear,lYear;
	var nMonth = myMonth+1;
	var lMonth = myMonth-1;
	var nYear = myYear;
	var lYear = myYear;
	
	if(nMonth > 11) { nMonth = 0; nYear++; }
	if(lMonth < 0) { lMonth = 11; lYear--; }

	var nDate = new Date(nYear,nMonth,1);
	var lDate = new Date(lYear,lMonth,1);

	var day,lastDay,row,col,tempDate,outHTML;
	outHTML = "<table class='calTbl' cellpadding='2' cellspacing='0' border='0' onselectstart='return false;' onmouseover='showCal=2;' onmouseout='showCal=0;'>";
	outHTML += "<tr class='calTtl'><td onClick=\"ShowCalendar('"+(lDate/1000)+"','"+selcStamp+"','"+fldName+"');\" align='center'><div  class='calArwL'></div></td>";
	outHTML += "<td class='calTtl' colspan='5'>"+arMonthFullNames[myMonth]+" "+myYear+"</td>";
	outHTML += "<td onClick=\"ShowCalendar('"+(nDate/1000)+"','"+selcStamp+"','"+fldName+"');\" align='center'><div class='calArwR'></div></td>";
	outHTML += "</td></tr>";
	outHTML += "<tr>";
	for(col=0;col < 7;col++)
		outHTML += "<td class='days'>"+arDayShortNames[col]+"&nbsp;</td>";
	outHTML += "</tr>";
	day = 1;

	for(row=1;row <= 6;row++) {
		outHTML += "<tr>";
		for(col=1;col <= 7; col++) {
			tempDate = new Date(myYear,myMonth,day);
			var wday = tempDate.getDay();
			var mday = tempDate.getDate();
			
			if(mday > lastDay || !lastDay) {

				if(wday == col || (wday == 0 && col == 7)) {
					if(tempDate.getTime() == selcDate.getTime()) outHTML += "<td class='sday' ";
					else if(tempDate.getTime() == today.getTime()) outHTML += "<td class='cday' ";
					else if(wday == 0 || wday == 6) outHTML += "<td class='wday' ";
					else outHTML += "<td class='nday' ";
					outHTML += "onClick='SetDateFld(\""+fldName+"\","+tempDate.getTime()+");"+fldName+".focus();'>"+mday; 
					lastDay = mday;
					day++;
				}
				else outHTML += "<td class='xday'>&nbsp;";
			}
			else outHTML += "<td class='xday'>&nbsp;";
			outHTML += "&nbsp;</td>";
			
		}
		outHTML += "</tr>";
	}
	outHTML += "</table>";
	
	document.getElementById(fldName+'_div').innerHTML = outHTML;

}


function SetDateFld(fldName,jsStamp) {

	var jsStamp = new Date(jsStamp);

	var tday = jsStamp.getDate();
	var tmonth = jsStamp.getMonth();
	var tyear = jsStamp.getFullYear();
	if(tday < 10) tday = '0'+tday;
	if(tmonth < 10) tmonth = '0'+tmonth;

	document.getElementById(fldName).value = tday+"."+tmonth+"."+tyear;

}

function HideCalendar(fldName) {
	document.getElementById(fldName+'_div').innerHTML = '';

}

var mydbltime = 0;
function PreventSelect(evt) {
	
	var evt = (evt) ? evt : ((window.event) ? window.event : "");
	if(evt.metaKey || evt.shiftKey || evt.ctrlKey || mydbltime != 0) {

		if (typeof evt.preventDefault != "undefined") {
			evt.preventDefault();
		}
	}
	if(mydbltime == 0)
		mydbltime = setTimeout("DummyFunc()",900);
		
}


function DummyFunc() {
	
	clearTimeout(mydbltime);
	mydbltime = 0;
}
