/* JavaScript Document */
var loading = new Array();

var section = document.location.href.replace(/^.*(&|\?)section=([^&]*).*$/g, '$2');
var module  = document.location.href.replace(/^.*(&|\?)module=([^&]*).*$/g, '$2');


Object.toQueryString = function(source){
	var queryString = [];
	for (var property in source) if(source[property]!='') queryString.push(encodeURIComponent(property)+'='+encodeURIComponent(source[property]));
	return queryString.join('&');
};

//loading.push('addStandardClass()');
function addStandardClass(parent)
{
	parent = parent ? parent+' ' : '';
	var list = $$(parent+'input');
	for(var i=0; i<list.length; i++) {
		var input = list[i];
		var type = input.getProperty('type') ? input.getProperty('type') : 'text';
		input.addClass('input_'+type);	
	}
}

function goto(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($('searchform')) $('searchform').reset();
		if($('offset')) $('offset').value = idx;
		loadList();	
	}
}

function loadList()
{
	var query1 = $('searchform') ? '&'+$('searchform').toQueryString() : '';
	var query2 = $('sortform')   ? '&'+$('sortform').toQueryString()   : '';
	var query3 = $('listform')   ? '&'+$('listform').toQueryString()   : '';
	var url = document.location.href.replace(/&cmd=[^&]*/, '').replace(/#.*/, '')+'&cmd=list'+query1+query2+query3;
	new ajax(url, {update:'listdiv'}).request();
}

function saveToCookie(obj)
{
	var name = $pick($(obj).getProperty('id'), $(obj).getProperty('name'));
	var path = section + '/' + module + '/' + name;
	Cookie.set(encodeURI(path), $(obj).value, {});
}

function printTo(port, content)
{
	switch(port) {
		case 'prn':
			$each($(document.body).getChildren(), function(el){el.addClass('hidden');});
			printdiv = $(content).clone();
			printdiv.setStyles({
								height: Window.getSize().size.y+'px',
								background: '#FFFFFF',
								margin: '0',
								padding: '0'
						 		});
			printdiv.injectInside(document.body);
			printdiv.id="printdiv";
			var tdiv = new Element('div');
			tdiv.id = 'tdiv';			
			$each($$('#printdiv .noprint'), function(el){
				el.remove();
			});	
			
			$each($$('#printdiv .title'), function(el){
				el.setStyle('margin', '0 0 10px 0');
			});
			
			tdiv.setHTML('<div style="margin:20px; " class="noprint"><input type="button" value="Return" onclick="printTo(\'return\')"></div>');
			tdiv.injectBefore(printdiv.getFirst());
			setTimeout('window.print()', 10);
			break;	

		case 'return':
			$each(document.body.getChildren(), function(el){el.removeClass('hidden');});
			printdiv.remove();
			break;
	}
}

function openNewWindow(url, w, h)
{
	w = (w==null) ? 600 : w;
	h = (h==null) ? 450 : h;
	var target = url.test(/^index\.php.*/i) ? 'popup' : '_blank';
	var aWindow = makePopup(url, target, w, h, 'yes', 'yes');
}

function makePopup(pageURL, pageName, w, h, pageScroll, pageCenter)
{
	if(pageCenter == 'no')	{
		LeftPosition = 10;
		TopPosition = 10;
	} else {
		LeftPosition = (screen.width) ? (screen.width-w) / 2 : 0;
		TopPosition = (screen.height) ? (screen.height-h) / 2 : 0;
	}

	var pageConfig = 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=' + pageScroll + ', resizable=yes, width=' + (w + 18) + ', height=' + (h + 18) + ', left=' + LeftPosition + ', top=' + TopPosition;
	var popup = window.open(pageURL.replace(/&popup=[^&]*/,'')+'&popup=1', pageName, pageConfig);
	popup.focus();
	return popup;
}

function findID(obj)
{	
	if(obj = $(obj)) {
		alert(obj);
		while(obj = obj.getParent()) {
			if(obj.id) {
				var id =  parseInt(obj.id.replace(/^list_row_(\d)+$/ig, '$1'));
				if(id){				
					return id;
				}
			}
		}
	}
	return false;
}

function hideLoading()
{
	$('loading').addClass('hidden');	
}

function doDelete(obj, id)
{
	var id = id ? id : findID(obj);
	new ajax('index.php?section='+section+'&module='+module+'&cmd=delete&id='+id, { onComplete:loadList }).request();
}

function doEdit(obj, id, lang)
{
	if( typeof(a_window) != 'undefined') a_close(a_window, 'edit_box');
	var cmd = id ? 'edit' : 'new';
	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='+cmd+'&id='+id+'&lang='+lang , { update:'edit_box', loading:null, onComplete:hideLoading }).request();
}

function doPopupEdit(obj, id, lang)
{
	var cmd = id ? 'edit' : 'new';
	var id = id ? id : findID(obj);
	openNewWindow('index.php?section='+section+'&module='+module+'&cmd='+cmd+'&id='+id+'&lang='+lang);
}

function doSubmit(frm, iframe)
{
	if($('a_submit').value == 'Saving...') return false;
	
	var oDoc = $('myframe').contentWindow || $('myframe').contentDocument;
	if (oDoc.document) {
		oDoc = oDoc.document;
	}
	oDoc.body.innerHTML = '';
	doSubmit.submitOK = function(res){
		var script, regexp = /<script[^>]*>([\s\S]*?)<\/script>/gi;
		while ((script = regexp.exec(res))) eval(script[1]);
		if(res.indexOf('[[error]]')>-1) {
			alert('Error in saving.');
			$('a_submit').value = $('a_submit').pre_value;
		} else if(res.indexOf('[[fault]]')>-1) {// error with php message
			$('a_submit').value = $('a_submit').pre_value;	
		} else {	
			a_close('edit_box');	
			loadList();	
		}
	};
	
	doSubmit.check = function(){
		var oDoc = $('myframe').contentWindow || $('myframe').contentDocument;
		if (oDoc.document) {
			oDoc = oDoc.document;
		}
		var txt = oDoc.body ? oDoc.body.innerHTML : '';
		if(txt!='' && txt!='false') {
			doSubmit.submitOK(txt);	
			//doSubmit.myframe.remove();
		} else {
			doSubmit.check.delay(500);
		}
	};
	
	if(iframe) {
		doSubmit.check.delay(500);
	} else {
		var a = new ajax(null, { evalScripts:true, onComplete:this.submitOK, method:'post' });
		a.setHeader('Content-type', 'multipart/form-data; charset=utf8');
		a.send('index.php', $('adminform').toQueryString());
	}
	$('a_submit').pre_value = $('a_submit').value;
	$('a_submit').value = 'Saving...';
	return iframe;
}

function doDeleteImage(dir, id)
{
	doDeleteImage.removeImage = function()
	{
		$('imageBox') && $('imageBox').remove();
	}
	new ajax('index.php?section='+section+'&module='+module+'&cmd=deleteimage&id='+id, {onComplete:doDeleteImage.removeImage, update:'imageBox'}).request();
}

function a_close(obj, newid)
{
	$(obj).setHTML('');
	if(newid) $(obj).id = newid;
}

function a_minimize(sender, obj)
{
	$(obj).t_height = $(obj).getSize().size.y;
	
	var style = {
					height: '23px',
					overflow: 'hidden' 
				};				
	$(obj).setStyles(style);
	$(sender).addClass('hidden');
	$(sender).getNext().removeClass('hidden');
}

function a_restore(sender, obj)
{
	var style = {
					height: $(obj).t_height,
					overflow: 'visible' 
				};
	$(obj).setStyles(style);
	sender.addClass('hidden');
	sender.getPrevious().removeClass('hidden');
}

function setGroupName(selobj, inpobj, imgobj, group)
{
	if($(selobj)) {
		$(inpobj).value=$(selobj).options[$(selobj).selectedIndex].text;	
		$(imgobj).src = 'showpic.php??mw=64&mh=64&dir='+group+'&pic='+$(selobj).value;
	}
}

function doNewGroup(rowobj, cmdobj, txtobj)
{
	$(cmdobj).value = 'insert';
	$(rowobj).remove();
	$(txtobj).value='';
}

function doDeleteGroup(cmdobj)
{
	if(confirm('Do you want to delete this group?')) {
		$(cmdobj).value = 'delete';
		$(cmdobj).form.submit();
	}
}

function addRecord(sender, obj)
{
	obj = $(obj);
	var clone = obj.clone();
	clone.injectBefore($(sender));
	clone.id = 'temp_cloned';
	$$('#temp_cloned INPUT, #temp_cloned SELECT, #temp_cloned TEXTAREA').each(function(el){
		el.name = el.name.replace(/^~/, '');
	});
	clone.id = null;
	clone.removeClass('hidden');
}
function openDetail(img,id)
{
	img =$(img);
	if($$('.cerClick')) 
		$$('.cerClick').removeClass('cerClick');
		
	img.getElement('.th_table').addClass('cerClick');
	
	var name = "cdetail_"+id;
	$$('.cerDetail').each(function(el){
		if(el == $(name)) {
			el.myfx.toggle();
		}else {
			el.myfx.slideOut();			
		}
	});
}
function hideBusinessDetail()
{
	$$('.cerDetail').each(function(el){
		if(!el.myfx)								
			el.myfx = new Fx.Slide(el);
		el.myfx.hide();
	});
}
