function localAct(action, obj, id, product, extraCmd)
{
	switch(action) {
		case 'detail' :
			if( typeof(a_window) != 'undefined') a_close(a_window, 'edit_box');			
			var id = id ? id : findID(obj);
			$('edit_box').style.top =  window.getSize().scroll.y+4+'px';
			$('edit_box').style.left = Math.max((window.getSize().size.x-$('edit_box').getSize().size.x)/2, 8)+'px';
			$('loading').removeClass('hidden');
			if(!product)
				new ajax('index.php?section='+section+'&module='+module+'&cmd=detail&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			else if(product == 1)
				new ajax('index.php?section='+section+'&module='+module+'&cmd=sameproductlist&id='+id+'&'+extraCmd, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			else if(product == 2)
				new ajax('index.php?section='+section+'&module='+module+'&cmd=productreview&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			break;
		case 'msg' :
		case 'replay' :
		case 'forward' :
			if( typeof(a_window) != 'undefined') a_close(a_window, 'edit_box');			
			var id = id ? id : findID(obj);
			$('edit_box').style.top =  window.getSize().scroll.y+4+'px';
			$('edit_box').style.left = Math.max((window.getSize().size.x-$('edit_box').getSize().size.x)/2, 8)+'px';
			$('loading').removeClass('hidden');
			new ajax('index.php?section='+section+'&module='+module+'&cmd=edit&btn='+action+'&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			break;
	}
}
function duplicateRow(classname)
{
    //clone the row
	var obj = $$('.'+classname);
	if(!obj) alert('error');
	obj = $(obj[obj.length-1]);
	var baby = obj.clone();
    
    //reset values
    
	//set name and ids
    cnt = 1;
	$$('.'+classname).each(function(el){
		el.lang = cnt;
        el.getElementsBySelector('select, input, textarea').each(function(elp){
            elp.name = elp.name.replace(/\[row\d+\]/, '[row'+cnt+']');
            elp.id = elp.name;
        }); 
        el.id = 'reg_'+cnt;
		cnt++;
    });
	
	baby.id = 'reg_'+cnt;
	
	baby.getElementsBySelector('select, input, textarea').each(function(el){
		el.name = el.name.replace(/\[row\d+\]/, '[row'+cnt+']');
		el.id = el.name;
		switch(el.tagName.toLowerCase()){
			case 'select':
				el.selectedIndex = 0;
				break;
			case 'textarea':
				el.value = null;
				break;
			case 'input':
				if(el.type=='text') el.value = '';
				if(el.type=='file') el.value = '';
				if(el.type=='checkbox') el.checked = false;
				if(el.type=='radio') el.checked = false;
				if(el.type=='hidden' && el.hasClass('reset')) el.value = '';
				if(el.type=='radio' && el.getParent()) {
					el.getParent().innerHTML = el.getParent().innerHTML.replace(/\[row\d+\]/g, '[row'+cnt+']');
				}
				break;
		}
	}); 
	
	if(baby.getElementsBySelector('.rem')) {
		baby.getElementsBySelector('.rem').each(function(el){
			el.href = "javascript:void(0);";											 
		});
	}
	
	if(baby.getElementsBySelector('.imagebox')) {
		baby.getElementsBySelector('.imagebox').each(function(el){
			el.src = '../images/blank.gif';											 
		});
	}
	
	if(baby.getElementsBySelector('.fileDel')) {
		baby.getElementsBySelector('.fileDel').each(function(el){
			el.remove();											 
		});
	}
	
	baby.removeClass('hidden');
	
    baby.injectAfter(obj);
	
	normalizeRows(classname);   
}

function removeRow(obj,className)
{
	var parent = findParent(obj,className);
	parent.remove();
	
	normalizeRows(className);
}

function normalizeRows(classname)
{
	var cnt = 0;
	
	var rows = $$('.'+classname);
	var rowscount = rows.length;
	
	rows.each(function(el){
		cnt++;
		el.getElementsBySelector('.addBut, .remBut, .rem, .counterNum').each(function(elp){
			if(elp.hasClass('addBut')){
				if(cnt<rowscount)
					elp.addClass('invisible');
				else
					elp.removeClass('invisible');
			}else if(elp.hasClass('remBut') || elp.hasClass('rem')){
				if(rowscount<=1)
					elp.addClass('invisible');
				else
					elp.removeClass('invisible');
			}else if(elp.hasClass('counterNum')){
				if(lang='fa')
					elp.innerHTML = F_(cnt);
				else
					elp.innerHTML = cnt;
			}
		});
	});
}

function findParent(obj,className)
{
	if($(obj))
		obj=$(obj);
	else
		return false;
	
	while(!obj.getParent().hasClass(className)){
		obj = obj.getParent();
	}
	
	return obj.getParent();
}

function delimg(id)
{
	var conf = confirm('آیا از حذف این فایل اطمینان دارید؟');
	if(!conf) return;
	new ajax('index.php?section='+section+'&module='+module+'&cmd=deleteimg&id='+id).request();
}

function setSubGroup(obj, data)
{	
	obj = $(obj);
	try {
		var src = $$('.group1')[0];
		var des = $$('.group2')[0];
	} catch(e){};
	if(!src || !des || !data) return;
	while(des.options[0]){
		des.options[0] = null;
	};
	data = data[src.value];
	for(el in data){
		des.options[des.options.length] = new Option(data[el], el);					
	};
}
function setSubProduct(obj, data)
{	
	obj = $(obj);
	try {
		var src = $$('.group1')[0];
		var des = $$('.group3')[0];
	} catch(e){};
	if(!src || !des || !data) return;
	while(des.options[0]){
		des.options[0] = null;
	};
	data = data[src.value];
	for(el in data){
		/*console.log('%s : %s', typeof(data[el]), data[el]);*/
		if(typeof(data[el])!='string')
			continue;
		des.options[des.options.length] = new Option(data[el], el);					
	};
}

function companyImage(clname)
{
	try {
	$$('TR.'+clname).each(function(el){
		var id = el.getElementsBySelector('.compId')[0].value;
		el.getElementsBySelector('.compImage').each(function(el){
			el.src = el.src.replace(/pic=\d+/,'pic='+id);
		});
	});
	}catch(e){};
}

function openDetail(id)
{
	var name = "pdetail_"+id;
	$$('.productDetail').each(function(el){
		if(el == $(name)) {
			el.myfx.toggle();
		}else {
			el.myfx.slideOut();
		}
	});
}

function hideProductDetail()
{
	$$('.productDetail').each(function(el){
		if(!el.myfx)								
			el.myfx = new Fx.Slide(el);
		el.myfx.hide();
	});
}

// For Print Form
function showProductDetail()
{
	$$('.productDetail').each(function(el){
		if(!el.myfx)								
			el.myfx = new Fx.Slide(el);
		el.myfx.show();
	});
}

function changeDisplayImage(imagecontainer, imagehref, imageid)
{
	$(imagecontainer).src = $(imagecontainer).src.replace(/pic=\d*/, 'pic='+imageid);
	$(imagehref).href = $(imagehref).href.replace(/pic=\d*/, 'pic='+imageid);
}

function internalgoto(idx, force)
{	
	var cur = parseInt($('offset').value);
	var last = $('offset').options[$('offset').options.length-1].value;
	switch(idx) {
			case 'first': 
				idx = 1;
				break;
			case 'previous': 
				idx = cur==1 ? 1 : cur-1;
				break;
			case 'last': 
				idx = last;
				break;
			case 'next': 
				idx = cur==last ? cur :  cur+1;
				break;
			default:
				idx = Math.min(Math.max(idx, 1), last);
	}
	if(cur!=idx || force) {
		if($('offset')) $('offset').value = idx;
		internalloadList();	
	}
}

function internalloadList()
{	
	var query = $('searchform').toQueryString();
	var path = document.location.href.replace(/^.*\/([^\/]+)$/, '$1');	
	path = encodeURI(decodeURI(path));
	var url = document.location.href.replace(/^(.*\/)[^\/]+$/, '$1')+path+'?'+query+'&page='+parseInt($('offset').value);
	
	new ajax(url, {update:'listdiv'}).request();
}

function listgoto(idx, force)
{
	var cur = parseInt($('offset').value);
	var last = $('offset').options[$('offset').options.length-1].value;
	switch(idx) {
			case 'first': 
				idx = 1;
				break;
			case 'previous': 
				idx = cur==1 ? 1 : cur-1;
				break;
			case 'last': 
				idx = last;
				break;
			case 'next': 
				idx = cur==last ? cur :  cur+1;
				break;
			default:
				idx = Math.min(Math.max(idx, 1), last);
	}
	if(cur!=idx || force) {
		if($('offset')) $('offset').value = idx;
		listloadList();	
	}
}

function listloadList()
{
	var query = $('posterlistform').toQueryString();
	var path = document.location.href.replace(/^.*\/([^\/]+)$/, '$1');	
	path = encodeURI(decodeURI(path));
	var url = document.location.href.replace(/^(.*\/)[^\/]+$/, '$1')+path+'?'+query+'&page='+parseInt($('offset').value);
	new ajax(url, {update:'posterlistdiv'}).request();
}
function changeCap(obj)									
{
	var RAND = Math.floor(Math.random()*99999999);
	if(typeof(obj) == 'object' && obj.tagName == 'IMG' && obj.src.match(/captcha\d*\.gif/)){
		obj.src = '../images/blank.gif';
		obj.src = 'captcha'+RAND+'.gif';
		return;
	}
	for(k in document.images)
		try{
			if(document.images[k].src.match(/captcha\d+\.gif/)){
				obj = document.images[k];
				obj.src = '../images/blank.gif';
				obj.src = 'captcha'+RAND+'.gif';
			}
		}catch(e){}
}

function delImage(id)
{
	var conf = confirm('آیا از حذف این فایل اطمینان دارید؟');
	if(!conf) return;
	new ajax('index.php?section='+section+'&module='+module+'&cmd=deleteimg&id='+id).request();
}
function delImges(id)
{
	var conf = confirm('آیا از حذف این فایل اطمینان دارید؟');		
	if(!conf) return;
	new ajax('index.php?section='+section+'&module='+module+'&cmd=deleteimges&galleryid='+id).request();
}
function delImgGrp(id)
{
	var conf = confirm('آیا از حذف این فایل اطمینان دارید؟');
	if(!conf) return;
	new ajax('index.php?section='+section+'&module='+module+'&cmd=deleteImgGroup&id='+id).request();
}

function opacity(Oid, opacStart, opacEnd, millisec, cmd)					
{
	var speed = Math.round(millisec / 100);
	var timer = 0;

	if(typeof(cmd) == "undefined")
		cmd = ";";
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--){
			setTimeout("changeOpac(" + i + ",'" + Oid + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd){
		for(i = opacStart; i <= opacEnd; i++){
			setTimeout("changeOpac(" + i + ",'" + Oid + "')",(timer * speed));
			timer++;
		}
	}
	setTimeout("try{"+cmd+"}catch(e){};",(timer * speed));
}

function changeOpac(opacity, Oid)											
{
	try{
		var object = $(Oid);
	}catch(e){}
	if(typeof(object) != "object")
		return;
	object = object.style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

var wiin = null;
function ajaxfilemanager(field_name, url, type, win) {
	wiin = win;
	switch (type) {
		case "image":
			break;
		case "media":
			break;
		case "flash": 
			break;
		case "file":
			break;
		default:
			return false;
	}
	tinyMCE.activeEditor.windowManager.open({
		url: "../../../../../../global/index.php?section=admin&module=content&cmd=tinymceform&win="+win.id+"&field="+field_name,
		width: 450,
		height: 200,
		inline : "yes",
		close_previous : "no"
	},{
		window : win,
		input : field_name
	});
}

function xtoggleObj(Obj, Cmd)												
{
	if(Obj.indexOf(':') == -1){
		Obj = Obj.split(',');
		for(key in Obj)
			try{
				if(typeof(Obj[key]) == "string")
					Obj[key] = $(Obj[key]);
				if(Obj[key].style.display == "none" || Obj[key].style.visibility == "hidden")
					xMakeVisible(Obj[key]);
				else
					xMakeHidden(Obj[key]);
			} catch(e){}
	}else{
		HideObj		= Obj.substr(0, Obj.indexOf(':')).split(',');
		VisibleObj	= Obj.substr(Obj.indexOf(':')+1).split(',');
		for(key in HideObj)
			try{
				if(typeof(HideObj[key]) == 'string')
					xMakeHidden(HideObj[key]);
			}catch(e){}
		for(key in VisibleObj)
			try{
				if(typeof(VisibleObj[key]) == 'string')
					xMakeVisible(VisibleObj[key]);
			}catch(e){}
	}
	if(typeof(Cmd) != 'undefined')
		try{
			eval(Cmd);
		}catch(e){}
}

function setLoading(obj,size)
{
	if(!$(obj))
		return;
		
	if(typeof(size)=='number')
		height = size+'px';
	else
		height = 'auto';
		
	if(typeof(size)=='undefined' || typeof(size)=='number')
		size = 'large';
		
	var iconHTML = '<img src="../images/loading.gif" width="16" height="16" alt="" border="0" />';
		
	switch(size){
		case 'large':
			loadhtml= '<table border="0" cellpadding="0" cellspacing="0" width="100px" style="height:'+height+'; margin:0 auto;">'+
						  //'<tr><td><br /><br /></td></tr>'+
						  '<tr>'+
							'<td style="border:0px;white-spacing:nowrap">لطفاً صبر کنيد</td>'+
							'<td>'+iconHTML+'</td>'+
						  '</tr>'+
						  //'<tr><td><br /><br /></td></tr>'+
						'</table>';
			break;
			
		case 'oneline':
			loadhtml = iconHTML+'&nbsp;لطفا صبر کنید';
			break;
		
		case 'icon':
			loadhtml = iconHTML;
			break;
	};
	
	$(obj).innerHTML = loadhtml;
}