/* JavaScript Document */
var loading = new Array();

var section = document.location.href.replace(/^.*(&|\?)section=([^&]*).*$/g, '$2');
var module  = document.location.href.replace(/^.*(&|\?)module=([^&]*).*$/g, '$2');
function gotoLink(href)
{
	document.location.href = href;
}
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 localAct(action, obj, id)
{
	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');
			new ajax('index.php?section='+section+'&module='+module+'&cmd=detail&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 changeDisplayImage(imagecontainer, imageid)
{
	$(imagecontainer).src = $(imagecontainer).src.replace(/pic=\d*/, 'pic='+imageid);
}
function previousImageBar() {
	if(CurrentImageBarNumber>1) {
		$('ImageBar'+CurrentImageBarNumber).style.display = 'none';
		CurrentImageBarNumber--;
		$('ImageBar'+CurrentImageBarNumber).style.display = '';
	}
}
function nextImageBar() {
	if($('ImageBar'+(CurrentImageBarNumber+1))) {
		$('ImageBar'+CurrentImageBarNumber).style.display = 'none';
		CurrentImageBarNumber++;
		$('ImageBar'+CurrentImageBarNumber).style.display = '';
	}
}
function checkTextDOM(dom1)
{
	if(dom1.value=="") {
		dom1.className = "RequiredField";
		return false;
	}
	else {
		dom1.className = "";
		return true;
	}
}
function checkFormItem(dom1)
{
	//you must set form onsubmit="checkFormItem(this);"
	//and set onblur items...
	//if need check before send form onblur="checkFormItem(this);"
	//else onblur="" that goal is check this item on onsubmit
	var retflag = true;
	if(dom1.tagName=="FORM") {
		for(i=dom1.elements.length-1;i>=0;i--) {
			try{
				if(dom1.elements[i].onblur!=null) {
					if(dom1.elements[i].id=="xpassword2") {
						if(!checkFormPassword(dom1.elements[i-1], dom1.elements[i])) {
							retflag = false;
							dom1.elements[i].focus();
						}
					} else if(dom1.elements[i].id=="Email") {
						if(!checkEmail(dom1.elements[i])) {
							retflag = false;
							dom1.elements[i].focus();
						}
					} else {
						if(!checkFormItem(dom1.elements[i])) {
							retflag = false;
							dom1.elements[i].focus();
						}
					}
				}
			}catch(e){}
		}
	} else if(dom1.tagName=="INPUT" || dom1.tagName=="TEXTAREA") {
		if(dom1.value=="") {
			dom1.className = "RequiredField";
			retflag = false;
		}
		else {
			dom1.className = "";
		}
	} else if(dom1.tagName=="SELECT") {
		if(dom1.selectedIndex==0) {
			dom1.className = "RequiredField";
			retflag = false;
		}
		else {
			dom1.className = "";
		}
	}
	return retflag;
}
function checkEmail(dom1)
{
	var retflag = true;
	var str = dom1.value;
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1) retflag = false;
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) retflag = false;
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) retflag = false;
	if (str.indexOf(at,(lat+1))!=-1) retflag = false;
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) retflag = false;
	if (str.indexOf(dot,(lat+2))==-1) retflag = false;
	if (str.indexOf(" ")!=-1) retflag = false;
	if(retflag)
		dom1.className = "";
	else
		dom1.className = "RequiredField";
	return retflag;
}

function checkFormPassword(dom1, dom2)
{
	var retflag = true;
	if(checkFormItem(dom2)) {
		if(dom1.value==dom2.value){
			dom2.className = "";
		} else {
			dom2.className = "RequiredField";
			retflag = false;
		}
	} else {
		retflag = false;
	}
	return retflag;
}
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=='checkbox') el.checked = false;
				if(el.type=='hidden' && el.hasClass('reset')) el.value = '';
				if(el.type=='file') el.value = '';
				break;
		}
	}); 
	
	baby.removeClass('hidden');
	
	//baby.getElementsBySelector('.removeroute')[0].addClass('hidden');
	//baby.getElementsBySelector('.delete')[0].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').each(function(elp){
			if(elp.hasClass('addBut')){
				if(cnt<rowscount)
					elp.addClass('invisible');
				else
					elp.removeClass('invisible');
			}else if(elp.hasClass('remBut')){
				if(rowscount<=1)
					elp.addClass('invisible');
				else
					elp.removeClass('invisible');
			}
		});
	});
}
function findParent(obj,className)
{
	if($(obj))
		obj=$(obj);
	else
		return false;
	
	while(!obj.getParent().hasClass(className)){
		obj = obj.getParent();
	}
	
	return obj.getParent();
}