var savedData;

// String.prototype.trim = function() {
// 	return this.replace(/^\s+|\s+$/g,"");
// }

function Left(str, n)
{
	if (n <= 0)
		return "";

	if (n > String(str).length)
		return str;

	return String(str).substring(0, n);
}

function Right(str, n)
{
    if (n <= 0)
		return "";

	if (n > String(str).length)
		return str;

	var iLen = String(str).length;
	return String(str).substring(iLen, iLen - n);
}

function ToggleImage(e, img1, img2)
{
	var img = new Image;
	var len = String(img1).length;

	if( Right(e.src, len) == img1 )
		img.src = img2;
	else
		img.src = img1;

	e.src = img.src;
}

function explode(needle, haystack){
	return haystack.split(needle);
}

function implode(glue, pieces){
	return pieces.join(glue);
}

function trim(str){
	str.replace(/^\s+|\s+$/g,"");
	return str;
}

function clearField(elementId, resetValue){
	if( resetValue == elementId.value ){
		elementId.value = "";
	}
}

function redrawField(elementId, resetValue){
	if( trim(elementId.value) == "" ){
		elementId.value = resetValue;
	}
}

/*function saveFieldContents(elementId){
	savedData = elementId.value;
}*/

function track_movement(evt){
	var tagDiv = document.getElementById("tag");
	
	var xoffset=15;
	var yoffset=15;
	var xcoord=xoffset;
	var ycoord=yoffset;

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)

	if (typeof evt != "undefined"){
		if (docwidth - evt.pageX < 347 + xoffset + 10){
			xcoord = evt.pageX - xcoord - 347 - xoffset + 5; // Move to the left side of the cursor
		} else {
			xcoord += evt.pageX;
		}
		if (docheight - evt.pageY < (245 + yoffset + 30)){
			ycoord += evt.pageY - Math.max(0,(245 + yoffset + 30 + evt.pageY - docheight - truebody().scrollTop));
		} else {
			ycoord += evt.pageY;
		}
		//ycoord += e.pageY;

	} else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < 347 + xoffset + 10){
			xcoord = event.clientX + truebody().scrollLeft - xcoord - 347 - xoffset + 5; // Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (245 + yoffset + 30)){
			ycoord += event.clientY + truebody().scrollTop - Math.max(0,(245 + yoffset + 30 + event.clientY - docheight));
		} else {
			ycoord += truebody().scrollTop + event.clientY;
		}
		//ycoord += truebody().scrollTop + event.clientY;
	}
	tagDiv.style.left = xcoord + 15 + "px";
	tagDiv.style.top = ycoord - 13 + "px";
	/*
	if(window.evt){
		tagDiv.style.left = evt.x + 15 + "px";
		tagDiv.style.top = evt.y - 13 + "px";
	}
	
	if(evt.pageX || evt.pageY){
		tagDiv.style.left = evt.pageX + 15 + "px";
		tagDiv.style.top = evt.pageY - 13 + "px";
	}else if(evt.clientX || evt.clientY){
		tagDiv.style.left = evt.clientX + document.body.scrollLeft + document.documentElement.scrollLeft + 15 + "px";
		tagDiv.style.top = evt.clientY + document.body.scrollTop + document.documentElement.scrollTop - 13 + "px";
	}
	*/
	//tagDiv.style.left = evt.pageX + 15 + "px";
	//tagDiv.style.top = evt.pageY - 13 + "px";
}

function calculateCost(elementId, costId, costPer){
	var quantity = elementId.value;
	var costElement = document.getElementById(costId);
	costElement.innerHTML = "$ " + Math.floor(quantity * costPer) + ".00";
}


function showTip(name, belt_colour){
	var tagDiv = document.getElementById('tag');
	tagDiv.innerHTML  = '<img class="fl" src="images/label_front.png" alt="" />';
	tagDiv.innerHTML += '<div class="fl">' + name + '</div>';
	tagDiv.innerHTML += '<img class="fl" src="images/label_colour_' + belt_colour + '.gif" alt="" />';
	tagDiv.innerHTML += '<div class="clr" style="visibility:hidden;"></div>';
	tagDiv.style.display = "block";
	document.onmousemove = track_movement;
}

function hideTip(){
	var tagDiv = document.getElementById('tag');
	tagDiv.style.display = "none";
	document.onmousemove = "";
}

function detectIE(){
	//var browser = navigator.appName
	var browser = navigator.userAgent
	//var b_version=navigator.appVersion
	//var version=parseFloat(b_version)
	if(browser == "MSIE"){
		return true;
	}else{
		return false;
	}
}

function printView(id,file){
	//file = handbook_cover.php?id=id;
	window.open(file+'?id='+id,'HandbookCover','status=1, width=700, height=725, resizable=0, scrollbars=1');
}

function viewWaiver(id){
	//file = handbook_cover.php?id=id;
	window.open('event_waiver.php?event_id='+id,'_blank','status=1, width=440, height=500, resizable=0, scrollbars=1');
}

function viewPage(page){
	var childWindow = window.open(page,'_blank','status=1, width=440, height=500, resizable=0, scrollbars=1');
	childWindow.opener = self;
}

function viewReceipt(page){
	var childWindow = window.open(page,'_blank','status=1, width=730, height=500, resizable=0, scrollbars=1');
	childWindow.opener = self;
}

function printThis(){
	window.print();  
}

var savedData;
		
function clearField(elementId){
	saveFieldContents(elementId);
	elementId.value = "";
}

function redrawField(elementId){
	elementId.value = savedData;
}

function saveFieldContents(elementId){
	savedData = elementId.value;
}

function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

function mailto(acct, domain, tld){
	document.write('<a href="mailto:'+acct+'@'+domain+'.'+tld+'">'+acct+'@'+domain+'.'+tld+'</a>');
}

function trim(s){
	return s.replace(/(^\s+)|(\s+$)/g, "");
}

function DisableForm(id)
{
	var inputs = jQuery('#' + id + ' input.ioform');
	
	inputs.each(function(){
		if( !this.disabled )
		{
			this.disabled = true;
			this.style.display = 'none';
			
			this.value = this.defaultValue;
			
			var div = document.createElement('div');
			div.setAttribute('class', 'ioform_textual');
			jQuery(div).html('<strong>' + this.value + '</strong>');
			this.parentNode.insertBefore(div, this);
		}
	});
	
	var selects = jQuery('#' + id + ' select.ioform');
	
	selects.each(function(){
		if( !this.disabled )
		{
			var values = new Array();
			
			this.disabled = true;
			this.style.display = 'none';
			
			var options = this.getElementsByTagName('option');
			
			for( var i=0; i < options.length; i++ )
			{
				var option = options[i];
				
				if( option.selected = option.defaultSelected )
				{
					values.push(option.text);
				}
			}
			
			var value = implode(', ', values);
			
			var div = document.createElement('div');
			div.setAttribute('class', 'ioform_textual');
			jQuery(div).html('<strong>' + value + '</strong>');
			this.parentNode.insertBefore(div, this);			
		}		
	});
}

function EnableForm(id)
{
	var inputs = jQuery('#' + id + ' input.ioform');
	
	inputs.each(function(){
		if( this.disabled )
		{
			this.disabled = false;
			this.style.display = '';
		}
	});

	var selects = jQuery('#' + id + ' select.ioform');
	
	selects.each(function(){
		if( this.disabled )
		{
			this.disabled = false;
			this.style.display = '';
		}
	});
	
	var divs = jQuery('#' + id + ' div.ioform_textual');
	
	divs.each(function(){
		this.parentNode.removeChild(this);
	})	
}

function OnReady()
{							
	$("a.accordion").click(function()
		{
			var title = $(this).attr("title");
			var s = title.split("->");
			var group = s[0]; // class
			var id = s[1];
			
			var target = $("#"+id);
			var isClosed = target.is(":hidden");
			
			$("."+group).slideUp();
			
			if( isClosed )
			{
				target.slideDown();
			}								
		}
	);
}

jQuery(document).ready(OnReady);

