// JavaScript Document

/**
 * Open popup 
 * 
 * @parameter: url = URL
 * @parameter: w = width
 * @parameter: h = height
 * @parameter: popupName = ame of popup
 * @parameter: scrollbars (default is 0 - without scroll)
 * @access: public
 * @return: null
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
 * @date: 02.02.2005 (dd.mm.YYYY)
*/ 
function popup(url, w, h, popupName, scrollbars, resizable)
{
	if(popupName == '') popupName='popup';
	if(scrollbars == '') scrollbars=0;
	if(w==0) w=(screen.width);
	if(h==0) h=(screen.height);
	if(typeof resizable=='undefined') resizable='no';
	options='menubar=no, scrollbars='+scrollbars+', statusbar=no, resizable='+resizable+', toolbar=no, location=no, status=no';
	var top=(screen.height-h)/2-18;
	var left=(screen.width-w)/2-8;
	var win_open = window.open(url, popupName, 'top='+top+', left='+left+', width='+w+', height='+h+', '+options);
}

/**
 * Get file size, dsed for admin upload forms
 * 
 * @parameter: elemFile
 * @parameter: elemSize
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
 * @date: 09.02.2008 (dd.mm.YYYY)
*/ 
function getFileSize(elemFile, elemSize)
{
	var action=document.form_act.action;
	
	document.form_act.target='ifr_utile';
	document.form_act.action=ROOT_HOST+'useful.php?obj=get_file_size&action=get&elemFile='+elemFile+'&elemSize='+elemSize;
	document.form_act.submit();
	
	document.form_act.action=action;
	document.form_act.target='_self';
}

/**
 * Delete multiple - submit (only for admin)
 * 
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
 * @date: 22.02.2008 (dd.mm.YYYY)
*/ 
function delelteMultipleSubmit()
{
	if(delelteMultipleVerifyRowsChecked())
	{	
		document.form_list.act.value = 'delete';
		if(confirm(txtConfirmDel))
			document.form_list.submit();
	}
}

/**
 * Delete multiple - verify if there are rows checked (only for admin)
 * 
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
 * @date: 22.02.2008 (dd.mm.YYYY)
*/ 
function delelteMultipleVerifyRowsChecked()
{
	var c=0;
	var items = document.form_list.elements;
	for(i=0;i<items.length;i++)
	{
		if(items[i].type=='checkbox' && items[i].name.match('ids'))
			if(items[i].checked==true)
			{
				c++;
				break;
			}
	}

	if(c>=1)
	{
		$('delelteMultipleBtn').src=IMG_URL+'admin/del.gif';
		$('delelteMultipleBtn').style.cursor='pointer';
		return true;
	}
	else
	{
		$('delelteMultipleBtn').src=IMG_URL+'admin/del_inactive.gif';
		$('delelteMultipleBtn').style.cursor='none';
		return false;
	}
}

/**
 * Switch Multiple CheckBox, Work only with a Form
 * 
 * @parameter: objForm - object for, textMatch - name of checkbox for match
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
 * @date: 22.02.2008 (dd.mm.YYYY)
*/ 
function switchMultipleCheckBox(objForm, textMatch)
{	
	var items = objForm.elements;	
	for(i=0; i < items.length; i++)
	{
		if(items[i].name.match(textMatch))
		{
			if(items[i].checked==true)
				items[i].checked = false;
			else if(items[i].disabled==false)
				items[i].checked = true;
		}
	}
}

/**
 * Sort after table column (db)
 * 
 * @parameter: field to sort
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
 * @date: 10.04.2008 (dd.mm.YYYY)
*/
function fSort(field_sort)
{	
	var url='';
	
	var location=(window.location)+'';
	
	var tmpArr=location.split('#');
	tmpArr=tmpArr[0].split('?');
	
	url=tmpArr[0]+'?';
	
	if(tmpArr.length>1)
	{
		tmpArr=tmpArr[1].split('&');
		
		for(i=0;i<tmpArr.length;i++)
		{
			p1=tmpArr[i].search(/field_sort/i);
			
			if(p1>=0)
				;
			else
				url+=tmpArr[i]+'&';
		}
	}
		
	url+='field_sort='+field_sort;
	
	window.location=url;
	
	return false;
}

/**
 * Copy Content Between SelectElem Box
 * 
 * @parameter: field to sort and list of parameters
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
 * @date: 29.02.2008 (dd.mm.YYYY)
*/
function copyContentBetweenSelectElem(from, to, mode)
{
	for(i=0; i < parseInt(from.length); i++)
		if(from.options[i].selected==true || mode) 
		{
			var opt=new Option(from.options[i].text, from.options[i].value);
			to.options[to.length]=opt;
			from.options[i]=null;
			i--;
		}
}

/**
 * Copy Concat Content From Select Elem To Text Elem
 * 
 * @parameter: field to sort and list of parameters
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
 * @date: 29.02.2008 (dd.mm.YYYY)
*/
function copyConcatContentFromSelectElemToTextElem(from, to, separator) 
{	
	to.value='';
	for(i=0; i < parseInt(from.length); i++)
	{
		if(to.value!='')
			to.value+=' ';
		to.value+=from.options[i].value;
	}
}

/**
 * SelectMultiple Box - Select all
 * 
 * @parameter: field to sort and list of parameters
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
*/
function selectMultipleSetAllItems(obj) 
{   		
	var length_obj=obj.options.length;
	for(i=0;i<length_obj;i++)
		obj.options[i].selected=true;
}

/**
 * SelectMultiple Box - Unselect all
 * 
 * @parameter: field to sort and list of parameters
 * @author: CFlorin (colotin_f@yahoo.com) - www.yourchoice.ro
*/
function selectMultipleUnsetAllItems(obj) 
{   		
	var length_obj=obj.options.length;
	for(i=0;i<length_obj;i++)
		obj.options[i].selected=false;
}

/**
* SelectMultiple Box - Get no. elements from a multple select
*
* @parameter:  obj = select object
* @parameter:  flag = 1 - count only items with value !="" ; 0 - count all items
* @author: FlorinC - yourchoice.ro
*/
function selectMultipleGetNoItemsSelected(obj, flag) 
{   		
	var length_obj = obj.options.length;
	var count=0;
	if(length_obj > 0)
	{
		if(flag==1)
		{
			for(i=0;i<length_obj;i++)
			{			
				if(obj.options[i].value!="" && obj.options[i].selected==true)
					count++;			
			}
		}
		else
		{
			for(i=0;i<length_obj;i++)
			{			
				if(obj.options[i].selected==true)
					count++;			
			}			
		}
	}
	
	return count;
}


/**
* Count chars from a textarea
*
* @parameter: objText - texarea elem, objCounter - input text that show the counter, limit - limit of chars
* @author Colotin Florin
*/
function countInputChars(objText, objCounter, limit)
{
	if ($(objText).value.length > limit)
		$(objText).value = $(objText).value.substr(0, limit);
	$(objCounter).value=$(objText).value.length;
}

/**
 * Ajax Send Email To
 * 
 * @author: CFlorin (colotin_f@yahoo.com)
*/
function emailTo(to)
{
	var url = ROOT_HOST+'index.php?obj=front&action=get_email_address&to='+to;
	
	var opt = {
		asynchronous: true, 
		evalScripts: true,
		onSuccess: function( t ) {			
			var email=t.responseText;
			if(email)
				window.location='mailto:'+email;
			else
				alert('Error!');
		}
	} 
  	new Ajax.Request(url, opt);
}

/**
 * Ajax Email Link Display
 * 
 * @author: CFlorin (colotin_f@yahoo.com)
*/
function emailLinkDisplay(to)
{
	var url = ROOT_HOST+'index.php?obj=front&action=get_email_address&to='+to;
	
	var opt = {
		asynchronous: false, 
		evalScripts: true,
		onSuccess: function( t ) {			
			var email=t.responseText;			
			var msg='';
			
			if(email)
				msg='<a onclick="emailTo(\''+to+'\'); return false;" href="#">'+email+'</a>';
			else
				msg='&nbsp;';
			
			$('email'+to).innerHTML=msg;
		}
	} 
  	new Ajax.Request(url, opt);
}

/**
 * Capture Event
 * 
 * @author: CFlorin (colotin_f@yahoo.com)
*/
function captureEvent(evt, keyCode, snippet) {
	e = (evt) ? evt : (window.event) ? event : null;

	if (e.keyCode) 
		code = e.keyCode;
	else
		if (e.which) 
			code = e.which;

	if (code == keyCode) 
		eval(snippet);
}

/**
 * Return Event
 * 
 * @author: CFlorin (colotin_f@yahoo.com)
*/
function returnEvent(evt) {
	e = (evt) ? evt : (window.event) ? event : null;

	if (e.keyCode) 
		code = e.keyCode;
	else
		if (e.which) 
			code = e.which;

	return code;
}

/**
 * Disable Page Selection. Call : disableSelection(document.body); Css Mozilla: -moz-user-select: none; cursor: default;
 * 
 * @author: CFlorin (colotin_f@yahoo.com)
*/
function disableSelection(target)
{
	if (typeof target.onselectstart!="undefined") //IE route
		target.onselectstart=function(){return false}
	else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
		target.style.MozUserSelect="none"
	else //All other route (ie: Opera)
		target.onmousedown=function(){return false}
	target.style.cursor = "default"
}

/**
 * Trim
 * 
 * @author: CFlorin (colotin_f@yahoo.com)
*/
function trim(value) 
{
	value = value.replace(/^\s+/,'');
	value = value.replace(/\s+$/,'');
	return value;
}

/**
 * Disable Select with omit tags
 * 
 * @author: CFlorin (colotin_f@yahoo.com, www.yourchoice.ro)
*/
function disableSelect(e)
{
	var omitformtags=["input", "textarea", "select"];
	
	for (i = 0; i < omitformtags.length; i++)
		if (omitformtags[i]==(e.target.tagName.toLowerCase()))
			return;
	return false
}
function reEnableSelect()
{
	return true
}
function noSelect()
{
	var omitformtags=["input", "textarea", "select"];
	
	if (typeof document.onselectstart!="undefined")
	{
		document.onselectstart=new Function ("return false")
		if (document.getElementsByTagName)
		{
			tags=document.getElementsByTagName('*')
			for (j = 0; j < tags.length; j++)
			{
				for (i = 0; i < omitformtags.length; i++)
					if (tags[j].tagName.toLowerCase()==omitformtags[i])
					{
						tags[j].onselectstart=function(){
							document.onselectstart=new Function ('return true')
						}
						tags[j].onmouseup=function(){
							document.onselectstart=new Function ('return false')
						}
					}
			}
		}
	}
	else
	{
		document.onmousedown=disableSelect;
		document.onmouseup=reEnableSelect;
	}
}
function noRightClick()
{
	document.oncontextmenu=new Function ("return false");
}
function disableSelectionAndRightClick()
{
	noSelect();
	noRightClick();
}

//==================================================================================================================//




















function objShowHide(objName, keepPosition)
{
	var elem=findDOM(objName, 1);
	
	if(elem.visibility=='hidden') 
	{ 
		elem.visibility='visible';
		if(keepPosition!=1)
			elem.position='relative'; 
	} 
	else 
	{ 
		elem.visibility='hidden'; 
		if(keepPosition!=1)
			elem.position='absolute'; 
	} 
}

// inner write
function innerWrite(objName, text)
{
	var elem = findDOM(objName, 0);
	elem.innerHTML = text;
}

// inner write
function imgSrcChange(objName, src)
{
	var elem = findDOM(objName, 0);
	elem.src = src;
}



/**
* Count chars from a textarea
*
* @author Colotin Florin
*/
function countInputChars2(objText, objCounter, limit)
{
	if (objText.value.length > limit)
		objText.value = objText.value.substr(0,limit);
	objCounter.value=objText.value.length;
}


var openedWin = 0;
var offsetHeight = 0;
function openWin(obj, url) {
	if (!openedWin) {
		applyStyle(obj, 'src', url, 0);
		applyStyle(obj, 'visibility', 'visible', 1);
		openedWin = 1;
		offsetHeight = 83;
	}
}

function ifrClose(objWin)
{	
	window.parent.openedWin    = 0;
	window.parent.offsetHeight = 0;
	applyStyleParent(objWin, 'visibility', 'hidden', 1);
	applyStyleParent(objWin, 'src', '', 0);
}



function objColorBlink(objName, classBlink)
{
	var obj = findDOM(objName, 0);
	if(obj.className!=classBlink)
	{
		obj.className=classBlink;
	}
	else
	{
		obj.className='';
	}
}

function setAlpha(id, opacity) {
	element = findDOM(id, 0);
	if (typeof(element.filters) == 'object')
	{
		element.filters.alpha.opacity = opacity;
	}
	else if (element.style.setProperty)
	{
		element.style.setProperty('-moz-opacity', opacity / 100, '');
	}
}

function addBookmark(url, title) {
	if (browser == 'ie') 
		window.external.AddFavorite(url, title);
	else
		window.sidebar.addPanel(title, url, ""); 
}

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_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_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];}
}