function OpenHelpWindow(url){
	window.open(url,'Browser','height=600,width=560,toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,modal=yes');
}

function modalWin(url) {
	var w = 300;
	var h = 360;
	var l = (screen.availWidth - w) / 2;
	var t =  (screen.availHeight - h) / 2;
	window.open(url,'Browser','height=400,width=400,left='+l+', top='+t+',toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,modal=yes');
}

function OpenPopupHelpMovie(movie) {
	var w = 700;
	var h = 625;
	var l = (screen.availWidth - w) / 2;
	var t =  (screen.availHeight - h) / 2;
	var url = "/phplib/ccsi_helpmovie.php?movie="+movie;
	if (window.showModalDialog) {
	var params='dialogWidth='+w+'px;dialogHeight='+h+'px;dialogLeft='+l+'px;resizable:yes;scroll:yes';
	window.showModalDialog(url, "mywindow", params);
	} else {
	var params='height='+h+',width='+w+',left='+l+', top='+t+',toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,modal=yes';
	window.open (url,"mywindow",params);
	}
	
}

function OpenPopupHelp(pouphelp) {
	var w = 475;
	var h = 500;
	var l = (screen.availWidth - w) / 2;
	var t =  (screen.availHeight - h) / 2;
	var url = "/phplib/ccsi_popuphelp.php?ID="+pouphelp;
	if (window.showModalDialog) {
	var params='dialogWidth='+w+'px;dialogHeight='+h+'px;dialogLeft='+l+'px;resizable:yes;scroll:yes';
	window.showModalDialog(url, "mywindow", params);
	} else {
	var params='height='+h+',width='+w+',left='+l+', top='+t+',toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,modal=yes';
	window.open (url,"mywindow",params);
	}
	
}

curpath="";
curtop = 1;
curlast = 1;

function ccsi_replace(StrOrg,strFind,strReplace)
{
	st = new String;
	s = new String(StrOrg);
	s.replace(strFind,strReplace);
	var st =  s.replace(strFind,strReplace);
	return st.toString();
}


function AutoSubmit(frmName) {
	var vTest = document.getElementById('reload');
	vTest.value = 'yes';
	var formObject = document.forms[frmName];
	formObject.submit();
	}
	
function leftTrim(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	return sString;
}

function rightTrim(sString){
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function trimAll(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
return sString;}

var req;
var req2;

function ExecAjax(url){
	if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.open("POST", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.open("POST", url, true);
            req.send();
        }
    }
}

function AjaxGetDesc(url, code, maintlink) 
{
	// branch for native XMLHttpRequest object
    oInput = document.getElementById(code);
	url = url + '&code=' + oInput.value + '&maintlink=' + maintlink;
	
	if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = AjaxSetDesc;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = AjaxSetDesc;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function AjaxGetList(url, code, dropdown) 
{
    // branch for native XMLHttpRequest object
    oInput = document.getElementById(code);
	url = url + '&code=' + oInput.value + '&maintlink=' + dropdown;
	
	if (window.XMLHttpRequest) {
         req2 = new XMLHttpRequest();
         req2.onreadystatechange = AjaxSetList;
         req2.open("GET", url, true);
         req2.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
         req2 = new ActiveXObject("Microsoft.XMLHTTP");
        if ( req2) {
             req2.onreadystatechange = AjaxSetList;
             req2.open("GET", url, true);
             req2.send();
        }
    }
}
  
function AjaxSetDesc() {
if (req.readyState == 4) { // Complete

  if (req.status == 200) { // OK response
	xml = req.responseXML;
	if(xml!=null) {
		t = xml.getElementsByTagName("entity");
		sText = "";
		if(t==null){
			alert('Houston we have a problem');
		} else {
			if (t.length>0) {
			maintlink = t[0].getAttribute('maintlink')
			document.getElementById(maintlink).innerHTML = t[0].getAttribute('desc');
			document.getElementById(maintlink).href = t[0].getAttribute('url');
			}
		}
	  } else {
	  }
	}
}
}
  
function AjaxSetList() {
	var t;
	var maintlink;
	var emptyfirst;
	var bEmptyFirst;
	var i=0;
	var oDropDown;
	var iMinimal;
	var title;
	var st;

	if (req2.readyState == 4) { // Complete

	  if (req2.status == 200) { // OK response
		xml =  req2.responseXML;
		if(xml!=null) {
			t = xml.getElementsByTagName("entity");
			sText = "";
			if(t==null){
				alert('Houston we have a problem');
			} else {
				
				if (t.length>0) {
					bEmptyFirst = true;
					maintlink = t[0].getAttribute('maintlink');
					emptyfirst = t[0].getAttribute('emptyfirst');
					if (emptyfirst=="1"){
						bEmptyFirst	= true;
					} else {
						bEmptyFirst	= false;
					}
					
					oDropDown = document.getElementById(maintlink);
					oDropDown.length=0;

					iMinimal = 0;
					if (bEmptyFirst) {
						st = new Option('', "0");
						iMinimal = 1;
						oDropDown.options.add(st);
					}
				
					if((t.length>iMinimal)) {
						for (i=0; i<t.length; i++ )
						   {
						   if (bEmptyFirst) {
								var a = t[i].getAttribute('code');
//								alert(a.length);
								if (a.length == 0){
									title = t[i].getAttribute('desc');
								} else {
									title = t[i].getAttribute('code') + ' - ' + t[i].getAttribute('desc');
								}
						   } else {
								title = t[i].getAttribute('desc');
						   }
						   st = new Option(title, t[i].getAttribute('id'));
						   oDropDown.options.add(st);
						   }
					} else {
						
						oDropDown.length=0;
						// always add the first for no selection
						st = new Option('None available', "0");	
						oDropDown.options.add(st);						
					}
				}
			}
		  } else {
		  }
		}
	}
} 

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.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"
		},
		{	// 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"
		}
	]

};

var before="Crownvention 2007!"
var current="Crownvention 2007 is goiong on !"
var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

function countdown(yr,m,d){
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy
var futurestring=montharray[m-1]+" "+d+", "+yr
var difference=(Math.round((Date.parse(futurestring)-Date.parse(todaystring))/(24*60*60*1000))*1)
if (difference==0)
	document.write(current)
else if (difference>0)
	document.write("Only "+difference+" days until<br>"+before)
}

BrowserDetect.init();

function SetDate(lOffSet, sRef){
	//var lOffSet = -9;
	var lTotaloffSet;
	var oDate = new Date();
	var oServerDate;
	var lLocalOffSet = -1*oDate.getTimezoneOffset()/60;
	var lMilliseconds;
	var oSpan = document.getElementById(sRef);

	lTotaloffSet = lOffSet - lLocalOffSet

	lMilliseconds = oDate.getTime();
	lMilliseconds = lMilliseconds + (lTotaloffSet*3600000);
	oServerDate = new Date(lMilliseconds);

	oSpan.innerHTML = FormatDigit(oServerDate.getDate()) + ' ' + GetMonthName(oServerDate.getMonth()) + ' ' + oServerDate.getFullYear() + ' '  + FormatDigit(oServerDate.getHours()) + ':' + FormatDigit(oServerDate.getMinutes()) + ':' + FormatDigit(oServerDate.getSeconds()) + ' ' + 'GMT ' + FormatDigit(lOffSet) + ':00' ;
	setTimeout('SetDate(' + lOffSet + ',"' + sRef + '")',500);
}

function FormatDigit(sDigit){
	sDigit = sDigit + '';
	if (sDigit.length < 2){
		sDigit = '0' + sDigit;
	}
	return sDigit;
}

function GetMonthName(lMonth){
	smonth = "";
	switch(lMonth){
		case 0:
			smonth = "Jan"
		break;
		case 1:
			smonth = "Feb"
		break;
		case 2:
			smonth = "Mar"
		break;
		case 3:
			smonth = "Apr"
		break;
		case 4:
			smonth = "May"
		break;
		case 5:
			smonth = "Jun"
		break;
		case 6:
			smonth = "Jul"
		break;
		case 7:
			smonth = "Aug"
		break;
		case 8:
			smonth = "Sep"
		break;
		case 9:
			smonth = "Okt"
		break;		
		case 10:
			smonth = "Nov"
		break;		
		case 11:
			smonth = "Dec"
		break;				
	}
	return smonth;
}
