/**** FRAMES ****/

function gotoframe(url,frame){
	parent.frames[frame].location.href = url;
}

function reloadframe(frame){
	parent.frames[frame].location.reload();	
}

function gotoparent(url){
	parent.location.href = url;	
}



/**** TABS ****/
function getTabContent(e,el){
	allTabs = e.parentNode.getElementsByTagName('a');
	for(var i=0;i<allTabs.length;i++){
		allTabs[i].className = '';
	}
	e.className = 'active';
	
	allContent = $(el).parentNode.getElementsByTagName('div');
	for(var j=0;j<allContent.length;j++){
		//if(allContent[j].className == 'content')
		if($(allContent[j]).hasClassName('content') == true)
			$(allContent[j]).hide();
	}
	
	$(el).show();
	return;
}


/**** COUNTERS ****/
function setupCounters(formID){
	$(formID).getElements().each(function(el,index){
		var regex = new RegExp("nocounter");
		if(((el.tagName == "INPUT" && (el.type == "text" || el.type == "password")) || el.tagName == "TEXTAREA") && !regex.test(el.className)){
			var fieldLength = $(el.id).readAttribute('length');
			if(fieldLength == null){
				var fieldLength = (el.tagName == "TEXTAREA") ? 65535 : 255;
			}
			$(el.id).observe('keyup', function(e){ var nodeid = (e.target)? e.target : e.srcElement; countChar(nodeid.id, fieldLength);}.bindAsEventListener(el));
			countChar(el.id, fieldLength);
		}
	});
	return;
}

function countChar(el,len){
	var c = 'c'+el;
	var curLength = $F(el).length;
	var maxLength = len;
	if(curLength > maxLength){
		$(el).value = $F(el).substring(0,maxLength);
		//alert('Maximum Length allowed for this field has been exceeded. The extra characters have been removed.');
		curLength = $F(el).length;
	}
	$(c).update(curLength+'/'+maxLength);
	return;
}

/**** FORM VALIDATION ****/

function checkLength(el, minLength, message, messageID){
	if(el.value.length < minLength){
		el.focus();
		if(messageID != null && messageID != ""){
			$(messageID).update(message);
		}
		else{
			alert(message);
		}
		return false;
	}
	else{
		return true;
	}
}

function checkMaxLength(el, maxLength, message, messageID){
	if(el.value.length > maxLength){
		el.focus();
		if(messageID != null && messageID != ""){
			$(messageID).update(message);
		}
		else{
			alert(message);
		}
		return false;
	}
	else{
		return true;
	}
}

function checkMatch(el1, el2, message, messageID){
	if(el1.value != el2.value){
		el2.focus();	
		if(messageID != null && messageID != ""){
			$(messageID).update(message);
		}
		else{
			alert(message);
		}
		return false;
	}
	else{
		return true;
	}
}


function matchRegex(el, regEx, message, messageID){
	var filter = new RegExp(regEx);
	if(!filter.test($F(el.id))){
		el.focus();
		if(messageID != null && messageID != ""){
			$(messageID).update(message);
		}
		else{
			alert(message);
		}
		return false;
	}
	else{
		return true;
	}
}
		

function validateEmail(el, message, messageID){
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!filter.test($F(el.id))){
		el.focus();
		if(messageID != null && messageID != ""){
			$(messageID).update(message);
		}
		else{
			alert(message);
		}
		return false;
	}
	else{
		return true;
	}
}

/*** POPUP ****/
function popup(url, w, h, isResizable, isScrollable){
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	Resize = (isResizable) ? 1 : 0;
	Scroll = (isScrollable) ? 1 : 0;
	
	childWindow=open(url, "", "toolbar=0,scrollbars="+Scroll+",location=0,statusbar=0,menubar=0,resizable="+Resize+",width="+w+",height="+h+",left ="+LeftPosition+",top="+TopPosition+"");
	if (childWindow.opener == null) childWindow.opener = self;	
}
