<!--
/**
 * $Id: common.js,v 1.4 2009/01/07 10:33:56 sudaraka Exp $
 * Created: 10/15/2008
 * $Name: CT_0_0_26_BETA $
 *
 */


var isNN=(navigator.appName.indexOf("Netscape")!=-1);
var isIE=(navigator.appName.indexOf("Internet Explorer")!=-1);

Number.prototype.NaN0=function(){return isNaN(this)?0:this;}

function validateField(field,message,regexp){
	var bEmpty=false;
	var strAction='enter';
	var field_value='';
	var xField=(field.length>0 && !field.type)?field[0]:field;
	var selectedIndex=-1;

	switch(xField.type){
		case 'textarea':
		case 'hidden':
		case 'password':
		case 'file':
		case 'text':{
			field_value=field.value;
			bEmpty=(field_value.length<1);
			break;
		}
		case 'select-one':{
			if(field.selectedIndex>=0) field_value=field.options[field.selectedIndex].value;
			bEmpty=(field.selectedIndex<0 || field_value.length<1);
			strAction='select';
			break;
		}
		case 'checkbox':{
			strAction='select';
			bEmpty=!xField.checked;
			break;
		}
		case 'radio':{
			strAction='select';
			bEmpty=true;
			if(xField!=field){
				for(var intIdx=0;intIdx<field.length;intIdx++){
					if(field[intIdx].checked){
						bEmpty=false;
						selectedIndex=intIdx;
						break;
					}
				}
			}
			else{
				bEmpty=!xField.checked;
				if(!bEmpty) selectedIndex=0;
			}
			break;
		}
		default:{
			bEmpty=true;
			alert('form element \''+xField.name+'\' ['+xField.type+'] is not supported by checkEmpty() function');
			break;
		}
	}

	if(regexp && !bEmpty){
		bEmpty=!regexp.test(field_value);
	}

	if(bEmpty){
		if(message) alert(message);
		else if(message!=null) alert('Please '+strAction+' a value for field \''+xField.name+'\'');
		if(xField.type!='hidden') xField.focus();
	}

	return (xField.type=='radio')?selectedIndex:!bEmpty;
}

function gotoPage(url){
	top.location.href=url;
}

function trim(value){
   var temp=value;
   
   if(temp==undefined) return value;
   
   var obj=/^(\s*)([\W\w]*)(\b\s*$)/;
   if (obj.test(temp)) { temp=temp.replace(obj, '$2'); }
   var obj=/ +/g;
   temp=temp.replace(obj, " ");
   if (temp == " ") { temp=""; }
   return temp;
}

function removeChar(Target){
	var re=/[^0-9]/g;
	Target=Target.replace(re,'');
	return Target;}

function removeNonNum(Target){
	var re=/[^0-9|\^.|\^-]/g;
	Target=Target.replace(re,'');
	return Target;}

function removeDigit(Target){
	var re=/[0-9]/g;
	Target=Target.replace(re,'');
	return Target;
}

function containsElement(arr, ele){
	var found=false, index=0;
	while(!found && index < arr.length){
		if(arr[index] == ele)
			found=true;
		else
			index++;
	}
	return found;
}
function getIndex(input){
	var index=-1, i=0, found=false;
	while (i < input.form.length && index == -1){
		if (input.form[i] == input)index=i;
		else i++;
	}
	return index;
}
function autoTab(input, e){
	var keyCode=(isNN) ? e.which : e.keyCode; 
	var filter=(isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= input.maxLength && !containsElement(filter,keyCode)){
		input.value=input.value.slice(0, input.maxLength);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}
return true;
}

function popup(url, width, height, scroll, name){
	if(isNaN(width) || width<1) width=400;
	if(isNaN(height) || height<1) height=250;
	
	var top=(screen.height-height)/2;
	var left=(screen.width-width)/2;
	var strParams='toolbar=0,statusbar=0, scrollbars='+(scroll?1:0)+' ,width='+width+',height='+height+',top='+top+',left='+left;
	
	var win=window.open(url, 'win_'+name, strParams);
	win.focus();
	
	return win;
}

function popup2(url, width, height, title){
	if(isNaN(width) || width<1) width=400;
	if(isNaN(height) || height<1) height=250;
	
	MOOdalBox.open(url, title, width+' '+height);
}

function shortPhara(val, len){
	if(isNaN(len) || len<1) return val;
	
	val=trim(val);
	if(val.length>len){
		val=trim(val.substr(0, len))+'...';
	}
	
	return val;
}

function formatNumber(number, decPoints){
	if(isNaN(number)) return '';
	
	var tmpRT=number.toString(10);
	if(tmpRT.indexOf('.')<0)
	tmpRT+='.';
	var tmp=tmpRT.substr(tmpRT.indexOf('.')+1,tmpRT.length);
	if(tmp.length>2)
	tmpRT=tmpRT.substr(0,tmpRT.indexOf('.')+3);
	for(var j=tmp.length;j<2;j++)tmpRT+='0';
	return tmpRT;
}

function clearFields(defval){
	var fields=document.getElementsByTagName('input');
	if(!fields) return;
	
	if(!defval) defval='';
	
	if(fields.length){
		for(var i=0;i<fields.length;i++){
			var val=fields[i].getAttribute('autocomplete');
			if(val) val=val.toLowerCase();
			if(val=='off') fields[i].value=defval;
		}
	}
	else if(fields.length==0) return; 
	else{
		if(fields.getAttribute('autocomplete').toLowerCase()=='off') fields.value=defval;
	}
}

function setCookie(name, value, days){
	if(days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function removeCookie(name) {
	setCookie(name, "", -1);
}

function formatDuration(Duration, ZeroHour){
	strFormated="";
	Hour=parseInt(Duration/60);
	if(ZeroHour || Hour>0) strFormated=Hour+' hr ';
	
	Min=parseInt(Duration-(Hour*60));
	if(Min<10 && Hour>0) Min='0'+Min;
	strFormated+=Min+' min';
	
	return strFormated;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function saveValue(elm, key){
	if(!elm) return;
	var dest=document.getElementById(((elm.id.length>0)?elm.id:elm.name)+'_'+key);
	if(!dest) return;
	
	dest.value=elm.value;
}

function hideForms(){
	var frm=document.forms;
	
	for(var i=0;i<frm.length;i++){
		frm[i].style.visibility='hidden';
	}
}

function showForms(){
	var frm=document.forms;
	
	for(var i=0;i<frm.length;i++){
		frm[i].style.visibility='visible';
	}
}

function getFormData(frm, arrayName){
	var elements=null;
	var strParam='';
	var elementList=new Array('input', 'select', 'textarea');
	
	if(arrayName==undefined || arrayName.length<1) arrayName='formdata';
	
	for(var j=0;j<elementList.length;j++){
		elements=frm.getElementsByTagName(elementList[j]);
		if(elements.length && elements.length>0){
			for(var i=0;i<elements.length;i++){
				if(elements[i].type=='submit') continue;
				if(elements[i].type=='button') continue;
				if(elements[i].type=='checkbox' && !elements[i].checked) continue;
				
				if(strParam.length>0) strParam+='&';
				strParam+=arrayName+'['+((elements[i].name.length>0)?elements[i].name:elements[i].id)+']='+escape((elements[i].selectedIndex)?elements[i].options[elements[i].selectedIndex].value:elements[i].value);
			}
		}
	}
	
	return strParam;
}

function inputGuide(elm, clear){
	var txt=elm.getAttribute('title');
	if(txt.length<1) return;
	
	if(clear && elm.value==txt) elm.value='';
	if(!clear && elm.value.length<1) elm.value=txt;
}

function swapClass(elm, newClass){
	if(newClass && newClass.length>0){
		elm.setAttribute('__backupclass', elm.className);
		elm.className=newClass;
	}
	else elm.className=elm.getAttribute('__backupclass');
}

function slimboxClose()
{
}
function slimboxOpen()
{
}

function moodalboxClose()
{
}
function moodalboxOpen()
{
}

function checkLimit(elm){
	var dat=__getLimits(elm);
	
	if(dat.limit<1) return true;
	
	if(dat.length>dat.limit){
		alert('Please limit your input to '+dat.limit+' '+(dat.isWord?'words':'characters'));
		elm.focus();
		return false;
	}
	
	return true;
}
function enfoceLimit(elm){
	var dat=__getLimits(elm);
	
	if(dat.limit<1) return true;
	
	if(dat.length>dat.limit){
		elm.value=dat.text;
		elm.focus();
		return false;
	}
	
	return true;
}
function __getLimits(elm){
	var bWord=true;
	var iLimit=parseInt(elm.getAttribute('__wordLimit')).NaN0();
	if(iLimit<1){
		iLimit=parseInt(elm.getAttribute('__characterLimit')).NaN0();
		bWord=false;
	}
	
	var ln=elm.value.length;
	var strText=elm.value.substr(0, iLimit);
	
	if(bWord){
		var tmp=elm.value.replace(/^\s*|\s*$/g, '');
		tmp=tmp.split(/[\s]/);
		ln=tmp.length;
		if(ln<2) ln=1;
		
		tmp.splice(iLimit, ln);
		strText=tmp.join(' ')+' ';
	}
	
	return {'limit':iLimit, 'isWord':bWord, 'length':ln, 'text':strText};
}

//-->

