/**
* Yahoo Stock Quote module
* This module allows you to add the Stock Quote from Yahoo Finance in a module position.
* Author: kksou
* Copyright (C) 2006-2008. kksou.com. All Rights Reserved
* Website: http://www.kksou.com/php-gtk2
* v1.5 September 1, 2008
*/

var status1 = 0;
window.onload = joomla_newsletter_prepareForm;

function joomla_newsletter_set_watermark(q, str) {
	if (q) {
		var b = function(){
			if (q.value == '') {
				q.value = str;
				q.style.color = "#AAAAAA";
				q.style.background = "#FFFFFF";
			}
		};
		var f = function() {
			if (q.value==str) {
				q.value='';
				q.style.color = "#000000";
				q.style.background = "#FFFFFF";
			}
		};
		q.onfocus = f;
		q.onblur = b;
	b();
	}
}

function joomla_newsletter_prepareForm() {
	if(!document.getElementById) {
		return;
	}
	if(!document.getElementById("joomla_newsletter_form")) {
		return;
	}

	var name = document.getElementById("name");
	var email = document.getElementById("email");
	joomla_newsletter_set_watermark(name, 'Your name');
	joomla_newsletter_set_watermark(email, 'Your email');

	document.getElementById("joomla_newsletter_form").onsubmit = function() {
		var data = "";
		for (var i=0; i<this.elements.length; i++) {
			data+= this.elements[i].name;
			data+= "=";
			data+= escape(this.elements[i].value);
			data+= "&";
		}
		//data+= "process=1";
		return !joomla_newsletter_sendData(data);
	};
}

function joomla_newsletter_grabfile(file) {
	var request = newsletter_getHTTPObject();
	if (request) {
		request.onreadystatechange = function() {
			joomla_newsletter_parseResponse_details(request);
		};
		request.open( "GET", file, true );
		request.send(null);
	}
}

function joomla_newsletter_grabfile2() {
	var request = newsletter_getHTTPObject();
	if (request) {
		request.onreadystatechange = function() {
			joomla_newsletter_parseResponse_details(request);
		};
		request.open( "GET", joomla_newsletter_lib_html, true );
		request.send(null);
	}
}

function joomla_newsletter_sendData(data) {
	var request = newsletter_getHTTPObject();
	if (request) {
		joomla_newsletter_displayLoading(document.getElementById("joomla_newsletter_loading"));
		request.onreadystatechange = function() {
			joomla_newsletter_parseResponse(request);
		};
		url = joomla_newsletter_lib_url+"?"+data;
		request.open( "GET", url, true );
		//request.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
		request.send(null);
		return true;
	} else {
		return false;
	}
}

function joomla_newsletter_parseResponse(request) {
	if (request.readyState == 4) {
		if (request.status == 200 || request.status == 304) {
			var container = document.getElementById("joomla_newsletter_container");
			container.innerHTML = request.responseText;
			joomla_newsletter_fadeUpErrors(container);
			joomla_newsletter_prepareForm();
		}
	}
}

function joomla_newsletter_parseResponse_details(request) {
	if (request.readyState == 4) {
		if (request.status == 200 || request.status == 304) {
			var container = document.getElementById("details");
			if (status1 == 0) {
				container.innerHTML = request.responseText;
				status1 = 1;
			} else {
				container.innerHTML = '';
				status1 = 0;
			}
			//yahoostock_fadeUpErrors(container);
			//yahoostock_prepareForm();
		}
	}
}

function newsletter_getHTTPObject() {
	var xhr = false;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xhr = false;
			}
		}
	}
	return xhr;
}

function joomla_newsletter_displayLoading(element) {
	element.innerHTML = '<img src="'+joomla_newsletter_progress_gif+'" alt="Loading..." />';
}

function yahoostock_displayLoading_v2(element) {
	var t1 = document.createElement("span");
	var text = document.createTextNode("Loading...");
	t1.appendChild(text);
	element.appendChild(t1);
}

function yahoostock_displayLoading_org(element) {
	var image = document.createElement("img");
	image.setAttribute("src", yahoostock_progress_gif);
	image.setAttribute("alt","Loading...");
	image.setAttribute("align","middle");
	element.appendChild(image);
}

function joomla_newsletter_fadeUp(element,red,green,blue) {
	if (element.fade) {
		clearTimeout(element.fade);
	}
	element.style.backgroundColor = "rgb("+red+","+green+","+blue+")";
	if (red == 255 && green == 255 && blue == 255) {
		return;
	}
	var newred = red + Math.ceil((255 - red)/10);
	var newgreen = green + Math.ceil((255 - green)/10);
	var newblue = blue + Math.ceil((255 - blue)/10);
	var repeat = function() {
		joomla_newsletter_fadeUp(element,newred,newgreen,newblue)
	};
	element.fade = setTimeout(repeat,100);
}

function joomla_newsletter_fadeUpErrors(element) {
	var messages = element.getElementsByTagName("strong");
	for (var i=0; i<messages.length; i++) {
		if (messages[i].className == "error") {
			joomla_newsletter_fadeUp(messages[i],255,153,153);
		}
	}
}
