//document.onclick = cd_hide;
//document.onclick = function(){doMe(this.event);}

window.onload = init;
function init(){

	var cd = document.getElementById('courseDescription');
	cd.style.top = 0;
	cd.style.left = 0;
	cd.style.position = "absolute";

	
	/*workshop table overflow */
	/*var tbody = document.getElementById('wsTableBody');
	tbody.style.height = "250px";
	tbody.style.overflow = "auto";*/

}

function doMe(evt){
	evt = (evt) ? evt : ((window.event) ? window.event : null);
	alert(evt.screenY);
}
function registerSubmit(){
	var wsArray = document.getElementById('wsForm').wsList;
	var ws1 = document.getElementById('ws1');
	var ws2 = document.getElementById('ws2');
	var ws3 = document.getElementById('ws3');
	var checked = 0;
	
	for(i=0;i<wsArray.length;i++){
		if(wsArray[i].checked == true){
			checked++;
			switch(checked){
				case 1:
					ws1.value = wsArray[i].id;
				break;
				case 2:
					ws2.value = wsArray[i].id;				
				break;
				case 3:
					ws3.value = wsArray[i].id;				
				break;
			}//end switch/case
		}//end if checked
	}//end for loop

	if(checked > 3){
		alert('You have checked '+checked+' workshops.  Please uncheck '+
			  (checked-3)+' workshop(s) to continue.');
		return false;
	}
	else{
		return true;
	}
	
}//end registerSubmit()


function showDesc(obj, evt){

	var blurbBox = document.getElementById('courseDescription');
	
	//get proper event object
	evt = (evt) ? evt : ((window.event) ? window.event : null);
	curEvt = evt;
	curObj = obj;

	//get the values for the blurbbox via ajax rpc call
	sndReq('getWorkshopInfo',obj.id);
	
	//get the y position based upon mouse y coordinate triggered during event
	//the reason is with overflow, findPosY does not return the proper position
	//get the x position based upon the x coordinate of the element added to its width
	/*if(evt){
		//get scroll offsets
		var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
		var dsocleft=document.all? iebody.scrollLeft : pageXOffset
		var dsoctop=document.all? iebody.scrollTop : pageYOffset
	
		var wsTable = document.getElementById('rBoxContent');
		var tableDsocLeft = document.all? wsTable.scrollLeft : wsTable.scrollLeft;
		var tableDsocTop=document.all? wsTable.scrollTop : wsTable.scrollTop;
		
		//var top = dsoctop+evt.screenY;
		//var top = findPosY(obj);
		left = findPosX(obj);
		top = evt.screenY;
		//var left = obj.offsetWidth;
	}*/
	
	/*alert(findPosX(obj)+' '+findPosY(obj)+'\n'+
	  obj.offsetWidth+' '+obj.offsetHeight+'\n'+
	  blurbBox.offsetWidth+' '+blurbBox.offsetHeight+'\n'+
	  dsocleft+' '+dsoctop+'\n'+
	  tableDsocLeft+' '+tableDsocTop+'\n'+
	  evt.screenY
	  );*/

	//blurbBox.style.left = left+"px";  
	//blurbBox.style.top = top+"px";
	
	
	/*if(window.event){
	blurbBox.style.left = left+"px";
	blurbBox.style.top = top+"px";
	}
	else{
	blurbBox.style.left = left+"px";
	blurbBox.style.top = top+"px";		
	}*/

//blurbBox.style.display = "block";			

}
function cd_hide(){
	var blurbBox = document.getElementById('courseDescription');
	blurbBox.style.display = "none";
}
/**********************************/
/**Utility Functions **************/
function findPosX(obj)
{
    var curleft = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
			if(obj.offsetLeft > 0)
            curleft += obj.offsetLeft;
            obj = obj.offsetParent;
			
        }
        if ( obj != null )
            curleft += obj.offsetLeft;
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj)
{
    var curtop = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            curtop += obj.offsetTop;
            obj = obj.offsetParent;
			
        }
        if ( obj != null )
            curtop += obj.offsetTop;
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}
 //****************************************************************
 //****************************************************************
 //Ajax Functions
 function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
 }//end createRequestObject

 var http = createRequestObject();

 function sndReq(action, wsId) {


    http.open('get', './inc/rpc.php?action='+action+'&id='+wsId);
    //http.onreadystatechange = function(){handleResponse();}
	http.onreadystatechange = handleResponse;
    http.send(null);
 }



 function handleResponse() {

    if(http.readyState == 4 || http.readyState=="complete"){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');

			var title = document.getElementById('cd_title');
			var blurb = document.getElementById('cd_blurb');
			
			title.innerHTML = ""+"<span style='font-weight: normal;'>"+update[0]+"</span>";
			blurb.innerHTML = update[1];
			//blurb overflow - needed if using bubble
			//blurb.style.height = "130px";
			//blurb.style.overflow = "auto";
			//alert("field: "+update[0]+"\nvalue: "+update[1]);
			
			var blurbBox = document.getElementById('courseDescription');
			var wsTable = document.getElementById('rBoxContent');
			var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
		
			//apparently page scroll doesn't make a difference
			//var dsocleft=document.all? iebody.scrollLeft : pageXOffset
			//var dsoctop=document.all? iebody.scrollTop : pageYOffset			
			
			//but overflow scroll definitely does
			var tableDsocLeft = document.all? wsTable.scrollLeft : wsTable.scrollLeft;
			var tableDsocTop=document.all? wsTable.scrollTop : wsTable.scrollTop;			
			
			var newmanOffset = 292;//offset where, for some reason, absolute positioning starts
			//var bubbleOffsetY = 195;//offset to get the bubble to align properly
			//var bubbleOffsetX = 5;
			var bubbleOffsetY = 0;
			var bubbleOffsetX = 0;
			
			
			//subtracting from top moves bubble up
			//subtracting from left moves bubble left
			var top = findPosY(curObj)-newmanOffset-bubbleOffsetY+curObj.offsetHeight-tableDsocTop;
			var left = findPosX(curObj)+curObj.offsetWidth-bubbleOffsetX;
			//alert(findPosX(curObj)+ ' - ' + curObj.offsetWidth + ' - ' + bubbleOffsetX);
			blurbBox.style.top = top+"px";
			blurbBox.style.left = left+"px";
			blurbBox.style.display = "block";			

//alert(curEvt.screenY);
/*alert("1. "+findPosX(curObj)+' '+findPosY(curObj)+'\n'+
	  "2. "+curObj.offsetWidth+' '+curObj.offsetHeight+'\n'+
	  "3. "+blurbBox.offsetWidth+' '+blurbBox.offsetHeight+'\n'+
	  "4. "+dsocleft+' '+dsoctop+'\n'+
	  "5. "+tableDsocLeft+' '+tableDsocTop+'\n'+
	  "6. "+curEvt.screenY+'\n'+
	  "7. "+curObj.offsetParent.id
	  );*/








        }
    }
}














function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}

function ValidateForm(){
	var emailID=document.wsForm.email
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter your Email ID")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
	return true
 }