var http = GetXmlHttpObject();
var mPage = "";
var dest = "";
var comicId = "";
var miniGameId = "";
var gameCategoryId = "";
var activityId = "";
var funLibId= "";
var rootdomain="http://"+window.location.hostname
var browser="";
var comicTimer;
var btnTimer;
var action=false;
var miniGamePic = new Array();
var debug;
var mainPage = ["newsBox_1024", "aboutCC_1024", "comic", "game", "activity", "giftShop", "funLibrary_1024", "contactUs_1024", "register", "forgetPwd_1024", "profile_1024", "emailUs_1024", "giftShop", "learnMore", "mem_viewer"];
var memberName="";
var memberEmail="";
var memberLogin = false;
var invalidEmail = "0";
var announceTag="0";
var newwindow = '';
var profileTimer = null;
//var currCpts=0;
//var lastlogin = '';

// ====================================================
// ======= LIMIT ACTION ON SCREEN / KEYBOARD ======
// ====================================================
function right(e) { 
	if (debug != 1) {
		if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) 
			return false; 
		else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) { 		
			alert('This Page is fully protected!'); 
			return false; 
		} 
	}
	return true; 
}
function my_onkeydown_handler() {
	// F5
	if (event.keyCode == 116) {
		event.returnValue = false;
		event.keyCode = 0; //BRJ: required to disable stubborn 
		window.status = "Refresh page is disable here.";
   }
}

document.onmousedown=right; 
if (document.layers) {
	window.captureEvents(Event.MOUSEDOWN); 
}
window.onmousedown=right; 

if(window.addEventListener){ // Mozilla, Netscape, Firefox
	document.addEventListener('onkeydown', my_onkeydown_handler, false);
} else { // IE
	document.attachEvent("onkeydown", my_onkeydown_handler);
}


// ==================
// ====== AJAX ======
// ==================
function GetXmlHttpObject() { 
	var page_request = false;
	browser="IE";
	if (window.XMLHttpRequest) {// if Mozilla, Safari etc
		browser="other";
		page_request = new XMLHttpRequest();
		
	}else if (window.ActiveXObject){ // if IE	
		/***********************************************************************/

		try {			
			page_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e){
			try {
				page_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){}
		}
	}
	return page_request;
}
function ajaxinclude(url, d) {
	var page_request = GetXmlHttpObject();
	if (!page_request)
		return false;
	dest = d;
	page_request.open('GET', url, false);
	page_request.send(null);
	writecontent(page_request);
}
function writecontent(page_request){
	if (window.location.href.indexOf("http")==-1 || page_request.status==200){
		if (dest=="") {
			document.write(page_request.responseText);
			clearPreloadPage();
		} else {
			document.getElementById(dest).innerHTML = page_request.responseText;
			if (dest=="activityContent") {
				clearPreloadPage();
			}
		}
	}
}
function getCurrMsec(){
	var da = new Date();
	return da.getMilliseconds();
}
function chgInfoBox(url){
	var infoPage = GetXmlHttpObject();
	if (!infoPage)
		return false;
	infoPage.open('GET', url, false);
	infoPage.send(null);
	writeInfocontent(infoPage);
}
function writeInfocontent(c) {
	if (window.location.href.indexOf("http")==-1 || c.status==200){
		document.getElementById("rInfoBox").innerHTML=c.responseText; 
	}
}

// ===================
// ====== HOME ======
// ===================
function btnBoxCall(cmd, args) {	
	if (cmd == "getInfo") { 
		setBoxNBtn(args);
		setTopMsg(args);
	}
}
function setBoxNBtn(btnN) {
	var nBox=-1;
	window.scrollTo(0,0);
	
	if (btnN >= 0) {		
		switch (btnN) {
			case 1:
			case 2:
			case 5:
			case 12:
				mPage = mainPage[btnN]+'.php';
				break;
			default:
				mPage = mainPage[btnN]+'.html';
		}		

		var openPage = mPage +"?rand="+getCurrMsec();
		if (btnN==2) {
			openPage += '&cat_type=teacher';			
		}
	/*	if (btnN==10) {
			openPage += '&id='+memberEmail+'&dt='+lastLogin;			
		}*/
		
		if (screen.width >= 1024)
			openPage = openPage +"&screen=1024";
		http.open('get', openPage);
		http.onreadystatechange = handleMainBox;
		http.send(null);
		
		if (btnN>0) {
			//document.getElementById('pollBox_container').innerHTML = 'poll box~~~~';
			if(document.getElementById('scoreBox') != null){
				document.getElementById('scoreBox').innerHTML = '';
			}
		} /*else {
			alert("changeScoreBox?");
			changeScoreBox();
		}*/
		if(document.getElementById('rInfoBox') != null){
			document.getElementById('rInfoBox').innerHTML = '';
		}
				
		if ((btnN>=0) && (btnN<8)) {
			nBox = btnN;		//For main box
		} else if (btnN==14) {
			nBox = btnN;		//For member zone
		}
	}
}
function handleMainBox(){
	if (http.readyState==4 || http.readyState=="complete") { 		
		tvBoxClearAllTimeout();
		tvBoxClearAllInterval();
		
		var response = http.responseText;
		document.getElementById('mainBox').innerHTML = response;
		
		switch(mPage){
			case "newsBox_1024.html":
				document.getElementById("mainBox").style.visibility =  "visible"	
				if(browser=="IE"){
					//alert("1");
					document.getElementById("cal_time").innerHTML = 'CCfamily recommends our members to browse our website with "<a href="http://www.mozilla.com/">Mozilla Firefox</a>" or "<a href="http://www.google.com/chrome">Google Chrome</a>". Both browsers are free to download. For further questions, feel free to leave us a message <a href="http://www.myccfamily.com/2009/index.php?page=11">here</a>';
				}
				break;
				
			case "comic.php":
				refresh_comic_title(true);
				if (comicId != '') {
					comic_change_content(comicId);
				}
				changeFunFact();
				break;		

			case "game.html":				
				genGameList();
				changeFunFact();
				break;
				
			case "activity.html":	
			case "activity_1024.html":
				boxID = 1;
				getActivityTitle();
				changeFunFact();
				break;			

			case "contactUs.html":
			case "contactUs_1024.html":
				genSchoolList();
				changeFunFact();
				$("#contactUsForm").load("contactUsForm.html");
				break;
				
			case "register.html":
				if(action){
					document.getElementById("regMsg").innerHTML="Please check if you have entered a correct email. If you forget your password, please click \"forget password\" in the login box. Otherwise, please try again later!"
				}
				changeFunFact();
				break;
									
			/*case "profile_1024.html":							
				profileTimer = setInterval('setProfile()',2000);				
				break;	*/		
				
			case "profile_1024.html":							
				profileTimer = setInterval('setProfile()',2000);				
				break;	
				
			case "emailUs_1024.html":
				/*if  (browser == "IE") {	
					document.getElementById('babyDod').innerHTML = "<TEXTAREA NAME='emailUs_message' ROWS=7 COLS=35></TEXTAREA>"
				} else {
					document.getElementById('babyDod').innerHTML = "<TEXTAREA NAME='emailUs_message' ROWS=7 COLS=25></TEXTAREA>"
				}*/
				changeFunFact();
				break;
				
			case "learnMore.html":
					if(action){
						document.getElementById('fRoomMsg').innerHTML = "&nbsp;&nbsp;Thanks! <br>&nbsp;&nbsp;See you again soon.";
						action = false;
						setBox("login.html", "login")	
					}	
					
			case "giftShop.php":
			case "forgetPwd_1024.html":
				changeFunFact();
				break;
		}
	}
}
function setBox(page, whichBox){
	http.open('get', page);	
	if (whichBox == "login") {
		http.onreadystatechange = handleLoginBox;
	}
	http.send(null);
}
function handleLoginBox(){
	if(http.readyState == 4){
		var response = http.responseText;
		document.getElementById('loginBox').innerHTML = response;		
	}
}
function setBtnBox(val) {	
	document.btnBox.SetVariable("setBtn", val); 	
}
function setTopMsg(val) {	
}
function setAliceMsg(val) {
}
function setCCHomePage() {
	if (browser == "IE") {	
		document.body.style.behavior='url(#default#homepage)';
		document.body.setHomePage('http://www.myccfamily.com');
	} else {  
		alert("Sorry! This function will not work with non-IE browsers. To make CCfamily your homepage just drag the URL from your URL box to your HOME icon.");
	}
}

// ====================
// ====== COMIC ======
// ====================
function getComicTitle() {	
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	if (screen.width >=1024)
		var url="comicTitle_1024.html";
	else
		var url="comicTitle_1024.html";
	http.onreadystatechange=handleGetComicTitle;
	http.open("GET",url,true);
	http.send(null);
} 
function handleGetComicTitle() { 
	if (http.readyState==4 || http.readyState=="complete") { 
		var res = http.responseText;
		document.getElementById("comicLB").innerHTML=res;
		// Inside components.js
		setMaxPage(3);
		refresh_comic_title(true);		
	} 
} 

// ===================
// ====== GAME ======
// ===================
function genGameList() {	
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	var url="getGame_bb_1024.php?";
	if (screen.width >= 1024)
		url = url + "screen=1024";
	url+="&rand="+getCurrMsec()
	//url+="&category=others";
	if(miniGameId != "") {		
		url += "&gameID="+miniGameId;
	}
	//alert(url)
	http.onreadystatechange=handleGetGameList;
	http.open("GET",url,true);
	http.send(null);
}
function handleGetGameList() { 
	if (http.readyState==4 || http.readyState=="complete") { 
		if (http.responseText== "0") {
			document.getElementById("gameArea").innerHTML='<table width="630" border="0"><tr><td><span class="alertBox">Please login CCfamily or register to enjoy our games.</span><br /><a href="#"  onclick="javascript:document.getElementById(\'email\').focus()">Login</a> | <a href="javascript:setBoxNBtn(8);">Register</a></td><tr><tr><td><img src="images_1024/not_allow.gif" /></td></tr></table>'; 
			miniGameId = "";
			clearPreloadPage();
		} else {
			//alert(miniGameId)
			//alert(gameCategoryId)			
			if(miniGameId != "") {
				var res_array = http.responseText.split("#@@#");
			
				star.stop=1;
				star.rate=1;
				document.getElementById("gamePage").innerHTML = res_array[0];
				document.getElementById('gameLB').style.display = 'none';	
				miniGameId="";
				loadRate(0);
				ajaxinclude('Components/comment_box/box.php?type=game&typeid='+res_array[1]+'&quantity=5&submit=true', "game_comment_content");
			}else {	
				var dList = http.responseText.split("#@@#");
				preGenMiniGamePic(dList[0]);
				document.getElementById("gameArea").innerHTML=dList[1];				
				document.getElementById("game_cat_detail").innerHTML=dList[2];
				loadRate('');
			}
		}
	} 
} 

// ======================
// ====== ACTIVITY ======
// ======================
function getActivityTitle() {	
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	if (screen.width >=1024)
		var url="activity_title.html";
	else
		var url="activity_title.html";
	http.onreadystatechange = handleGetActivityTitle;
	http.open("GET",url,true);
	http.send(null);
}
function handleGetActivityTitle() { 
	if (http.readyState==4 || http.readyState=="complete") { 
		var res = http.responseText;
		document.getElementById("activityLB").innerHTML=res;
		// Inside components.js
		refresh_activity_title(true);
		setMaxPage(3);		
	} 
}
function genActivity() {	
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request")
		return
	} 
	var url="activity.html"	
	http.onreadystatechange=handleGetActivity
	http.open("GET",url,true)
	http.send(null)
} 

function handleGetActivity() { 
	if (http.readyState==4 || http.readyState=="complete") { 
		document.getElementById("mainBox").innerHTML=http.responseText; 
		activity_change_content(activityId);
	} 
}
function genActivityList() {	
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	if(screen.width >= 1024)
		var url="getActivity.php?screen=1024";
	else
		var url="getActivity.php";
	//alert(url)
	if(debug==1){
		url+="?debug=1";
	}
	http.onreadystatechange=handleGetActivityList;
	http.open("GET",url,true);
	http.send(null);
} 

function handleGetActivityList() { 
	if (http.readyState==4 || http.readyState=="complete") { 
		var res_array = http.responseText.split("|");
		if(res_array[0] == "0"){
			document.getElementById("activityMsgVar").innerHTML="Empty activity data!! ";
		}else{
			//alert("res_array: "+res_array);
			document.getElementById("activityLB").innerHTML=res_array[1];
			ajaxinclude(res_array[2], "activityContent");
			
			if(activityId != ""){
				changeActivity(activityId);
			}
		}
	} 
}

// =========================
// ====== CONTACT US ======
// =========================
function genSchoolList() {
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	url="getSchoolList_1024.php";
	http.onreadystatechange=handleGetSchoolList;
	http.open("GET",url,true);
	http.send(null);
}
function handleGetSchoolList() { 
	if (http.readyState==4 || http.readyState=="complete") { 
		document.getElementById("schoolList").innerHTML=http.responseText; 
	} 
}
var activeSchool="";
function showEduCenter(eduId) {
	if (activeSchool != "") {
		document.getElementById(activeSchool).style.display='none';
	}
	activeSchool = eduId;
	document.getElementById(eduId).style.display='block';
}

// ======================
// ====== ACCOUNT ======
// ======================
function updateInvalidEmail() {
	var http = GetXmlHttpObject();	
	if (!http) {
		alert("Browser doest not support HTTP Request");
		return;
	}

	// Create a function that will receive data sent from the server
	http.onreadystatechange = function(){
		if(http.readyState == 4){
			var display = document.getElementById('invalidEmail');
			var displayWarning = document.getElementById("warningInvalidEmail");
			
			var strArr = http.responseText.split("|")
			if (strArr[0] == '1'){
				display.innerHTML = strArr[1];
				invalidEmail == '0'
			}else{
				displayWarning.innerHTML = "Error! Please try again later.";
			}
		}
	}

	var correctEmail = document.getElementById('correctEmail').value;	
	if (correctEmail != "") {
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		// check valid email
		if (!filter.test(correctEmail)) {
			document.getElementById("warningInvalidEmail").innerHTML="<b>Please enter a valid email!</b>";
			return;
		} else {
			var url = "invalidEmail.php?memberEmail=" + memberEmail + "&correctEmail=" + correctEmail;	
			http.open("Get", url, true);	
			http.send(null);
		}			
	} else {
		document.getElementById("warningInvalidEmail").innerHTML="<b>Please enter a valid email!!</b>";
		return;
	}	
}

function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}

function setProfile() {
	//alert("document.profileAvatar:"+document.profileAvatar);
	if(document.profileAvatar != null){
		clearInterval(profileTimer);
	//	alert("setEmail:"+memberEmail);
		//document.getElementById("profileAvatar").SetVariable("setEmail", memberEmail)
		//var fm_obj = getFlashMovieObject("profileAvatar")
		//fm_obj.SetVariable("setEmail", memberEmail)
		
		var ccUser = memberName
		var fMsg = "";

		if(memberLogin){//(ccUser != "null")&&(ccUser != null)&&(ccUser != "")){
			if(action){
				action = false;
				fMsg = "Welcome back, "+ccUser+"!";
			}
			if(invalidEmail == '1'){
				fMsg += "<br><div id='invalidEmail'><b>Hello member, the email address in your CCfamily account is invalid. In order for us to contact you with new CCfamily promotion, benefits and newsletters, please give us a valid email address by inputing the correct E-mail below or calling us at 2521 3228. <br>Thank you very much! </b><br><br><FORM><div id='warningInvalidEmail'></div><span class='simpleText'>Correct E-mail: </span><INPUT TYPE='text' id='correctEmail' size=45 value=''><INPUT TYPE='button' value='Change your E-mail' onClick='updateInvalidEmail()' size=20></FORM>** You cannot receive any gifts if your email account is invalid!</div><br>";
			}
			if(announceTag == '1'){
				fMsg += "<br><div id='invalidEmail'><b>The awarded CCpoints have been added into your account. If you have any questions regarding the contest or CCpoints, just feel free to leave us a message on the contact us page. <br><br>Congratulations to all of you again.</b></div><br>";
			}
			document.getElementById('fRoomMsg').innerHTML = fMsg+"<br><br>";	
		}
		changeFunFact();
	}
					
}

// ====================
// ====== POWER ======
// ====================
var knowledge_index = 4;
var logic_index = 5;
var energy_index = 2;

function getPower(powerType) {
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
		
	var powerIndex = 0;	
	if (powerType == "knowledge") {
		powerIndex = knowledge_index;		
	} else if (powerType == "logic") {
		powerIndex = logic_index;		
	} else if (powerType == "energy") {
		powerIndex = energy_index;		
	} else {
		return;
	}

	var url = "getPower.php?powerType=" + powerType + "&powerIndex=" + powerIndex;
	http.onreadystatechange = handleGetPower;
	http.open("GET",url,true);
	http.send(null);
}
function handleGetPower() { 
	if (http.readyState==4 || http.readyState=="complete") { 
		var res_array = http.responseText.split("|");
		if (res_array[0] == "0") {
			alert("ERROR");
		} else {
			alert(res_array[1]);
		}
	} 
}
function addCount(d, t, n, inc, ccpt) {	
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
		
	var uEmail;
	var url="addCount.php?rand="+getCurrMsec()

	if(memberLogin){
		url+="&debug=1&ccpt="+ccpt;
		if(ccpt>0)
			http.onreadystatechange=handleAddCount;
	}
	
	if (inc>0) {
		url+="&id="+d+"&type="+t+"&cntName="+n+"&inc="+inc;
	}
	if ((ccpt>0)&&( uEmail != null)){
		url+="&ccpt="+ccpt+"&uEmail="+uEmail;
	}

	http.open("GET",url,false);
	http.send(null);
} 
function handleAddCount() {
	if (http.readyState==4 || http.readyState=="complete") 	{ 
		var arr = http.responseText.split("ccpts");
		setCCPoint(arr[1]);
	}
}
function setCCPoint(pt){
	if(pt>=0){
		currCpts=pt;
		document.getElementById("userCCPoints").innerHTML = "CCpoints: "+pt; 
	}
}
function setGameCCPoint(pt) {
	if(pt>=0){
		//alert(currCpts +" ..." + pt);
		currCpts=currCpts+parseInt(pt)
		
		document.getElementById("userCCPoints").innerHTML = "CCpoints: "+currCpts; 
	}
}

// ========================
// ====== SCORE BOX ======
// ========================
/*function changeScoreBox(){	
	http = GetXmlHttpObject();
	if (!http) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	var url="score.php?rand="+getCurrMsec();
	//alert(url)
	http.onreadystatechange = handleChangeScoreBox;
	http.open("GET",url,false);
	http.send(null);
}
function handleChangeScoreBox(c){
	if (http.readyState==4 || http.readyState=="complete") {
	alert("hi!");
			document.getElementById("score").innerHTML=http.responseText; 
	}
}*/

// ======================
// ====== FUN FACT ======
// ======================
function changeFunFact(){
	var msec = getCurrMsec();
	chgInfoBox("funFacts_QA.php?rand="+msec);	
	clearPreloadPage();
}

// ====================
// ====== OTHER ======
// ====================
function popLink(linky, wS, hS) {
	var w=wS;
	var h=hS;
	var t=(screen.height/2)-h/2;
	var l=(screen.width/2)-w/2;
	var myBars = "directories=no,location=no,menubar=no,status=no,titlebar=no,toolbar=no";
	var myOptions = "scrollbars=yes,width="+w+",height="+h+",resizable=no,top="+t+",left="+l;
	var myFeatures = myBars + "," + myOptions;
	var indexLink=linky;
	var dimen=("width="+w+",height="+h);
	window.open(indexLink,"",myFeatures);	
}
function popSurvey(url) {
	if (!newwindow.closed && newwindow.location) {
		newwindow.location.href = url;
	} else {
		newwindow=window.open(url,'','height=450,width=535,scrollbars=yes');
		if (!newwindow.opener) newwindow.opener = self;
	}
	if (window.focus) {newwindow.focus()}
	return;
}
function callVisitedSite() {
	http = GetXmlHttpObject();
	if (!http){
		alert ("Browser does not support HTTP Request");
		return;
	}			
	var url="updateStat.php?rand="+getCurrMsec();
	http.open("GET",url,false);
	http.send(null);
}
function setFamilyRoomContent(ccUser){
	var memBenifit = "<br><br>As our family member, you can:<br><br>";
	memBenifit += "<li>enjoy the games and comics we exclusively prepared for you </li>";
	memBenifit += "<li>join various activities and win prizes </li>";
	memBenifit += "<li>collect CCpoints in exchange for CCfamily products</li>";
	memBenifit += "<li>receive monthly CCfamily newsletter !</li>";

	if(ccUser == ""){
		if(action){
			document.getElementById('fRoomMsg').innerHTML = "Thanks! <br>See you again soon.";
			action = false;
		}
		fMsg_sub = memBenifit;		
	}else{
		var fMsg, fMsg_sub;
		if(!action){
			fMsg = "You will gain CCpoints every time you:";
			fMsg_sub = "<li>log-into CCfamily </li>";
			fMsg_sub += "<li>recommend CCfamily website, games or comics to your friends </li>";
			fMsg_sub += "<li>play our mini-games </li>";
		}else{
			action = false;
			fMsg = "Welcome back, "+ccUser+"!";
			fMsg_sub = memBenifit;
		}
		document.getElementById('fRoomMsg').innerHTML = fMsg;	
	}
	document.getElementById('fRoomMsg_sub').innerHTML = "<br>"+fMsg_sub;	
	changeFunFact();
}
function chooseResolution() {
	if ((screen.width>=1024) && (screen.height>=768)) {
		window.location="index_1024.php?screen=1024";
	} else {
		window.location="index.php";
	}
}

// ======================
// ====== PRE-LOAD ======
// ======================
function clearPrePage() { //DOM
	if (document.getElementById){
		document.getElementById('prepage').style.visibility='hidden';
		document.getElementById('content').style.visibility='visible';
	}else{
		if (document.layers){ //NS4
			document.prepage.visibility = 'hidden';
			document.content.visibility = 'visible';
		}
		else { //IE4
			document.all.prepage.style.visibility = 'hidden';
			document.all.content.style.visibility = 'visible';
		}
	}
}
function clearPreloadPage() { 
}
function setPreloadPage(){
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadimages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadimages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; 
	}
}

// ==========================
// ====== RADIO INPUT ======
// ==========================
function getCheckedRadioValue(elementName) {	
	var radio = document.getElementsByName(elementName);	
	for (i=0; i<radio.length; i++) {
		if (radio[i].checked==true) {		
			return radio[i].value;
		}
	}
}
function setAllRadioUnchecked(elementName) {
	var radio = document.getElementsByName(elementName);	
	for (i=0; i<radio.length; i++) {
		radio[i].checked = false;			
	}
}

// =====================================
// ====== BROWSER DETECTION ======
// =====================================
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.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			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"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// 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.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

