document.addEventListener("DOMContentLoaded", docReady, false);

function docReady()
{
    var qs = new Querystring();
    if(qs.contains("ipad") || qs.contains("iphone")){
	if(qs.contains("ipad"))
	    chooseiPad();
	else if(qs.contains("iphone"))
	    chooseiPhone();
    } else {
	var iPad = navigator.userAgent.indexOf('iPad') != -1;
	if(iPad)
	    chooseiPad();
	else
	    chooseiPhone();
    }
}

function changeLinks(iPad)
{
    var links = document.getElementsByTagName("a");
	
    for (var i = 0; i < links.length; i++ ){
        var origLink = links[i].href;
	var linker = origLink;
	if(linker.indexOf(".html") != -1){
	    var index = linker.indexOf("?");
	    if(index != -1){
		linker = linker.substring(0, index);
	    }

	    var newLink;

	    if(iPad)
		newLink = linker.concat("?ipad");
	    else
		newLink = linker.concat("?iphone");

	    var bookmark = origLink.indexOf("#");
	    if(bookmark != -1){
		newLink = newLink.concat(origLink.substring(bookmark, origLink.length));
	    }
		
	    links[i].href = newLink;
	}
    }
}

function chooseiPhone()
{
    var iphonetoggle = document.getElementById("type_iphone_toggle");
    var ipadtoggle = document.getElementById("type_ipad_toggle");
    if(iphonetoggle)
	iphonetoggle.src = "images/Mode_iPhone_Left.png";
    if(ipadtoggle)
	ipadtoggle.src = "images/Mode_iPhone_Right.png";

	var iphoneElements = document.getElementsByClassName('iphone');
	var ipadElements = document.getElementsByClassName('ipad');
	for(var i = 0 ; i < iphoneElements.length; i++){
		iphoneElements[i].style.display="";
	}

	for(var i = 0 ; i < ipadElements.length; i++){
		ipadElements[i].style.display="none";
	}

    changeLinks(false);
}

function chooseiPad()
{

    var iphonetoggle = document.getElementById("type_iphone_toggle");
    var ipadtoggle = document.getElementById("type_ipad_toggle");
    if(iphonetoggle)
	iphonetoggle.src = "images/Mode_iPad_Left.png";
    if(ipadtoggle)
	ipadtoggle.src = "images/Mode_iPad_Right.png";

	var iphoneElements = document.getElementsByClassName('iphone');
	var ipadElements = document.getElementsByClassName('ipad');
	for(var i = 0 ; i < iphoneElements.length; i++){
		iphoneElements[i].style.display="none";
	}

	for(var i = 0 ; i < ipadElements.length; i++){
		ipadElements[i].style.display="";
	}

    changeLinks(true);
}

function Querystring(qs) { // optionally pass a querystring to parse
	this.params = {};
	
	if (qs == null) qs = location.search.substring(1, location.search.length);
	if (qs.length == 0) return;

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ');
	var args = qs.split('&'); // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i = 0; i < args.length; i++) {
		var pair = args[i].split('=');
		var name = decodeURIComponent(pair[0]);
		
		var value = (pair.length==2)
			? decodeURIComponent(pair[1])
			: name;
		
		this.params[name] = value;
	}
}

Querystring.prototype.get = function(key, default_) {
	var value = this.params[key];
	return (value != null) ? value : default_;
}

Querystring.prototype.contains = function(key) {
	var value = this.params[key];
	return (value != null);
}

