// invent the future javascript
// 

var thm_page = 1;
var thm_pages = 1;

var wrt_page = 1;
var wrt_pages = 1;

function sh( id, method ) {
	if ( document.getElementById( id ) ) {
		document.getElementById( id ).style.display = method;
	}
}

function hd( id ) {
	if ( document.getElementById( id ) ) {
		document.getElementById( id ).style.display = "none";
	}
}

function tg( id ) {
	if ( document.getElementById( id ) ) {
		if ( document.getElementById( id ).style.display == "block" ) {
			document.getElementById( id ).style.display = "none";
		}
		else {
			document.getElementById( id ).style.display = "block";
		}
	}
}

function tt( e, obj ) {
	var div = document.getElementById(obj);
	div.style.position = 'absolute';
	div.style.left = parseInt(e.clientX);
	div.style.top = parseInt(e.clientY);
	div.style.display = 'block';
}

function star( num ) {
	for ( var i = 1; i <= 5; i++ ) {
		if ( num >= i ) {
			document.getElementById("star" + i).src = "images/star_on.gif";
		}
		else {
			document.getElementById("star" + i).src = "images/star_off.gif";
		}
	}
}

function thm_next() {
	hd("thm-page" + thm_page);
	sh("thm-page" + ++thm_page, "block");
	sh("thm-prev-btn", "inline");
	if ( thm_page == thm_pages ) {
		hd("thm-next-btn");
	}
	document.getElementById("thm-page-num").innerHTML = thm_page;
}

function thm_prev() {
	hd("thm-page" + thm_page);
	sh("thm-page" + --thm_page, "block");
	sh("thm-next-btn", "inline");
	if ( thm_page == 1 ) {
		hd("thm-prev-btn");
	}
	document.getElementById("thm-page-num").innerHTML = thm_page;
}

function wrt_next() {
	hd("wrt-page" + wrt_page);
	sh("wrt-page" + ++wrt_page, "block");
	sh("wrt-prev-btn", "inline");
	if ( wrt_page == wrt_pages ) {
		hd("wrt-next-btn");
	}
	document.getElementById("wrt-page-num").innerHTML = wrt_page;
}

function wrt_prev() {
	hd("wrt-page" + wrt_page);
	sh("wrt-page" + --wrt_page, "block");
	sh("wrt-next-btn", "inline");
	if ( wrt_page == 1 ) {
		hd("wrt-prev-btn");
	}
	document.getElementById("wrt-page-num").innerHTML = wrt_page;
}

function isEmail( string ) {
	if ( string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1 ) {
		return true;
	} else {
		return false;
	}
}

function agecheck() {
	var min_age = 19;

	var year = parseInt(document.forms["form"]["dob_year"].value);
	var month = parseInt(document.forms["form"]["dob_month"].value) - 1;
	var day = parseInt(document.forms["form"]["dob_day"].value);

	var theirDate = new Date((year + min_age), month, day);
	var today = new Date;

	if ( (today.getTime() - theirDate.getTime()) < 0) {
		sh("parent-approve", "block");
	}
	else {
		hd("parent-approve");
	}
}

function rate( src, id, val ) {
	Ajax2Function("GET","ajax.php","cmd=rate&src="+src+"&id="+id+"&val="+val,"rateCallback",1); 
}

function rateCallback()
{
	 if (request[1].readyState == 4)
	 {
		document.getElementById("submitVote").innerHTML = "<h2>Thank You</h2>";
		document.getElementById("voteTotal").style.display = "none";
		document.getElementById("voteTotalSubmit").style.display = "inline";
		document.getElementById("voteTotal2").style.display = "none";
		document.getElementById("voteTotalSubmit2").style.display = "inline";
		requestReset(1);
	}
}

function send( src, id, from_name, to_name, to_email ) {
	if ( !from_name )
		alert("Please enter your name");
	else if ( !to_name )
		alert("Please enter your friend's name");
	else if ( !isEmail( to_email ) )
		alert("Please enter a valid email address for your friend");
	else
		Ajax2Function("GET","ajax.php","cmd=send&src="+src+"&id="+id+"&from_name="+from_name+"&to_name="+to_name+"&to_email="+to_email,"sendCallback",1); 
}

function sendCallback()
{
	 if (request[1].readyState == 4)
	 {
		document.getElementById("send").innerHTML = "<h2>Thank You</h2>";
		requestReset(1);
	}
}

//***************************************
// Simple Ajax Code, does get or post on passed Query String

var request = new Array(3) 

 if (window.XMLHttpRequest)
     {
        request[0] = new window.XMLHttpRequest();
        request[1] = new window.XMLHttpRequest();
        request[2] = new window.XMLHttpRequest();
        request[3] = new window.XMLHttpRequest();

    } else if (window.ActiveXObject) 
    {
        request[0] = new ActiveXObject("Microsoft.XMLHTTP");
        request[1] = new ActiveXObject("Microsoft.XMLHTTP");
        request[2] = new ActiveXObject("Microsoft.XMLHTTP");
        request[3] = new ActiveXObject("Microsoft.XMLHTTP");
    } 

function Ajax2Function(serverFunction, url, formStr, callBackFunction,requestId) 
{ 
		request[requestId].onreadystatechange = eval(callBackFunction);

				if(serverFunction=="POST")
				{
					request[requestId].open("POST", url, true);
					request[requestId].setRequestHeader('Content-Type','application/x-www-form-urlencoded');
					request[requestId].setRequestHeader("Content-length", formStr.length);
					request[requestId].setRequestHeader("Connection", "close");
					request[requestId].send(formStr);
				}else{       
					request[requestId].open("GET", url+"?"+formStr, true);
					request[requestId].send(null);
    			}
}

//*** Creates a new XMLHttpRequest and assigns to the correct id 
function requestReset(id)
{
if (window.XMLHttpRequest)
     {
        request[id] = new window.XMLHttpRequest();

    } else if (window.ActiveXObject) 
    {
        request[id] = new ActiveXObject("Microsoft.XMLHTTP");
    } 
}

// *** Strips out javascript from between tags and executes it
function processInlineJavascript(response)
{
    var re = /<script.*?>([\s\S]*?)<\//igm;
     while (match = re.exec(response)) { 
       eval(match[1]); 
     }
}


