function localAct(action, obj, id, intparam, extraId)
{
	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(!intparam)
				new ajax('index.php?section='+section+'&module='+module+'&cmd=detail&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			else if(intparam == 1)
				new ajax('index.php?section='+section+'&module='+module+'&cmd=sameproductlist&id='+id+'&'+extraId, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			else if(intparam == 2)
				new ajax('index.php?section='+section+'&module='+module+'&cmd=productreview&id='+id, { update:'edit_box', loading:null, onComplete:hideLoading }).request();
			else if(intparam == 3)
				new ajax('index.php?section='+section+'&module='+module+'&cmd=samearticlelist&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){
			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';											 
		});
	}
	
	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 delFile(id)
{
	var conf = confirm('آیا از حذف این فایل اطمینان دارید؟');
	if(!conf) return;
	new ajax('index.php?section='+section+'&module='+module+'&cmd=delfile&id='+id).request();
}

function setSubGroup(obj, data, first)
{	
	obj = $(obj);
	first = first ? first : 0;
	try {
		var src = $$('.group1')[0];
		var des = $$('.group2')[0];
	} catch(e){};
	if(!src || !des || !data) return;
	while(des.options[first]){
		des.options[first] = null;
	};
	data = data[src.value];
	for(el in data){
		des.options[des.options.length] = new Option(data[el], el);					
	};
}
/*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($('offset1').value);
	var last = $('offset1').options[$('offset1').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($('offset1')) $('offset1').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($('offset1').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 = $('listpagingform').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:'listpagingdiv'}).request();
}

function changeCap(obj)									
{
	var RAND = Math.floor(Math.random()*99999999);
	obj.src = '../images/blank.gif';
	obj.style.background = 'url(captcha'+RAND+'.gif)';
	obj.src = 'captcha'+RAND+'.gif';
}

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

function reparationRequest()
{
	popupWin('show', '/global/index.php?section=patronage&module=reparation&cmd=new&', 'fa');
}

function reparationRequestSend()
{
	var values = $('reparationrequestform').toQueryString();
	var url = '/global/index.php';
	var el = null;
	
	var fields = $$('.reparationList INPUT, .reparationList SELECT');
	for(i in fields){
		el = fields[i];
		if(typeof(el)!='object')
			continue;
		if(!el.value){
			alert('لطفا تمامی فیلدها را پر نمائید.');
			el.focus();
			return false;
		}
	}
	
	setLoading('reparationLoad');
	var req = new ajax(url, {update: 'reparationLoad', loading: null, method: 'post'});
	req.send(url, values);
	
}

function reparationRequestDetail(id)
{
	popupWin('show', '/global/index.php?section=patronage&module=reparation&cmd=detail&id='+id+'&', 'fa');
}

function patronageRequest(id)
{
	popupWin('show', '/global/index.php?section=patronage&module=patronage&cmd=new&', 'fa');
}

function patronageRequestSend()
{
	var values = $('patronagerequestform').toQueryString();
	var url = '/global/index.php';
	var el = null;
	
	var fields = $$('.patronageList INPUT, .patronageList SELECT');
	for(i in fields){
		el = fields[i];
		if(typeof(el)!='object')
			continue;
		if(!el.value){
			alert('لطفا تمامی فیلدها را پر نمائید.');
			el.focus();
			return false;
		}
	}
	
	setLoading('patronageLoad');
	var req = new ajax(url, {update: 'patronageLoad', loading: null, method: 'post'});
	req.send(url, values);
}

function productConfirmCheck()
{
	var form = $('listform').toQueryString();
	new ajax('/global/index.php?section='+section+'&module='+module+'&cmd=productcheckconfirm&'+form, {evalScripts:true}).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 + ")";
}
