

var answerCorrect		=	0;
var questionAnswered	=	0;
var levelClicked		=	false;

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		//Internet Explorer
		try
		 {
			 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		 }
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function initRequest()
{
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		isIE = true;
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function getHomePageHeader(_URL, pfile)
{
	var req	    =	GetXmlHttpObject();
	var url	    =	_URL + "AJAX_FUNCTIONS/getHomePageHeader.php?pfile="+encodeURIComponent(pfile);
	req.onreadystatechange = function()
	{
		if(req.readyState==4)
		{
			document.getElementById('topHead').innerHTML	=	req.responseText;
			window.top.initFaceBox(_URL);
		}
	}
	req.open("GET", url, true);
	req.send(null);
	return true;
}

// Set the length of the timer, in seconds
var secs 	=	0;
var mins	=	0;
var hr		=	0;
var timerRunning= false;
function StopTheClock()
{
	secs 	=	0;
	mins	=	0;
	hr		=	0;

	if(timerRunning)
		clearTimeout(timerID)
	var timerRunning = false
}

function StopTheClockQ()
{
	secs 	=	0;
	mins	=	0;
	hr		=	0;

	//if(timerRunning)
	clearTimeout(timerID)
	var timerRunning = false
}

function StartTheTimer()
{
	timerRunning = true
	secs = secs + 1
	if(secs == 59)
	{
		mins	+=	1;
		secs 	=	0;
	}
	if(mins	==	59)
	{
		hr	+=	1;
		mins	=	0;
	}
	
	dsecs	=	secs;
	dmins	=	mins;
	dhr		=	hr;
	
	if(secs <= 9)
		var dsecs	=	'0' + secs;
		
	if(mins < 9)
		var dmins	=	'0' + mins;

	if(hr < 9)
		var dhr		=	'0' + hr;
		
	if(hr > 0)
	{
		if(timerRunning)
		{
			if(document.getElementById('txtTime'))
				document.getElementById('txtTime').innerHTML	=	dhr + ":" + dmins + ":" + dsecs;
			if(document.getElementById('QTime'))
				document.getElementById('QTime').innerHTML	=	dhr + ":" + dmins + ":" + dsecs;
		}
	}
	else
	{
		if(timerRunning)
		{
			if(document.getElementById('txtTime'))
				document.getElementById('txtTime').innerHTML	=	dmins + ":" + dsecs;
			if(document.getElementById('QTime'))
				document.getElementById('QTime').innerHTML	=	dmins + ":" + dsecs;
		}
	}
	timerID = self.setTimeout("StartTheTimer()", 1000)
}

function loadFirstCard(_URL, deck_id, needLietner, enableFlag, gid, fcid, levelToLoad, action)
{
	var imgURL	=	window.top._IMAGE_URL;
	document.getElementById('getFlashCards').innerHTML	=	"";
	document.getElementById('getFlashCards').innerHTML	=	'<div align="center" style="float:left; width:100%;"><img src="' + imgURL + 'loading.gif" border="0" style="margin-top:150px;" /> <br /><br />Please wait while loading ...</span>';
	StopTheClock();
	curScore=0;

	var deckType		=	document.getElementById('deckType').value;
	var accessControl	=	document.getElementById('accessControl').value;
	var display			=	document.getElementById('display').value;
	
	var req 	=	initRequest();
	if(fcid == '' || needLietner == 'y')
		fcid = getFirstCard(_URL, deck_id, needLietner);
	
	var url		=	_URL+'AJAX_FUNCTIONS/getFlashcard.php';

	params		=	'deck_id='+deck_id+"&score=0&needLietner="+ needLietner+"&levelToLoad="+levelToLoad+"&enableFlag="+enableFlag+"&gid="+gid+"&fcid="+fcid+"&action="+action+'&display='+display+'&accessControl='+accessControl+'&deckType='+deckType;

	req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
		{
			if (req.status == 200)
			{	
				if (req.responseText == 'error') {
					
					alert('Error: Invalid parameters.');
					window.location.href = _URL + "404.php";
				}
				
				//if success code the insert HTML in  DIV
				document.getElementById('getFlashCards').innerHTML	=	"";
				document.getElementById('getFlashCards').innerHTML	=	req.responseText;

				getFlashcardComments(_URL, deck_id, fcid, 'load', '1', gid, 'get');
				if(timerRunning == false)
					StartTheTimer();
				
				window.top.initFaceBox(_URL);
				if(needLietner=='y') {
					levelToLoad	=	document.getElementById('loadFrom').value;
					setFlashCardCountScore(levelToLoad, true);
				}
				document.getElementById('QAnswered').innerHTML	=	parseInt(questionAnswered);
			} else if (req.status == 204)
			{}
		}
	};
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	return true;
}


function getFlashcardComments(_URL, deckId, fcid, action, pg, gid, lastaction)
{
	var req =	GetXmlHttpObject();
	var url	=	_URL + "AJAX_FUNCTIONS/getMemberComments.php";
	
	var deckType		=	document.getElementById('deckType').value;
	var accessControl	=	document.getElementById('accessControl').value;
	var display			=	document.getElementById('display').value;

	var group_id		=	window.top.document.getElementById('gid').value;

	if (action=='load')
		var params = "deck_id="+deckId+'&fcid='+fcid+'&pg='+pg+'&action='+action+'&deckType='+deckType+'&gid='+group_id+'&accessControl='+accessControl+'&display='+display+'&lastaction='+lastaction;
	else 
	{
		var	comments	=	window.top.document.getElementById('txtcomment').value;
		if(comments == '' || comments == 'Join the Discussion. Write Something...')
		{
			alert('No message to post');
			return false;
		}
		var params 		= "deck_id="+deckId+'&comments='+encodeURIComponent(comments)+'&fcid='+fcid+'&pg='+pg+'&action='+action+'&deckType='+deckType+'&gid='+group_id+'&accessControl='+accessControl+'&display='+display+'&lastaction='+lastaction;
	}

	var oldText			=	document.getElementById('flashComments').innerHTML;
	var oldCnt			=	window.top.document.getElementById('displaynum').innerHTML;
	var waitboxStyle	=	'style="width:300px; height:200px; padding:60px 0px 0px 0px; font-weight:bold;"';

	waitcursor			=	getWaitCursor(_URL, waitboxStyle);
	document.getElementById('flashComments').innerHTML	=	waitcursor;

	req.onreadystatechange = function()
	{
		if(req.readyState==4) 
		{
			if (req.responseText=='error')
			{
				window.top.document.getElementById('flashComments').innerHTML	=	oldText;
				window.top.document.getElementById('displaynum').innerHTML		=	oldCnt;
				alert('Error: Invalid parameters.');
			}
			else
			{
				res		=	req.responseText.split('~~~###disnum###~~~');
				window.top.document.getElementById('flashComments').innerHTML	=	res[0];
				window.top.document.getElementById('displaynum').innerHTML		=	res[1];
			}
			window.top.document.getElementById('txtcomment').value			=	'Join the Discussion. Write Something...';
			window.top.initFaceBox(_URL);
		}
	}
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	return true;
}

function scorePlus(deck_id, cardLocation, curScore, totalCards, totalTime, needLietner, card_id, level, firstTime, levelToLoad, _URL, reviewFlag, curCard, lastCardLoaded, curIndex)
{	
	answerCorrect++;
	questionAnswered++;

	if(level >= 5)
		level = 4;
	
	curScore 	= 	eval(curScore) + 1;
	StopTheClock();
	var totalTimeTaken	=	document.getElementById('txtTime').innerHTML;
	if(totalTime == 0)
		totalTime = totalTimeTaken;
	else
	{
		tempTaken	=	totalTimeTaken.split(":");
		tempTotal	=	totalTime.split(":");
		tempMins	=	eval(eval(tempTotal[0]) + eval(tempTaken[0]));
		tempSecs	=	eval(eval(tempTotal[1]) + eval(tempTaken[1]));
		tempSecs	=	tempSecs + eval(tempMins * 60);
		tempMins	=	Math.floor(tempSecs/60);
		tempSecs	=	tempSecs%60;
		if(tempMins < 9)
		{	tempMins = '0' + tempMins; }
		
		if(tempSecs < 9)
		{	tempSecs = '0' + tempSecs; }
		
		totalTime	=	tempMins + ":" + tempSecs;
	}

	if(needLietner == 'y')
	{
		if(level >= 5)
			level = 4;
		
		var req 	=	initRequest();
		var url		=	_URL + "ajax_functions/funnel.php";

		var params	=	"action=updateCardLevel&gotit=y&deck_id="+deck_id+"&card_id="+card_id+"&level="+level+"&needLietner="+needLietner;

		req.onreadystatechange = function()
		{
			if (req.readyState == 4) 
			{
				if (req.status == 200)
				{
					if(req.responseText == 'done') {
						changeCard(deck_id, cardLocation, curScore, totalCards, totalTimeTaken, totalTime, needLietner, firstTime, levelToLoad, _URL, reviewFlag, lastCardLoaded, curCard, card_id, curIndex);
					} else if(req.responseText == 'login') {
						window.top.openFaceBox(_URL + "popBox.php?enc=n&height=370&width=410&url=login.php");
					}
				} else if (req.status == 204)
				{}
			}
		};
		req.open("POST", url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", params.length);
		req.setRequestHeader("Connection", "close");
		req.send(params);
		return true;
	}
	else
	{
		changeCard(deck_id, cardLocation, curScore, totalCards, totalTimeTaken, totalTime, needLietner, firstTime, levelToLoad, _URL, reviewFlag, lastCardLoaded, curCard, card_id);
	}
}

function scoreMinus(deck_id, cardLocation, curScore, totalCards, totalTime, needLietner, card_id, level, firstTime, levelToLoad, _URL, reviewFlag, curCard, lastCardLoaded, curIndex)
{	
	questionAnswered++;
	
	var totalTimeTaken	=	document.getElementById('txtTime').innerHTML;
	if(totalTime == 0)
		totalTime = totalTimeTaken;
	else
	{
		tempTaken	=	totalTimeTaken.split(":");
		tempTotal	=	totalTime.split(":");
		tempMins	=	eval(eval(tempTotal[0]) + eval(tempTaken[0]));
		tempSecs	=	eval(eval(tempTotal[1]) + eval(tempTaken[1]));
		tempSecs	=	tempSecs + eval(tempMins * 60);
		tempMins	=	Math.floor(tempSecs/60);
		tempSecs	=	tempSecs%60;
		if(tempMins < 9)
		{	tempMins = '0' + tempMins; }
		
		if(tempSecs < 9)
		{	tempSecs = '0' + tempSecs; }
		
		totalTime	=	tempMins + ":" + tempSecs;
	}

	if(needLietner == 'y')
	{
		
		var req 	=	initRequest();
		var url		=	_URL + "ajax_functions/funnel.php"
		
		var params	=	"action=updateCardLevel&gotit=n&deck_id="+deck_id+"&card_id="+card_id+"&level="+ level+"&needLietner="+needLietner;
		
		req.onreadystatechange = function()
		{
			if (req.readyState == 4) 
			{
				if (req.status == 200)
				{
					if(req.responseText == 'done') {
						StopTheClock();
						changeCard(deck_id, cardLocation, curScore, totalCards, totalTimeTaken, totalTime, needLietner, firstTime, levelToLoad, _URL, reviewFlag, lastCardLoaded, curCard, card_id, curIndex);
					} else if(req.responseText == 'login') {
						window.top.openFaceBox(_URL + "popBox.php?enc=n&height=370&width=410&url=login.php");
					}
				} else if (req.status == 204)
				{}
			}
		};
		req.open("POST", url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", params.length);
		req.setRequestHeader("Connection", "close");
		req.send(params);
		return true;
	}
	else
	{
					StopTheClock();
					changeCard(deck_id, cardLocation, curScore, totalCards, totalTimeTaken, totalTime, needLietner, firstTime, levelToLoad, _URL, reviewFlag,lastCardLoaded, curCard, card_id);
	}	
}

function setQuestionAnsweredCount(totalCards) {
	
	var ansCorrect = parseInt(document.getElementById('ansCorrect').innerHTML);
	
	if (ansCorrect == 0 && (parseInt(document.getElementById('QRemaining').innerHTML) == totalCards)) {
		
		document.getElementById('QAnswered').innerHTML = 0;
		questionAnswered = 0;
	}
}

function getFirstCard(_URL, deck_id, needLietner)
{
	var req 	=	initRequest();
	var url		=	_URL+'AJAX_FUNCTIONS/flashcard.php';
	var params	=	"action=loadFirstCard&deck_id="+deck_id+"&needLietner="+needLietner;
	
	req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
		{
			if (req.status == 200)
			{
				//alert(req.responseText);
			}
		}
	};
	req.open("GET",url+"?"+params, false);
	req.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
	req.send(null);
	return req.responseText;
}

function changeCard(deck_id, cardLocation, curScore, totalCards, timeTaken, totalTime, needLietner, firstTime, levelToLoad, _URL, reviewFlag, lastCardLoaded, curCard, curCardId, curIndex)
{
	var imgURL			=	window.top._IMAGE_URL;
	var deckType		=	document.getElementById('deckType').value;
	var accessControl	=	document.getElementById('accessControl').value;
	var display			=	document.getElementById('display').value;

	document.getElementById('getFlashCards').innerHTML	=	"";
	document.getElementById('getFlashCards').innerHTML	=	'<div align="center" style="float:left; width:100%;"><img src="' + imgURL + 'loading.gif" border="0" style="margin-top:150px;" /> <br /><br />Please wait while loading ...</span>';
	switch(needLietner)
	{
		case 'n':
			//var fcid = 	getNextCard(deck_id, cardLocation, curCardId, _URL);
			var req 	=	initRequest();
			var url		=	_URL + "ajax_functions/flashcard.php";
			var params	=	"action=getNextCard&deck_id="+deck_id+"&cardLocation="+cardLocation+"&curCardId="+curCardId;
			
			req.onreadystatechange = function()
			{
				if (req.readyState == 4) 
				{
					if (req.status == 200)
					{
						var res	=	req.responseText;
						//return res;
					}
				}
			};
			req.open("GET",url+"?"+params, false);
			req.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
			req.send(null);
			var fcid = 	req.responseText;
		break;
		
		case 'y':
			if(reviewFlag	==	'r')
			{
				//var fcid = 	getFirstCardforReview(deck_id, levelToLoad, _URL);
				var req 	=	initRequest();
				var url		=	_URL + "ajax_functions/flashcard.php";
				var params	=	"action=getFirstCardforReview&deck_id="+deck_id+"&curLevel="+levelToLoad;
				req.onreadystatechange = function()
				{
					if (req.readyState == 4) 
					{
						if (req.status == 200)
						{
							//alert(req.responseText);
							//return res;
						}
					}
				};
				req.open("GET",url+"?"+params, false);
				req.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
				req.send(null);
				var result		= 	req.responseText;
				var res    		=	result.split('~~~~~~');
				var fcid   		=	res[0];
				var levelToLoad =	res[1];
				var curIndex	=	res[2];
				var totalCards	=	res[3];
			}
			else
			{
			  //var result		= 	getNextCardAtLevel(deck_id, lastCardLoaded, curCardId, levelToLoad, _URL);
			  if(typeof(curIndex) == 'undefined')
			  	curIndex = 0;
			  if(typeof(levelToLoad) == 'undefined')
			  	levelToLoad = 0;
			    
			  var req 	=	initRequest();
			  var url		=	_URL + "ajax_functions/flashcard.php";
			  var params	=	"action=getNextCardAtLevel&deck_id="+deck_id+"&lastCardLoaded="+lastCardLoaded+"&curCardId="+curCardId+"&curLevel="+levelToLoad+"&curIndex="+curIndex;
			  
			  req.onreadystatechange = function()
			  {
				  if (req.readyState == 4) 
				  {
					  if (req.status == 200)
					  {
						  var res	=	req.responseText;
						  
					  }
				  }
			  };
			  req.open("GET",url+"?"+params, false);
			  req.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
			  req.send(null);
			  var result		= 	req.responseText;
			  var res    		=	result.split('~~~~~~');
			  var fcid   		=	res[0];
			  var levelToLoad 	=	res[1];
			  var curIndex	 	=	res[2];
			  var totalCards	=	res[3];
			}
		break;
	}
	StopTheClock();
	if(!curScore)
		curScore=0;
	var req 	=	initRequest();

	var url 	= _URL + "AJAX_FUNCTIONS/getFlashcard.php";
	var params	=	"deck_id=" + deck_id + "&fcid=" + fcid  + "&score=" + curScore + "&totalCards=" + totalCards + "&totalTime=" + totalTime + "&needLietner=" + needLietner + "&lastCardLoaded=" + lastCardLoaded+'&deckType='+deckType+'&accessControl='+accessControl+'&display='+display+'&curIndex='+curIndex;
	
	if(cardLocation == 'last')
	{
			StopTheClock();
			timeTaken 	=	'00:00';
			totalTime 	= 	'00:00';
			curScore  	= 	0;
			firstTime	=	'startAgain';
			
			params		+=	"&levelToLoad=" + levelToLoad +  "&cardLocation=first&reviewFlag=l";
	}
	else
	{
		params	+=	 "&cardLocation=" + cardLocation + "&levelToLoad=" + levelToLoad + "&reviewFlag=" + reviewFlag + "&curCard=" + curCard;
	}

	var cmpCard			=	fcid;
	req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
		{
			if (req.status == 200)
			{
				if (req.responseText == 'error') {
					
					alert('Error: Invalid parameters.');
					window.location.href = _URL + "404.php";
				}
				
				curCard = curCard + 1; //????
				document.getElementById('getFlashCards').innerHTML	=	"";
				document.getElementById('getFlashCards').innerHTML	=	req.responseText;
				var fcid	=	document.getElementById('hdnBottom').value;
				var gid		=	document.getElementById('gid').value;
				getFlashcardComments(_URL, deck_id, fcid, 'load', '1', gid, 'get');

				if(cardLocation != 'last')
				{
					if(timerRunning == false)
						StartTheTimer();
				}
				else
				{
					StopTheClock();
				}
				window.top.initFaceBox(_URL);
				if(needLietner=='y')
					setFlashCardCountScore(levelToLoad, false);
				else
					setQuestionAnsweredCount(totalCards);
			} else if (req.status == 204)
			{}
		}
	};
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	return true;
}
function getWaitCursor(_URL, style)
{
	var imgURL	=	window.top._IMAGE_URL;
	var msg		=	'<div '+ style +'><div>Please wait while loading...</div><br /><div><img src="'+imgURL+'loading.gif"></div></div>';
	return msg;
}

function addToFunnel(_URL, deck_id, flag, op)
{
	if (op=='disable')
	{
		var fcid	=	document.getElementById('hdnBottom').value;
		url = _URL + "flashcardViewer.php?fcid="+fcid;
		window.location.href	=	url;
	}
	else
	{
		var req 	=	initRequest();
		var url		=	_URL + "ajax_functions/funnel.php?action=addToFunnel&deck_id=" + deck_id;
		
		req.onreadystatechange = function()
		{
			if (req.readyState == 4) 
			{
				if (req.status == 200)
				{
					if(req.responseText == 'done')
					{
						if(flag == 'r')
							loadFirstCard(_URL,deck_id,'y','n','sr','','','','');
						else
							loadFirstCard(_URL,deck_id,'y','n','sr','','','','');
					}
					if(req.responseText == 'exists')
					{
						if(flag == 'r')
							loadFirstCard(_URL,deck_id,'y','n','sr','','','','');
						else
							loadFirstCard(_URL,deck_id,'y','n','sr','','','','');
					} 
					if(req.responseText == 'login') {
						window.top.openFaceBox(_URL + "popBox.php?enc=n&height=370&width=410&url=login.php");
					}
				} else if (req.status == 204)
				{}
			}
		};
		req.open('POST', url, true);
		req.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
		req.send(null);
		return false;
	}
}

function resetFunnel(deck_id, _URL, fc_id)
{
	var req 	=	initRequest();
	var url		=	_URL + "ajax_functions/funnel.php?action=resetFunnel&deck_id=" + deck_id;
	
	req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
		{
			if (req.status == 200)
			{
				if(req.responseText == 'done') {
					url = _URL + "flashcardViewer.php?fcid="+ fc_id  + "&needLietner=y";
					window.location.href	=	url;
				} else if(req.responseText == 'login') {
					window.top.openFaceBox(_URL + "popBox.php?enc=n&height=370&width=410&url=login.php");
				}
			} else if (req.status == 204)
			{}
		}
	};
	req.open('POST', url, true);
	req.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
	req.send(null);
	return false;
}

function getAvgTime()
{
	var avgTime		=	'';
	var correct		=	parseInt(document.getElementById('correct').value);
	var totalTime	=	document.getElementById('txtTime').innerHTML;

	if (correct>0)
		avgTime		=	Math.floor(timeToSeconds(totalTime)/correct);
	else
		avgTime		=	totalTime;
	
	obj	=	secondsToTime(avgTime);
	var	avgTime		=	obj.h+':'+obj.m+':'+obj.s;

	if (avgTime.indexOf("NaN")!=-1)
		avgTime	=	'00:00:00'
	document.getElementById('avgTime').innerHTML	=	avgTime;
}

function secondsToTime(secs)
{
    var hours = Math.floor(secs / (60 * 60));
    var divisor_for_minutes = secs % (60 * 60);
    var minutes = Math.floor(divisor_for_minutes / 60);
    var divisor_for_seconds = divisor_for_minutes % 60;
    var seconds = Math.ceil(divisor_for_seconds);
	
	if(secs <= 9)
		var hours	=	'0' + hours;
	
	if(mins < 9)
		var minutes	=	'0' + minutes;
	
	if(hr < 9)
		var seconds	=	'0' + seconds;

	var obj = {
        "h": hours,
        "m": minutes,
        "s": seconds
    };
    return obj;
}

function timeToSeconds(time)
{
	var	totalTime	=	0;
	var	tTime		=	time.split(":");
	
	if (tTime.length>2)
	{
		totalTime	=	parseInt(totalTime) + parseInt(tTime[0]*3600);
		totalTime	=	parseInt(totalTime) + parseInt(tTime[1]*60);
		totalTime	=	parseInt(totalTime) + parseInt(tTime[2]);
	}
	else
	{
		totalTime	=	parseInt(totalTime) + parseInt(tTime[0]*60);
		totalTime	=	parseInt(totalTime) + parseInt(tTime[1]);
	}
	
	return totalTime;
}

function setFlashCardCountScore(levelToLoad, firstLoad)
{
	var getEle		=	'level'+levelToLoad+'CardCtn';
	if (document.getElementById(getEle)!=='undefined' && document.getElementById(getEle)!==null)
	{
		if (levelToLoad!=document.getElementById('fLevel').value || firstLoad || levelClicked)
		{
			document.getElementById('CardCtn').value	=	document.getElementById(getEle).value;
			document.getElementById('fLevel').value		=	levelToLoad;
			answerCorrect		=	0;
			questionAnswered	=	0;
			levelClicked		=	false;
		}
	}
	var cnt		=	document.getElementById('CardCtn').value;
	/* document.getElementById('ctnlevelCount').innerHTML		=	cnt; */
	if (parseInt(questionAnswered)>cnt)
		questionAnswered	=	1;
	
	if (parseInt(answerCorrect)>cnt)
		answerCorrect		=	0;

	document.getElementById('QAnswered').innerHTML	=	parseInt(questionAnswered); 
	document.getElementById('ansCorrect').innerHTML			=	parseInt(answerCorrect);
	/* document.getElementById('quesTotal').innerHTML			=	cnt; */
}
function showHide(Show, hide)
{
	document.getElementById(Show).className	=	'delvisible';
	document.getElementById(hide).className	=	'delhidden';
}
function getCss(id, op)
{
	var ele	=	'awr'+id;
	if (op.match('in')){
		document.getElementById(ele).className	=	'HomePageTop arwmenu2';
	}
	else {
		document.getElementById(ele).className	=	'HomePageTop arwmenu1';
	}
}
function discussionText(flag, ele)
{
	var val	=	trim(window.top.document.getElementById(ele).value);
	if (flag=='cleartxt')
	{
		if(val=='Join the Discussion. Write Something...')
		{
			window.top.document.getElementById(ele).value	=	'';
		}
	}
	else
	{
		if(val=='')
		{
			window.top.document.getElementById(ele).value	=	'Join the Discussion. Write Something...';
		}
	}
}
function trim(inputString) {
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") {
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") {
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   }
   return retValue;
}

function setClickEvent()
{
	levelClicked	=	true;
}

function deckRating(_URL, deck_id, member_id, rate)
{
	var req   	=		GetXmlHttpObject();
	var url   	=		_URL + "AJAX_FUNCTIONS/deckRating.php?deck_id=" + deck_id + "&mid=" + member_id + "&rate=" + rate;
	req.onreadystatechange = function()
	{
		if(req.readyState==4)
		{
			if(req.responseText)
			{
				
				document.getElementById('deckStar').innerHTML				=	req.responseText;
			}
		}
	}
	req.open("GET", url, true);
	req.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
	req.send(null);
	return true;
}
function addAsFriend(_URL, friendMemberId, divId)
{
	var url			=	_URL + "ajax_functions/addFriend.php?friendMemberId=" + friendMemberId;
	//alert(url);
 	var req 		=	initRequest();
	req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
		{
			if (req.status == 200)
			{
			    document.getElementById('addFriendActivityIndicator').style.display = 'none';
                var addFriendLink = window.top.document.getElementById(divId);
                addFriendLink.innerHTML = "";
            	window.parent.closeFacebox();
			} 
		}
	};
	req.open('POST', url, true);
	req.send(null);
	document.getElementById('addFriendActivityIndicator').style.display = 'inline';
}


function flashcardQuestions(_URL, deck_id, fcid, pg)
{
	var req =	GetXmlHttpObject();
	var url	=	_URL + "AJAX_FUNCTIONS/getFlashcardQuestions.php";

	var params = "deck_id=" + deck_id+'&fcid='+fcid+'&pg='+pg;

	req.onreadystatechange = function()
	{
		if(req.readyState==4) 
		{	
			if (req.status == 200)
			{
				if (req.responseText == 'error')
				{
					alert('Error: Invalid parameters.');
					window.location.href = _URL + "404.php";					
				}
				window.top.document.getElementById('flashQuestions').innerHTML	=	req.responseText;				
			}
		}

	}
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	return true;
}
function showModalDialog(urlLink, Title)
{
	
	tb_show(""+Title+"",""+urlLink+"", "");
}

function getDeckHistory(_URL, deckId, pg, lastaction)
{
	var req =	GetXmlHttpObject();
	var url	=	_URL + "AJAX_FUNCTIONS/getDeckHistory.php";
	var params = "deck_id="+deckId+'&pg='+pg+'&action='+lastaction;
	var waitboxStyle	=	'style="width:400px; height:200px; padding:60px 0px 0px 0px; text-align:center; font-weight:bold;"';

	waitcursor			=	getWaitCursor(_URL, waitboxStyle);
	document.getElementById('getHistory').innerHTML	=	waitcursor;

	req.onreadystatechange = function()
	{
		if(req.readyState==4) 
		{
			if (req.status == 200)
			{
				if (req.responseText == 'error')
				{
					alert('Error: Invalid parameters.');
					window.location.href = _URL + "404.php";					
				}
				document.getElementById('getHistory').innerHTML	=	req.responseText;
			}
		}
	}
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	return true;
}



function joinTheGroup(_URL, mid, gid, type,from)
{
	var expan	= from;
	var req   	=		GetXmlHttpObject();
	var url   	=		_URL + "AJAX_FUNCTIONS/joinLeaveGroup.php?mid=" + mid + "&gid=" + gid + "&type=" + type;
	req.onreadystatechange = function()
	{
		if(req.readyState==4)
		{
			if(req.responseText)
			{
				if(type == 'join')
				{
					if (req.responseText != 'false') {
						if (from=='premierModal')
						{	
							window.top.closeFacebox();
							window.location.reload();
						}
						window.location.href	=	window.location.href;
					} else {
						
						alert('You are already member of this group');
					}
				}
				if(type == 'leave')
				{
					if(from == 'rgroup')
						window.location.href	=	'addEditProfile.php?exp='+from;
					else
					{
						window.location.href	=	window.location.href;
					}
				}
			}
		}
	}
	req.open("GET", url, true);
	req.setRequestHeader("If-Modified-Since", "Fri, 31 Dec 1999 23:59:59 GMT");
	req.send(null);
	return true;
}

function revenueLeadToggle(_URL, userAction, quizID, sqid, from)
{
	switch(userAction)
	{
		case 'open'			:	var url		=	_URL + 'popLeadConfirm.php?quizID='+quizID+'&sqid='+sqid+'&from='+from;						
								window.top.openFaceBox(url);
		break;
		case 'close'		:	var cid	=	window.top.document.getElementById('cid').value;
								window.top.location.href	=	_URL+'contestInfo.php?cid='+cid;
								window.top.initFaceBox(_URL);
		break;
		case 'lead'			:	var cid		=	window.top.document.getElementById('cid').value;
								var url		=	_URL + 'popLeadForm.php?quizID='+quizID+'&sqid='+sqid+'&cid='+cid+'&from='+from;
								window.top.openFaceBox(url);
		break;
		case 'custom' 		: 	var cid		=	window.top.document.getElementById('cid').value;
								var url		=	_URL + 'popCustomForm.php?quizID='+quizID+'&sqid='+sqid+'&cid='+cid+'&from='+from;
								window.top.openFaceBox(url);
		break;
		case 'showResult'	:	window.top.document.getElementById('popUp').className	=	'delvisible';
								window.top.closeFacebox();
		break;
		case 'flash'		:	var gid		=	window.top.document.getElementById('gid').value;
								var url		=	_URL + 'popLeadForm.php?gid='+gid+'&from='+from;
								window.top.openFaceBox(url);
		break;
		case 'gClose'		:	var gid	=	window.top.document.getElementById('gid').value;
								window.top.location.href	=	_URL + 'groupProfile.php?gid='+gid;
								window.top.initFaceBox(_URL);
		break;
		case 'group'		:	var gid		=	window.top.document.getElementById('gid').value;
								var url		=	_URL + 'popLeadForm.php?gid='+gid+'&from='+from;
								window.top.openFaceBox(url);
		break;
		case 'gOpen'		:	var gid		=	window.top.document.getElementById('gid').value;
								var url		=	_URL + 'popLeadConfirm.php?gid='+gid+'&from='+from;						
								window.top.openFaceBox(url);
		break;
		
		case 'quiz'			:	var gid		=	window.top.document.getElementById('gid').value;
								var url		=	_URL + 'popLeadForm.php?gid='+gid+'&from='+from;
								window.top.openFaceBox(url);
		break;
		
	}
}


function revenueLeadSubmit(_URL, from, dgId)
{
	showLoadingImage();
	var req 		=	GetXmlHttpObject();
	var url			=	_URL + "AJAX_FUNCTIONS/submitRevenueLead.php";
	
	var	cid			=	(document.getElementById('cid')!='undefined' && document.getElementById('cid')!=null)?document.getElementById('cid').value:'';
	var gid			=	(document.getElementById('gid')!='undefined' && document.getElementById('gid')!=null)?document.getElementById('gid').value:'';
	var email		=	encodeURIComponent(document.getElementById('email').value);
	var Name		=	encodeURIComponent(document.getElementById('Name').value);
	var Address		=	encodeURIComponent(document.getElementById('Address').value);
	var Zip			=	document.getElementById('Zip').value;
	var PhoneNumber	=	(document.getElementById('PhoneNumber').value).replace(/[^0-9]+/g,'');
	var degreeId	=	(window.top.document.getElementById('degreeId')!='undefined' && window.top.document.getElementById('degreeId')!=null)?window.top.document.getElementById('degreeId').value:dgId;
	
	if (degreeId=='')
	{
		degreeId	=	(document.getElementById('degreeId')!='undefined' && document.getElementById('degreeId')!=null)?document.getElementById('degreeId').value:dgId;
	}

	var optText		=	(document.getElementById('optText')!=null && document.getElementById('optText')!='undefined')?encodeURIComponent(document.getElementById('optText').checked):'';
	var gradYear	=	window.top.document.getElementById('yearGrad').value;
	var highEdu		=	window.top.document.getElementById('highEducation').value;
	
	
	
	var params 	= 'cid='+cid+'&gid='+gid+'&email='+email+'&Name='+Name+'&Address='+Address+'&Zip='+Zip+'&PhoneNumber='+PhoneNumber+'&degreeId='+degreeId+'&gradYear='+gradYear+'&highEdu='+highEdu+'&optText='+optText+'&from='+from;

	req.onreadystatechange = function()
	{
		if(req.readyState==4) 
		{
			if (req.status == 200)
			{
				switch(req.responseText)
				{
					case 'success':		switch(from)	
										{
											case 'group': 	window.location.reload(true);
											break;
											case 'cQuiz':	window.top.document.getElementById('popUp').className	=	'getCardContainer delvisible';
															window.top.closeFacebox();
											break;
											case 'flash':	window.top.document.getElementById('getFlashCards').className	=	'getCardContainer';
															window.top.closeFacebox();
											break;
										}
					break;
					default:			document.getElementById('modalerr').innerHTML	=	req.responseText;
				}
				window.top.initFaceBox(_URL);
			}
		}
	}
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	return true;
}



function checkAndSubmitLead(_URL, from, email, dgId)
{
	document.getElementById('modalerr').innerHTML	=	'';
	if (email) 
	{
		if (trim(document.getElementById('email').value)=='')
		{
			document.getElementById('email').focus();
			document.getElementById('modalerr').innerHTML	=	'Please fill in the required fields to continue, Email is missing.';
			return false;
		}
		else
		{
			if (!window.top.checkEmail(document.getElementById('email').value))
			{
				document.getElementById('email').focus();
				document.getElementById('modalerr').innerHTML	=	'Please enter a valid email.';
				return false;
			}
		}
	}	
	if (trim(document.getElementById('Name').value)=='')
	{
		document.getElementById('Name').focus();
		document.getElementById('modalerr').innerHTML	=	'Please fill in the required fields to continue, Name is missing.';
		return false;
	}
	else
	{
		
		var name =	trim(document.getElementById('Name').value);
		if(!checkValidName(name))
		{
			document.getElementById('Name').focus();
			document.getElementById('modalerr').innerHTML	=	'Please enter your Full Name. \'First\' or \'Last\' name is missing, or they are less than 2 characters.';
			return false;
		}
	}
	if (trim(document.getElementById('Address').value)=='')
	{
		document.getElementById('Address').focus();
		document.getElementById('modalerr').innerHTML	=	'Please fill in the required fields to continue, Address is missing.';
		return false;
	}
	else
	{
		if(trim(document.getElementById('Address').value.length)<3)
		{
			document.getElementById('Address').focus();
			document.getElementById('modalerr').innerHTML	=	'Address field should atleast 3 characters.';
			return false;
		}
	}
	if(trim(document.getElementById('Zip').value)=='')
	{
		document.getElementById('Zip').focus();
		document.getElementById('modalerr').innerHTML	=	'Please fill in the required fields to continue, Zip is missing.';
		return false;
	}
	else
	{
		ans		=	validateZipPhone(document.getElementById('Zip').value,'zip');
		if(ans)
		{
			document.getElementById('Zip').focus();
			document.getElementById('modalerr').innerHTML	=	'Please enter a valid ZIP.';
			return false;
		}
	}

	if(trim(document.getElementById('PhoneNumber').value)=='')
	{
		document.getElementById('PhoneNumber').focus();
		document.getElementById('modalerr').innerHTML	=	'Please fill in the required fields to continue, phone number is missing.';
		return false;
	}
	else
	{
		var phone =	trim(document.getElementById('PhoneNumber').value);
		ans		=	validatePhoneNumber(phone);
		if(!ans)
		{
			document.getElementById('PhoneNumber').focus();
			document.getElementById('modalerr').innerHTML	=	'Please enter a valid phone number.<br />E.g (308)-135-7895 or 308-135-7895 or 308135-7895 or 308.135.7895 or 308135.7895 or3081357895';
			return false;
		}
		else
		{
			if (!validateUSPhoneAreaCode(phone))
			{
				document.getElementById('PhoneNumber').focus();
				document.getElementById('modalerr').innerHTML	=	'Please enter a valid phone number.';
				return false;
			}
		}
	}
	
	
	window.top.revenueLeadSubmit(_URL, from, dgId);
	return false;
}

function validateZipPhone(field,entity) 
{
   var num = field.replace(/[^\d]/g,'');
   if(entity == 'phone')
   {
	 if(num.length != 10) 
		return true;
	 else
		return false;
   }
   else if(entity == 'zip')
   {
	 if(num.length != 5) 
		return true;
	 else
		return false;
   }
}

function checkValidName(name)
{
	var subname	=	name.split(' ');
	return ((subname.length<2)?false:((subname[0].length<2 || (subname[1].length<2))?false:true));
}


function checkEmail(email)
{
	// a very simple email validation checking. 
	// you can add more complex email checking if it helps 
    if(email.length <= 0)
	{
		return true;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      	var regexp_user=/^\"?[\w-_\.]*\"?$/;
      	if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      	var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      	if(splitted[2].match(regexp_domain) == null) 
      	{
	    	var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    	if(splitted[2].match(regexp_ip) == null) return false;
      	}// if
      	return true;
    }
	return false;
}

function validatePhoneNumber(elementValue)
{
	//var phoneNumberPattern = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
	//return phoneNumberPattern.test(elementValue);
	var phoneNumberPattern1 = /^\(?(\d{3})\)?[-]?(\d{3})[-]?(\d{4})$/;
	var phoneNumberPattern2 = /^\(?(\d{3})\)?[ ]?(\d{3})[ ]?(\d{4})$/;
	var phoneNumberPattern3 = /^\(?(\d{3})\)?[.]?(\d{3})[.]?(\d{4})$/;
	if( phoneNumberPattern1.test(elementValue) || phoneNumberPattern2.test(elementValue) || phoneNumberPattern3.test(elementValue))
		return true;
	else
		return false;
}
function showLoadingImage()
{
	document.getElementById("Loading").style.display =	'inline';
}

function checkLogin(url,p1,p2)
{
	
	var req   	=		GetXmlHttpObject();
	var url   	=		url+ "AJAX_FUNCTIONS/commonOperation.php";
	var params	=       "type=checkCookie";  
	req.onreadystatechange=function(){
		if(req.readyState==4){
			if(req.responseText=='success')
				
				window.top.openFaceBox(p2);
			else
				window.top.openFaceBox(p1);
		}
		
    }
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);	
	return true;
}

