/*
Registration Functions
*/
function registerMember() {
	var showResponse = function (originalRequest) { 
		$('memberRegistration').innerHTML = originalRequest.responseText; 
		selectRegion();
		Event.observe('registerMember', 'click', registerMember, false);
	};
	var showProgress = function () { $('memberRegistration').innerHTML = '&nbsp;Member registration in progress...'; }
	inputs = Form.getElements( 'regMember' );
	var err = 0;
	var j = 0;
	for(var i = 1; i < inputs.length; i++){
		if((Element.hasClassName(inputs[i],'required'))&&(trim(inputs[i].value) == '')){
			err++;
			Element.addClassName(inputs[i].parentNode,'formError');
		}else{
			Element.removeClassName(inputs[i].parentNode,'formError');
		}
		j++;
	}
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
//	alert($F('email'));
	if(filter.test($F('email'))){ Element.removeClassName($('email').parentNode,'formError')}
	else{alert('The email address you entered is invalid. \n\n Please enter a valid email address.'); err++; Element.addClassName($('email').parentNode,'formError')}		
	
	if(($('m').checked == false)&&($('f').checked == false)){	Element.addClassName($('genderBox'),'formError'); err++; }
	else{ Element.removeClassName($('genderBox'),'formError'); }
	if(($('unameErr').value == '1')||(trim($('uname').value) == '')){ Element.addClassName($('uname').parentNode,'formError'); err++; }
	else Element.removeClassName($('uname').parentNode,'formError');
	if(($('emailErr').value == '1')||(trim($('email').value) == '')){ Element.addClassName($('email').parentNode,'formError'); err++;}
	else Element.removeClassName($('email').parentNode,'formError');
	if (err != 0){
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
	}else{
		if($('agree').checked == false){ alert('Please select the checkbox if you agree with the terms and conditions \n\n of the member registration.');}
		else{
			parameter = Form.serialize( 'regMember' );		
			var url = publicdomainobj + "beamember/register.xml.php";
			var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
		}
	}
}

function updateMember() {
	var showResponse = function (originalRequest) { 
		$('memberRegistration').innerHTML = originalRequest.responseText; 
		Event.observe('updateMember', 'click', registerMember, false);
	};
	var showProgress = function () { $('memberRegistration').innerHTML = '&nbsp;Member profile update in progress...'; }
	inputs = Form.getElements( 'updateProfile' );
	var err = 0;
	var j = 0;
	for(var i = 1; i < inputs.length; i++){
		if((Element.hasClassName(inputs[i],'required'))&&(trim(inputs[i].value) == '')){
			err++;
			Element.addClassName(inputs[i].parentNode,'formError');
		}else{
			Element.removeClassName(inputs[i].parentNode,'formError');
		}
		j++;
	}
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
//	alert($F('email'));
	if(filter.test($F('email'))){ Element.removeClassName($('email').parentNode,'formError')}
	else{alert('The email address you entered is invalid. \n\n Please enter a valid email address.'); err++; Element.addClassName($('email').parentNode,'formError')}
	
	if(($('emailErr').value == '1')||(trim($('email').value) == '')){ Element.addClassName($('email').parentNode,'formError'); err++;}
	else Element.removeClassName($('email').parentNode,'formError');
	if (err != 0){
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
	}else{
		parameter = Form.serialize( 'updateProfile' );		
		var url = publicdomainobj + "beamember/profile.xml.php";
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
	}
}
function checkUniqueUsername() {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('unameErr').value = 1; Element.addClassName($('uname').parentNode,'formError'); 
			$('unameerror').innerHTML = '&nbsp;The username you entered already exists in our database, please enter a different username.';
		}else{ Element.removeClassName($('uname').parentNode,'formError'); $('unameerror').innerHTML = ''; $('unameErr').value = 0;}
	};
	var showProgress = function () { $('unameerror').innerHTML = '&nbsp;verifyng username...'; }
	un = $F('uname');
	uId = (($F('memberId') != 0)||($F('memberId') != '')) ? $F('memberId') : '';
	parameter = "un="+un+"&uId="+uId;
	var url = publicdomainobj + "beamember/checkUniqueUsername.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}
function checkUniqueEmail() {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('emailErr').value = 1; Element.addClassName($('email').parentNode,'formError'); 
			$('emailerror').innerHTML = '&nbsp;The email you entered already exists in our database. Please enter a different email address.';
		}else{ Element.removeClassName($('email').parentNode,'formError'); $('emailerror').innerHTML = ''; $('emailErr').value = 0;}
	};
	var showProgress = function () { $('emailerror').innerHTML = '&nbsp;verifyng email address...'; }
	email = $F('email');
	uId = (($F('memberId') != 0)||($F('memberId') != '')) ? $F('memberId') : '';
	parameter = "email="+email+"&uId="+uId;
	var url = publicdomainobj + "beamember/checkUniqueEmail.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}


function checkProfileUniqueEmail() {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('emailErr').value = 1; Element.addClassName($('email').parentNode,'formError'); 
			$('emailerror').innerHTML = '&nbsp;The email you entered already exists in our database. Please enter a different email address.';
		}else{ Element.removeClassName($('email').parentNode,'formError'); $('emailerror').innerHTML = ''; $('emailErr').value = 0;}
	};
	var showProgress = function () { $('emailerror').innerHTML = '&nbsp;verifyng email address...'; }
	email = $F('email');
	uId = (($F('memberId') != 0)||($F('memberId') != '')) ? $F('memberId') : '';
	parameter = "email="+email+"&uId="+uId;
	var url = publicdomainobj + "beamember/checkProfileUniqueEmail.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}


function verifypassword(){
	if(($F('pword1').length > 5)&&($F('pword2') != $F('pword1'))) Element.show('pwderror'); 
	else Element.hide('pwderror');
}
function selectRegion(){
	if($("country")){
		if($F('country') == 'US') { Element.hide('specRegion','region'); Element.show('state'); Field.clear('specRegion'); }
		else if($F('country') == 'PH') { Element.hide('specRegion','state'); Element.show('region'); Field.clear('specRegion'); }
		else { Element.hide('region','state'); Element.show('specRegion'); }
	}
}

/*
Sweet Titles (c) Creative Commons 2005
http://creativecommons.org/licenses/by-sa/2.5/
Author: Dustin Diaz | http://www.dustindiaz.com
*/
Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}
	
var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
addEvent(window,'unload',EventCache.flush);
var sweetTitles = { 
	xCord : 0,								// @Number: x pixel value of current cursor position
	yCord : 0,								// @Number: y pixel value of current cursor position
	tipElements : ['a','abbr','acronym','img'],	// @Array: Allowable elements that can have the toolTip
	obj : Object,							// @Element: That of which you're hovering over
	tip : Object,							// @Element: The actual toolTip itself
	active : 0,								// @Number: 0: Not Active || 1: Active
	init : function() {
		if ( !document.getElementById ||
			!document.createElement ||
			!document.getElementsByTagName ) {
			return;
		}
		var i,j;
		this.tip = document.createElement('div');
		this.tip.id = 'toolTip';
		document.getElementsByTagName('body')[0].appendChild(this.tip);
		this.tip.style.top = '0';
		this.tip.style.visibility = 'hidden';
		var tipLen = this.tipElements.length;
		for ( i=0; i<tipLen; i++ ) {
			var current = document.getElementsByTagName(this.tipElements[i]);
			var curLen = current.length;
			for ( j=0; j<curLen; j++ ) {
				addEvent(current[j],'mouseover',this.tipOver);
				addEvent(current[j],'mouseout',this.tipOut);
				current[j].setAttribute('tip',current[j].title);
				current[j].removeAttribute('title');
			}
		}
	},
	updateXY : function(e) {
		if ( document.captureEvents ) {
			sweetTitles.xCord = e.pageX;
			sweetTitles.yCord = e.pageY;
		} else if ( window.event.clientX ) {
			sweetTitles.xCord = window.event.clientX+document.documentElement.scrollLeft;
			sweetTitles.yCord = window.event.clientY+document.documentElement.scrollTop;
		}
	},
	tipOut: function() {
		if ( window.tID ) {
			clearTimeout(tID);
		}
		if ( window.opacityID ) {
			clearTimeout(opacityID);
		}
		sweetTitles.tip.style.visibility = 'hidden';
	},
	checkNode : function() {
		var trueObj = this.obj;
		if ( this.tipElements.inArray(trueObj.nodeName.toLowerCase()) ) {
			return trueObj;
		} else {
			return trueObj.parentNode;
		}
	},
	tipOver : function(e) {
		sweetTitles.obj = this;
		if(Element.hasClassName(sweetTitles.obj, 'showToolTip')){
			tID = window.setTimeout("sweetTitles.tipShow()",500);
			sweetTitles.updateXY(e);
		}
	},
	tipShow : function() {		
		var scrX = Number(this.xCord);
		var scrY = Number(this.yCord);
		var tp = parseInt(scrY+15);
		var lt = parseInt(scrX+10);
		var anch = this.checkNode();
//		var addy = '';
//		var access = '';
//		if ( anch.nodeName.toLowerCase() == 'a' ) {
//			addy = (anch.href.length > 25 ? anch.href.toString().substring(0,25)+"..." : anch.href);
//			var access = ( anch.accessKey ? ' <span>['+anch.accessKey+']</span> ' : '' );
//		} else {
//			addy = anch.firstChild.nodeValue;
//		}
//		this.tip.innerHTML = "<p>"+anch.getAttribute('tip')+"<em>"+access+addy+"</em></p>";
		var summary = anch.parentNode.childNodes;
		//access some <ul> element
		for (i=0; i<anch.parentNode.childNodes.length; i++){
		if (anch.parentNode.childNodes[i].nodeName=="DIV")
			summary = anch.parentNode.childNodes[i].innerHTML;
		}
		this.tip.innerHTML = "<div>"+summary+"</div>";
		if ( parseInt(document.documentElement.clientWidth+document.documentElement.scrollLeft) < parseInt(this.tip.offsetWidth+lt) ) {
			this.tip.style.left = parseInt(lt-(this.tip.offsetWidth+10))+'px';
		} else {
			this.tip.style.left = lt+'px';
		}
		if ( parseInt(document.documentElement.clientHeight+document.documentElement.scrollTop) < parseInt(this.tip.offsetHeight+tp) ) {
			this.tip.style.top = parseInt(tp-(this.tip.offsetHeight+10))+'px';
		} else {
			this.tip.style.top = tp+'px';
		}
		this.tip.style.visibility = 'visible';
		this.tip.style.opacity = '.1';
		this.tipFade(10);
	},
	tipFade: function(opac) {
		var passed = parseInt(opac);
		var newOpac = parseInt(passed+10);
		if ( newOpac < 80 ) {
			this.tip.style.opacity = '.'+newOpac;
			this.tip.style.filter = "alpha(opacity:"+newOpac+")";
			opacityID = window.setTimeout("sweetTitles.tipFade('"+newOpac+"')",20);
		}
		else { 
			this.tip.style.opacity = '.80';
			this.tip.style.filter = "alpha(opacity:80)";
		}
	}
};
function pageLoader() {
	sweetTitles.init();
}
//addEvent(window,'load',pageLoader);



// polls
function addpollvote(poll_id,channel_id,ptype) {
	var showResponse = function (originalRequest) {$('poll_form').innerHTML = originalRequest.responseText;};
	var whichitem = 0;
	var y = 0;
	while (whichitem < document.pollform.pchoice_id.length) {
		if (document.pollform.pchoice_id[whichitem].checked) y = document.pollform.pchoice_id[whichitem].value;
		whichitem++;
	}
	var url = publicdomain + "objects/polls/addpollvote.obj.php";
	var pollParams = "poll_id="+poll_id;
	$("pollresults").style.display = "none";	 	
	if(ptype == 1) pollParams = "poll_id="+poll_id+"&pchoice_id="+y;
	else{
		$("pollresults").style.display = "";
		var divID = '';
		if(channel_id == 'home') divID = 'poll_orangebttnS';
		else divID = 'poll_bluebttnS';
		$("pollresults").innerHTML='<div id="'+divID+'"><a href="javascript:showpollagain(\''+channel_id+'\')">Back!</a></div>'; 
	}
	//if(channel_id == 'home') new Effect.Highlight('poll_box', {startcolor:'#F9EBFE', endcolor:'#FFFFFF'})	
	//else new Effect.Highlight('poll_box', {startcolor:'#BF98C2', endcolor:'#9D63A2'})	
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: pollParams, onComplete: showResponse});
	$("poll_form").style.display='block';
}
function votenow(poll_id,channel_id){
	if(channel_id == 'home'){ var divID = 'poll_orangebttnS'; }
	else{ var divID = 'poll_bluebttnS'; }
	$("pollresults").innerHTML='<div id="'+divID+'"><a href="javascript:addpollvote('+poll_id+',\''+channel_id+'\',1)">Vote!</a></div>';
}
function showpollagain(channel_id) {
	var showResponse = function (originalRequest) {$('poll_dflt_box').innerHTML = originalRequest.responseText;};
	var showagainParams = "channel_id="+channel_id+"&showagain=1";
	
	if(channel_id == 'home'){ var url = publicdomain + "objects/polls/poll_home.obj.php"; }
	else{ var url = publicdomain + "objects/polls/poll_dflt.obj.php"; }
	//if(channel_id == 'home') 	new Effect.Highlight('poll_box', {startcolor:'#F9EBFE', endcolor:'#FFF'})
	//else 	new Effect.Highlight('poll_box', {startcolor:'#BF98C2', endcolor:'#9D63A2'})	
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: showagainParams, onComplete: showResponse});
}

/*
Common Library Functions 
*/

function trim(str){
	return str.replace(/^\s*|\s*$/g,"");
}
function limitTo(el,limit) {
	if (el.value.length > limit)
	el.value = el.value.substring(0, limit);
}
/*
Initialize Javascript Functions 
*/

function smiliewin() {
          var bars="width=230,height=330,directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no";
          var smiliewin = window.open( "http://www.kzone.com.ph/new/public//smilies", "smilies", bars);
          if ( ! smiliewin.opener )
            smiliewin.opener = self;
          smiliewin.focus();
}

function add_smiley(id,code){
	document.getElementById(id).value += code;
}

function trimString (str) {
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}//end trim string

function convertFormDataToPostContent(form_name) { 
var content_to_submit = ''; 
var form_element; 
var last_element_name = ''; 
for (i = 0; i < form_name.elements.length; i++) { 
	form_element = form_name.elements[i];
 	switch (form_element.type) { 
		// Text fields, hidden form elements 
		case 'text': 
		case 'hidden': 
		case 'password': 
		case 'textarea': 
		case 'select-one': 
			content_to_submit += form_element.name + '=' + escape(form_element.value) + '&' 
			break; 
		// Radio buttons 
		case 'radio': 
			if (form_element.checked) { 
				content_to_submit += form_element.name + '='  + escape(form_element.value) + '&'
 			}		 
			break; 
		// Checkboxes 
		case 'checkbox': 
			if (form_element.checked) { 
				// Continuing multiple, same-name checkboxes 
				if (form_element.name == last_element_name) { // Strip of end ampersand if there is one
 					if (content_to_submit.lastIndexOf('&') ==  content_to_submit.length - 1) { 
						content_to_submit = content_to_submit.substr( 0, content_to_submit.length - 1);
					} // Append value as comma-delimited string
					content_to_submit += ',' + escape(form_element.value); 
				} else { 
					content_to_submit += form_element.name + '='  + escape(form_element.value); 
				} 
				content_to_submit += '&'; 
				last_element_name = form_element.name;
			} 
			break; 
	} 
} 
	// Remove trailing separator 
	content_to_submit = content_to_submit.substr(0, content_to_submit.length - 1); 
	return content_to_submit; 
}

function phplistSubscribeEmail(type){
	var showResponse = function (originalRequest) { 
		$('enewsletter').innerHTML = trim(originalRequest.responseText); 
	};
	var showProgress = function () { $('enewsletter').innerHTML = 'processing...'; }
	
	url = publicdomainobj + "e-kzone/email.xml.php";
	
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

	if(filter.test($F('newsletteremail'))){ 
		var params = "nEmail="+ $F('newsletteremail') +"&type="+ type;
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: params, onComplete: showResponse, onLoading: showProgress });
	} else{ alert("Please enter a valid email address."); }
}

function submitShout(frm){
	var showResponse = function (originalRequest){
		if(originalRequest.responseText == 'security'){
			alert('Please submit the right security code.\n\n');
			Element.addClassName($('secImg'),'formError');
			Element.removeClassName($('txt_msg'),'formError');
		} else if(originalRequest.responseText == 'length'){
			alert('Shout out is too long. Limit to 30 characters.\n\n');
			Element.addClassName($('txt_msg'),'formError');
			Element.removeClassName($('secImg'),'formError');
		} else{
			new Effect.SlideUp($('dv_frm_tb'));
			$('btn_blind').value = "Post";
			winDirection="grow";
			window.location.reload();
		}
	};
	//var showProgress = function () { $('shout_postbox').innerHTML = 'Loading'; }
	
	inputs = Form.getElements( 'shout_form' );
	var err = 0;
	var j = 0;
	for(var i = 1; i < inputs.length; i++){
		if(trim(inputs[i].value) == ''){
			err++;
			Element.addClassName(inputs[i].parentNode,'formError');
		}else{
			Element.removeClassName(inputs[i].parentNode,'formError');
		}
		j++;
	}
	
	err = err + confirmEmailAdd();		
	
	if (err != 0){
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
		return false;
	}else{
		parameter = Form.serialize( 'shout_form' );		
		var url = publicdomainobj + "ajax/tb.php";
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse });		
	}
}//end chkVal

function confirmEmailAdd(){
	var err = 0;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	
	if(filter.test($('email').value)){ 
		Element.removeClassName($('email').parentNode,'formError'); 
	}
	else{
		Element.addClassName($('email').parentNode,'formError');
		err++;
	}
	
	return err;
}

function esubscribe() {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('enews_body').innerHTML = originalRequest.responseText;
			new Effect.Highlight('enewsletter', {startcolor:'#4A8AEF', endcolor:'#24467F'})
		}
	};
	var showProgress = function () { $('enews_body').innerHTML = 'Loading'; }
	var url = publicdomainobj + "retrievePosts.php";
	var nm = $F('newslettername');
	var act = $F('newsaction');
	var se = $F('newsletteremail');
	var parameter = "nm="+nm+"&act="+act+"&se="+se;
	var url = publicdomainobj + "ajax/subscriber.obj.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse});
}

function covers(yr) {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('cover_list').innerHTML = originalRequest.responseText;
			new Effect.Highlight('cover_list', {startcolor:'#4A8AEF', endcolor:'#24467F'})
		}
	};
	var showProgress = function () { $('cover_list').innerHTML = 'Loading'; }
	var yr = $F('slct_yr');
	var parameter = "y="+yr;
	var url = publicdomainobj + "ajax/getCovers.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse});
}

/*****tagboard functions****/
function tb_msg() {
	var showProgress = function () { $('span_feed').innerHTML = 'Loading'; }
	parameter = Form.serialize( 'shout_form' );		
	var url = publicdomainobj + "ajax/tb.php";
	var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter});			
	new Effect.BlindUp($('dv_frm_tb'));			
	$('btn_blind').value = "Post";		
	winDirection="grow";		
}

function retrievePost() {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('tb_screen').innerHTML = originalRequest.responseText;
		}
	};
	var showProgress = function () { $('tb_screen').innerHTML = 'Loading'; }
	//, onLoading: showProgress
	var url = publicdomainobj + "retrievePosts.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', onComplete: showResponse});
}

function reportProfanity() {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('tb_screen').innerHTML = originalRequest.responseText;
		}
	};
	var showProgress = function () { $('tb_screen').innerHTML = 'Loading'; }
	//, onLoading: showProgress
	var url = publicdomainobj + "ajax/boardReporter.php";
	var myAjax = new Ajax.Request( url,	{onComplete: showResponse});
}

function add_smiley(id,code){
	if(navigator.appName=="Microsoft Internet Explorer"){
		document.getElementById(id).innerHTML += code;		
	}else{
		document.getElementById(id).value += code;
	}
}

function txtlen(elem,str){
	maxlen = 50;
	str = trimString(str);
	if(str.length>maxlen){
		alert("Number of inputted characters exceeded "+maxlen+" characters.");
		str = elem.value.substring(0,maxlen);		
		if(navigator.appName=="Microsoft Internet Explorer"){
			elem.innerHTML = str;
		}else{
			elem.value = str;
		}		
	}
}

var winDirection = "grow";
function blinds(elem){
	if(winDirection=="grow"){
		new Effect.SlideDown(elem);	
		$('btn_blind').value = "Close";		
		winDirection="shrink";				
		if(navigator.appName=="Microsoft Internet Explorer"){
			$('txt_msg').innerHTML = "";		
		}else{
			$('txt_msg').value = "";
		}		
	}else{
		new Effect.SlideUp(elem);			
		$('btn_blind').value = "Post";		
		winDirection="grow";				
	}
		
}

/*------------------ Sendcard Validation Functions ------------------- */

function RequiredFieldsFilled(thisForm,skipField,errorCaptions) {

  var formFields = thisForm.elements
  
  var unFilledElements = new Array()
  
  /*
     The following are 'associative' or 'hash' arrays that can be indexed by
	 something other than an integer, that are implemented in JavaScript 1.2
	 and higher (Versions 4 and higher of the major browsers), and should be
	 familiar to CGI/Perl programmers. 
  */	 
  var checkBoxRadioGroups = new Array() 
  var firstGroupElement = new Array()   
  
  /* 
    Javascript 1.2+ "Regular Expression" (also common to CGI/Perl scripts) 
	for matching a pattern of zero or more instances of blank or "white" space
	in text fields
  */
  var noText = /^\s*$/
  
  var selection
  var isCheckBoxOrRadio

  for (var fieldNum = 0; fieldNum < formFields.length; fieldNum++) {
    
    var formField = formFields[fieldNum]
    var fieldName = formField.name
    var fieldType = formField.type

    /*
       Skip fields specified by user as not requiring validation, as well as
	   other types of fields not ordinarily validated
    */
    if (skipField[fieldName] == true 
	    || fieldType == "hidden" 
		|| fieldType == "submit") 
    {
      continue
    }

    /*
      Trim the field type to the first four characters so that:
      "text" and "textarea"
      are handled identically by the following switch construct, as are:
      "select_one" and "select_many"
    */
    fieldType = fieldType.substr(0,4)

    switch(fieldType) {
      /*
        "Cases", in terms of HTML form fields:
        
        1) <input type="text"> or <textarea>
        2) <select>, regardless of "multiple" attribute (pull-down menus)
        3/4) <input type="checkbox"> <input type="radio">
        
        Assign the form's element number to the "unFilledElements" array, for 
		text fields and/or pull-down menus for which the user didn't specify 
		a value
      */
      
      case "text":
        if (noText.test(formField.value)) {
          unFilledElements[unFilledElements.length] = fieldNum
        }
        isCheckBoxOrRadio = false
        break
      
      case "sele":
        selection = formField.selectedIndex
        /*
           If no choice was made, selection will equal -1 if "multiple" was 
		   specified as an attribute of the select tag, 0 if "multiple" NOT
		   specified        
        */
        if (selection == -1 || (selection == 0 && !formField.options[0].value)) {
          unFilledElements[unFilledElements.length] = fieldNum
        }
        isCheckBoxOrRadio = false
        break		
		/*
           ADDITIONAL NOTES REGARDING PULL DOWN MENUS:
  
           To specify the top visible choice from a select menu as a LABEL for
		   the list below it, and not a valid choice, do NOT specify a value
		   attribute for that option; for instance:
    
           <SELECT name="firstChoiceLabel">
             <OPTION>Make Your Choice for President from the list below
             <OPTION value="tweedledum">Bush
             <OPTION value="tweedledee">Gore
           </SELECT>
    
           If, the first option IS a valid choice, a value attribute needs to be
		   specified for it.  If existing code has a value attribute specified, 
		   DON'T change it, as the server side process for the form may need it.
		   If a value isn't previously specified, you can safely do so by
		   making it identical to the human readable text; for instance:
    
           <SELECT name="firstChoiceNOTLabel">
             <OPTION value="Valid Choice 1">Valid Choice 1
             <OPTION value="Valid Choice 2">Valid Choice 2
           </SELECT>
    
           This will ensure compatability with any existing server-side process,
		   because before specifying a value attribute it was using the human
		   readable anyway.
      */
	  	
      case "chec":
        isCheckBoxOrRadio = true
        break
        
      case "radi":  
        isCheckBoxOrRadio = true
        break
                
      default:
        /*
          Skips <input type="file">; this might be handled in future versions
		  similar to text and textareas: by just checking for a visible value
        */
        isCheckBoxOrRadio = false
        continue                      
           
    } // switch(fieldType)
    
    if (isCheckBoxOrRadio) {
      /*
        Designates whether so-named checkbox or radio button was specified by 
		user, IF not already specified as true
      */
      if (checkBoxRadioGroups[fieldName] != true) {
        checkBoxRadioGroups[fieldName] = formField.checked
      }
      /*
        Designates the FIRST element of the so-named group of checkbox or 
		radio buttons
      */
      if (firstGroupElement[fieldName] == null) {
        firstGroupElement[fieldName] = fieldNum
      }    
    } 
    
  } // for var fieldNum = 0.....
  
  /*
    Check for selections from GROUPS of checkboxes/radio buttons AFTER all 
	individual fields have been processed
  */
  for (var groupName in checkBoxRadioGroups) {
    if (checkBoxRadioGroups[groupName] == false) {
      unFilledElements[unFilledElements.length] = firstGroupElement[groupName]
    }
  }
  
  /*
    At least one field left unfilled so the user receives an error message and 
	the form is NOT submitted
  */  
  if (unFilledElements.length > 0) {
    /*
       Numerically sort the element numbers contained in the unFilledElements
	   array (using an "anonymous" function), which is necessary because entries 
	   for groups of checkboxes and/or radio buttons were added AFTER all
	   individual field elements were processed, and so could be out of order
    */
    unFilledElements = unFilledElements.sort(function(a,b) {return a-b})
    
    /*
       To return the focus to the first unfilled field; the form must be named 
	   or the following code isn't evaluated
    */          
    if (thisForm.name) {
      eval("document." + thisForm.name + ".elements[" + unFilledElements[0] 
	       + "].focus()")
    }

    var errorAlert = "Please fill out the following " + unFilledElements.length 
	errorAlert += " required field(s) you left unfilled:\n\n"
    
    /*
       Build the list of fields for the error message either from 
	   author-specified captions, or from the field names themselves
    */              
    for (var elementNum = 0; elementNum < unFilledElements.length; elementNum++) 
	{
      var unFilledFieldName = formFields[unFilledElements[elementNum]].name
      if (errorCaptions[unFilledFieldName] != null) {
        errorAlert += (errorCaptions[unFilledFieldName] + "\n")
      } else {
        errorAlert += (unFilledFieldName + "\n")
      }
    } 

    alert(errorAlert)
    return false
    
  } // if (unFilledElements.length > 0)
  
  /*
     Otherwise the form was filled out properly
     The alert line is optional, and other functionality can be added here
     The "return true" line is NOT optional
  */
  // alert("Thanks for filling out all the required fields!")
  return true
  
}

function openForm(msg)
{
	numclick += 1;
	
	if(numclick == 1)
	{					
		var temp = countdown(30, { 10: "Just 10 seconds to go", 5: "5 seconds left" });
		$('num').value = temp;
		Element.show('newWindow');		
	}
	else
	{
		alert("One click is enough please!");
	}
}

function submitRandWord(){
	clearInterval($('num').value);
	var showProgress = function(){
		if($('codeBox')){ $('codeBox').innerHTML = ''; }
		if($('scodeBox')){ $('scodeBox').innerHTML = ''; }
		if($('ocodeBox')){ $('ocodeBox').innerHTML = ''; }
		$('wordForm').innerHTML = '<center><img src="'+publicdomaintpl+'css/images/progress.gif" alt="loading..." /> submitting your answer...</center>'; 
		$('countdown').innerHTML = '';
		$('notifier').innerHTML = '';		
	};
	
	var showResponse = function(originalRequest){
		if(originalRequest.responseText != 'error'){
			if($('codeBox')){ $('codeBox').innerHTML = ''; }
			if($('scodeBox')){ $('scodeBox').innerHTML = ''; }
			if($('ocodeBox')){ $('ocodeBox').innerHTML = ''; }
			$('wordForm').innerHTML = originalRequest.responseText;
			$('countdown').innerHTML = '';	
			$('notifier').innerHTML = '';		
		}else{
			alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
		}
	};		

	answer = $('rand_answer').value;
	key = $('key').value;
	if($('checker')) params = "answer=" + answer + "&key=" + key + "&checker=" + $('checker').value;
	else params = "answer=" + answer + "&key=" + key;
	
	var url = "http://www.kzone.com.ph/objects/code_kleb/updatePts.xml.php";
	var myAjax = new Ajax.Request( url,	{method:'post', parameters:params, onComplete:showResponse, onLoading:showProgress});
}

function timer(messages) {
	var
		remain = 30;
		timer = setInterval( function () {
			secondsLeft = Math.floor(remain/60) + ":" + (remain%60 < 10 ? "0": "") + remain %60;
			if($('countdown')) $('countdown').innerHTML = secondsLeft + '<br /><img src="'+publicdomaintpl+'css/images/progress.gif" alt="loading..." />';
			else clearInterval(timer);
			if (messages[remain]) {
				$('countdown').addClassName('redCountdown'); 			
				$('notifier').innerHTML = messages[remain];				
			}
			if (--remain < 0 ) { 
				clearInterval(timer); 
				if($('codeBox')){ $('codeBox').innerHTML = ''; }
				if($('scodeBox')){ $('scodeBox').innerHTML = ''; }
				if($('ocodeBox')){ $('ocodeBox').innerHTML = ''; }
				$('wordForm').innerHTML = 'Sorry. Time is up!';
				$('countdown').innerHTML = '';	
				$('notifier').innerHTML = ''; 
			}
		},1000);	
	return timer;	
}

function klebRegister(){
	var showResponse = function(originalRequest){
		if(originalRequest.responseText == 'error1'){
			$('errMsg').setStyle({display: 'block'});
			$('errMsg').innerHTML = 'Please fill out all the necessary information.';						
		} else if(originalRequest.responseText == 'error2'){
			$('errMsg').setStyle({display: 'block'});
			$('errMsg').innerHTML = 'You got the wrong acitivation code.';
		} else if(originalRequest.responseText == 'error3'){
			$('errMsg').setStyle({display: 'block'});
			$('errMsg').innerHTML = 'Your acitivation code was alredy used.';			
		} else{
			$('errMsg').innerHTML = '';
			$('box_registration').innerHTML = originalRequest.responseText;
		}
	};		
	
	name = $('name').value;
	cpno = $('cpno').value;
	actcode = $('actcode').value;
	params = "n=" + name + "&c=" + cpno + "&a=" + actcode;
	var url = "http://www.kzone.com.ph/objects/code_kleb/registration.xml.php";
	var myAjax = new Ajax.Request( url,	{method:'post', parameters:params, onComplete:showResponse});
}

function submitAnswer(){
	var showProgress = function(){
		$('ackMsg').setStyle({display: 'none'});
		$('errMsg').innerHTML = '<center><img src="'+publicdomaintpl+'css/images/progress.gif" alt="loading..." /></center>';	
	};
	
	var showResponse = function(originalRequest){
		$('ackMsg').setStyle({display: 'none'});
		$('errMsg').setStyle({display: 'none'});
		if(originalRequest.responseText == 'error1'){			
			$('errMsg').setStyle({display: 'block'});
			$('errMsg').innerHTML = 'Please input your answer.';						
		} else if(originalRequest.responseText == 'error2'){
			$('errMsg').setStyle({display: 'block'});
			$('errMsg').innerHTML = 'Please try again.';
		} else if(originalRequest.responseText == 'error3'){
			$('errMsg').setStyle({display: 'block'});
			$('errMsg').innerHTML = 'You already got this one.';			
		} else{
			$('innerContent').innerHTML = originalRequest.responseText;
			if($('questionAns')){
				$('submitform').setStyle({display: 'none'});
			}
		}
	};		
	
	if($('tabdateno')) tabdateno = $('tabdateno').value;
	if($('tabdate')) tabdate = $('tabdate').value;
	if($('codedAns')) params = "codedAns=" + $('codedAns').value + "&tabdate=" + tabdate + "&tabdateno=" + tabdateno;
	else if($('questionAns')) params = "questionAns=" + $('questionAns').value + "&tabdate=" + tabdate + "&tabdateno=" + tabdateno;
	else if($('bonusAns')) params = "bonusAns=" + $('bonusAns').value;
	
	var url = "http://www.kzone.com.ph/objects/code_kleb/answerboard.xml.php";
	var myAjax = new Ajax.Request( url,	{method:'post', parameters:params, onComplete:showResponse, onLoading: showProgress});
}

function bonusChk(){
	if($('fieldBonus').value != '' && $('fieldBonus').value != null){
		return true;
	} else{
		alert('Please input your answer.');	
		return false;
	}
}

function prevbonChk(){
	if($('bonusdate').value == '' || $('bonusdate').value == null){
		alert('Please input the date.');	
		return false;
	} else if($('missbonus').value == '' || $('missbonus').value == null){		
		alert('Please input your answer.');	
		return false;
	} else{
		return true;
	}
}

function $RF(el, radioGroup) {
    if($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }
 
    var checked = $(el).getInputs('radio', radioGroup).find(
        function(re) {return re.checked;}
    );
    return (checked) ? $F(checked) : null;
}

function submitChoices(){
	var showResponse = function (originalRequest) { 
		$('msgaward_box').innerHTML = originalRequest.responseText;
		$('awardLower').innerHTML = "";
	};
	
	var showProgress = function(){
		$('awardLower').innerHTML = '<center><img src="'+publicdomaintpl+'css/images/progress.gif" alt="loading..." /> submitting your answer...</center>'; 
	};
	
	var err = 0;
	var j = 1;
	var radioid = '';
	var value = '';
	inputs = Form.getElements( 'awardForm' );		
	
	for(var i = 1; i < inputs.length; i++){
		if(inputs[i].name != radioid){			
			value = $RF('awardForm', inputs[i].name);
			if(value == null){
				err++;
				Element.addClassName($('subcateg_li'+j),'formError');
			} else{
				Element.removeClassName(('subcateg_li'+j),'formError');
			}
			radioid = inputs[i].name;
			j++;
		}
	}
		
	if (err != 0){
		alert("Please choose a nominee on all categories!");
	}else{
		parameter = Form.serialize( 'awardForm' );		
		var url = publicdomainobj + "awards/awards.xml.php";
		var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });		
	}
}

/**	-	-	-	F	L	A	S	H	-	B	O	X	-	-	-	**/
/**	-	-	-	E	N	D	-	-	-	**/

function init(){
	if($("registerMember")) Event.observe('registerMember', 'click', registerMember, false);
	if($("updateMember")) Event.observe('updateMember', 'click', updateMember, false);
	if($("btn_submit")) Event.observe('btn_submit', 'click', submitShout, false);
	if($("usr")) Event.observe('usr', 'keypress', function(event){ if(event.keyCode == Event.KEY_RETURN) document.loginForm.submit();});
	if($("pwd")) Event.observe('pwd', 'keypress', function(event){ if(event.keyCode == Event.KEY_RETURN) document.loginForm.submit();});	
	if($("rand_answer")) Event.observe('rand_answer', 'keypress', function(event){ if(event.keyCode == Event.KEY_RETURN) submitRandWord(); });
	//if($("submitedword")) Event.observe('submitedword', 'click', submitRandWord, false);	
	if($("codedAns")) Event.observe('codedAns', 'keypress', function(event){ if(event.keyCode == Event.KEY_RETURN) submitAnswer(); });
	if($("questionAns")) Event.observe('questionAns', 'keypress', function(event){ if(event.keyCode == Event.KEY_RETURN) submitAnswer(); });
	if($("bonusAns")) Event.observe('bonusAns', 'keypress', function(event){ if(event.keyCode == Event.KEY_RETURN) submitAnswer(); });
	if($("submitAns")) Event.observe('submitAns', 'click', submitAnswer, false);
	if($("submitChoices")) Event.observe('submitChoices', 'click', submitChoices, false);
	if($("mainBody")){ 
		document.getElementById('mainBody').style.zIndex  = '0';
		document.getElementById('mainBody').style.position  = 'static';
	}
}

Event.observe(window, 'load', init);
