var loaded = false;
var move_now = false;
var saved_url = false;
var blake;

function redirect(url,time)
{
	if( url )
	{
		saved_url = url;
	}

	if( move_now ) 
	{
		self.location.href=saved_url;
	} else {
		move_now=true;
		timer = setTimeout('redirect()',time);
	}
}

function makeRequest(url,update) {
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	url = url.replace(/\n/g,"---");
	if(update) {
		http_request.onreadystatechange = function() { alertContents(http_request,update,''); };
	}
	http_request.open('GET', url, true);
	http_request.send(null);
}

function makeRequestRedirect(url,update,redirect_url) {
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}

	if(update) {
		http_request.onreadystatechange = function() { alertContents(http_request,update,redirect_url); };
	}
	http_request.open('GET', url, true);
	http_request.send(null);
}

function alertContents(http_request,update,redirect_url) {
	if (http_request.readyState==4) {
		//var done = 1;
		//showorhide('loading_box','hide');
		//alert('element '+element);
		//alert(http_request.responseText);
		var response=http_request.responseText;
		if(update=='SuccessFailure') {
			var pos = response.search(/ERROR: /)
			if( pos !=-1 ) {
				alert('ERROR 1');
				return;
			} else {
				window.location.href=redirect_url;
			}
		} else {
			document.getElementById(update).innerHTML = response;
		}
	}
}

function newWindow(url, height, width, new_window)
{
	if(!newWindow){ var newWindow = 'feature'; }
	xTop = screen.width/2 - (width/2);
	yTop = screen.height/2 - (height/2);
	new_window = window.open(url, new_window, 'height='+height+',width='+width+',scrollbars=1,resizable=1,menubar=0,toolbar=0,status=0,location=0,directories=0,left=' + xTop + ',top=' + yTop + '');
}

function setActiveTab(tabID)
{
	var currTabElem = document.getElementById(tabID);
	currTabElem.setAttribute("class", "selected");
	currTabElem.setAttribute("className", "selected"); 
}

function TabNext(obj,event,len,next_field,requiredType)
{
	if (requiredType == "int") {
		if( !isNumeric(obj.value) ) {
			alert(obj.value+' is not valid');
			return 0;
		}
	}
	if (event == "down") {
		phone_field_length=obj.value.length;
	} else if (event == "up") {
		if (obj.value.length != phone_field_length) {
			phone_field_length=obj.value.length;
			if (phone_field_length == len) {
				next_field.focus();
			}
		}
	}
}


function isNumeric(text)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
        var Char;
	
	for (i = 0; i < text.length && IsNumber == true; i++) { 
		Char = text.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}

function format_number(pnumber,decimals){
	if (isNaN(pnumber)) { return 0};
	if (pnumber=='') { return 0};
	var snum = new String(pnumber);
	var sec = snum.split('.');
	var whole = parseFloat(sec[0]);
	var result = '';
	if(sec.length > 1){
		var dec = new String(sec[1]);
		dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals)));
		dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals));
		var dot = dec.indexOf('.');
		if(dot == -1){
			dec += '.';
			dot = dec.indexOf('.');
		}
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	} else{
		var dot;
		var dec = new String(whole);
		dec += '.';
		dot = dec.indexOf('.');       
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	}   

	result += '';
	x = result.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}


