/*
	JavaScript Document for FindMyFold.com
	Author: Anthony Hessler (HesslerDesign.com)
*/

// Query String Variables for Test
var splitURL_arr = String(document.location).split("?");
var urlNameValue_arr;
var urlVarName_str;
var urlVarValue_str;
var initFold_num = 0;
var userFold_num = 0;

// AJAX XmlHttpObject Variable
var xmlhttp;

// Add Resize listener to update fold number and placement
window.onresize = function() {
	getMyFold();
}

// Initialization Function - Called on body load
function initFold() {
	userFold_num = getWindowHeight();
	getMyFold();
	getUserWindowSizes();
}



// Get/Set Functions
function getMyFold() {
	var yValue_num = 0;
	var myFold_num = getWindowHeight();
	var foldText = getOutputHeightTextField();
	// Update Fold Text with Real-Time Window Height
	foldText.innerHTML = '<h1><img src="http://www.findmyfold.com/images/arrow_sw.gif" alt="" /> &nbsp;Your Fold: ' + myFold_num + 'px &nbsp;<img src="http://www.findmyfold.com/images/arrow_se.gif" alt="" /></h1>';
}
function getWindowHeight() {
	var lHeight;
	if (typeof(window.innerHeight) == 'number') {
		lHeight = window.innerHeight;
	} else if ( (document.documentElement) && (document.documentElement.clientHeight) ) {
		lHeight = document.documentElement.clientHeight;
	} else if ( (document.body) && (document.body.clientHeight) ) {
		lHeight = document.body.clientHeight;
	}
	return lHeight;
}
function getWindowWidth() {
	var lWidth;
	if (typeof(window.innerWidth) == 'number') {
		lWidth = window.innerWidth;
	} else if ( (document.documentElement) && (document.documentElement.clientWidth) ) {
		lWidth = document.documentElement.clientWidth;
	} else if ( (document.body) && (document.body.clientWidth) ) {
		lWidth = document.body.clientWidth;
	}
	return lWidth;
}
function getFoldInfoBox() {
	var dash = document.getElementById('dash');
	if (!dash) {
		dash = window.getElementById('dash');
	}
	return dash;
}
function getOutputHeightTextField() {
	var lField = document.getElementById('outputHeight');
	if (!lField) {
		lField = window.getElementById('outputHeight');  
	}
	return lField;
}



// Tracking Functions
function getUserWindowSizes() {
	var lWidth = getWindowWidth();
	var lHeight = getWindowHeight();
	
	xmlhttp = getXmlHttpObject();
	
	var url = "php/track_metrics.php";
	url = url+"?w="+lWidth;
	url = url+"&h="+lHeight;
	url = url+"&sid="+Math.random();
	xmlhttp.onreadystatechange = sendUserWindowSizes;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);	
}
function sendUserWindowSizes() {
	if (xmlhttp.readyState==4) {
		// Display DB Stats after Initial Metrics are Sent
		getUserStats();
	}
}
function getXmlHttpObject() {
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if (window.ActiveXObject) {
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}	
	return null;
}



// Stat Gathering Funtions
function getUserStats() {
	xmlhttp = getXmlHttpObject();
	
	var url = "php/get_metrics.php";
	//url = url+"?w="+lWidth;
	url = url+"?h="+userFold_num;
	//url = url+"&sid="+Math.random();
	xmlhttp.onreadystatechange = showUserStats;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);	
}
function showUserStats() {
	if (xmlhttp.readyState==4) {
		document.getElementById('stats-box').innerHTML = xmlhttp.responseText;
	}
}



// Testing Functions
function checkURL() {
	var validURL;
	var numberOfDots = splitURL_arr[1].indexOf(".");
	if ((splitURL_arr[1]) && (numberOfDots > 0)){
		// If there is valid data after query (?)
		urlNameValue_arr = splitURL_arr[1].split("=");
		urlVarName_str = urlNameValue_arr[0];
		urlVarValue_str = urlNameValue_arr[1];
		setIFrame(urlVarValue_str);
	} else {
		setIFrame("www.google.com/");
	}
	getMyFold();
}
function setIFrame(pURL_str) {
	var frame = document.getElementById('mySite');
	if (!frame) {
		frame = window.getElementById('mySite');
	}
	frame.src = "http://" + pURL_str;
}

function showMoreThoughts(pWhatWay_bol) {
	var lDiv = document.getElementById('more_thoughts');
	if (!lDiv) {
		lDiv = window.getElementById('more_thoughts');
	}
	if (pWhatWay_bol == true) {
		lDiv.style.display = 'block';
		lDiv.style.position = 'absolute';
		lDiv.style.left = '0px';
		lDiv.style.top = userFold_num + 'px';
	} else if (pWhatWay_bol == false) {
		lDiv.style.display = 'none';
	}
}
