var oldFormSubmit;


function MM_swapImgRestore()
{ //v2.0
 if (document.MM_swapImgData != null)
  for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
   document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}

function MM_preloadImages()
{ //v2.0
 if (document.images)
 {
  var imgFiles = MM_preloadImages.arguments;
  if (document.preloadArray==null)
   document.preloadArray = new Array();
  var i = document.preloadArray.length;
  with (document)
   for (var j=0; j<imgFiles.length; j++)
    if (imgFiles[j].charAt(0)!="#")
    {
     preloadArray[i] = new Image;
     preloadArray[i++].src = imgFiles[j];
    } 
 }
}

function MM_swapImage() { //v2.0
 var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
 for (i=0; i < (MM_swapImage.arguments.length-2); i+=3)
 {
  objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
  if ((objStr.indexOf('document.layers[')==0 && document.layers==null) || (objStr.indexOf('document.all[')==0 && document.all==null))
   objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
  obj = eval(objStr);
  if (obj != null)
  {
   swapArray[j++] = obj;
   swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
   obj.src = MM_swapImage.arguments[i+2];
  }
 }
 document.MM_swapImgData = swapArray; //used for restore
}

function isEMailAddr(elem) {
 var str = elem.value;
 var re = /^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-wyz][a-z](g|l|m|pa|t|u|v)?$/;
 if (!str.match(re)) {
  alert(elem.getAttribute('email_error'));
       return false;
 } else {
  return true;
 }
}

function checkInput(inputElement)
{
   if ((inputElement.getAttribute('required') != null) && (inputElement.getAttribute('required') != '') && (inputElement.value == ''))
   {
    alert(inputElement.getAttribute('required'));
    inputElement.focus();
    return false;
   }
   if ((inputElement.getAttribute('required') != null) && (inputElement.getAttribute('required') != '') && (inputElement.type == 'checkbox') && !inputElement.checked)
   {
    alert(inputElement.getAttribute('required'));
    inputElement.focus();
    return false;
   }
  if ((inputElement.getAttribute('equal') != null) && (inputElement.getAttribute('equal') != ''))
   {
    var t = inputElement.getAttribute('equal');
    eval("var tt = document.forms.mainform." + t);
    if ((tt != null) && (tt.value != inputElement.value))
    {
     alert(inputElement.getAttribute('equaltext'));
     tt.focus();
     return false;
    }
      }
   if ((inputElement.getAttribute('minlength') != null) && (inputElement.getAttribute('minlength') != '') && (inputElement.value.length < inputElement.getAttribute('minlength')))
   {
    alert(inputElement.getAttribute('mintext'));
    inputElement.focus();
    return false;
   }
   if((inputElement.getAttribute('email_error') != null))
   {
   		return isEMailAddr(inputElement);
   }
    return true;
}


function checkForm()
{
 var Form = document.getElementsByName("mainform");
 if (Form != null)
 {
//  var tElement = document.body.getElementsByTagName("INPUT");
//  for (var i=0; i<tElement.length; i++)
//  {
//  	if(arguments[0])
//  	{
//  		if(tElement[i].getAttribute('form_part') == arguments[0])
//  		{
//  			alert("name: "+tElement[i].getAttribute('name')+ " - " + tElement[i].getAttribute('form_part') + " == " + arguments[0]+": CHECK FORM");
//  
//   if ((tElement[i].getAttribute('required') != null) && (tElement[i].getAttribute('required') != '') && (tElement[i].value == ''))
//   {
//    alert(tElement[i].getAttribute('required'));
//    tElement[i].focus();
//    return false;
//   }
//   if ((tElement[i].getAttribute('required') != null) && (tElement[i].getAttribute('required') != '') && (tElement[i].type == 'checkbox') && !tElement[i].checked)
//   {
//    alert(tElement[i].getAttribute('required'));
//    tElement[i].focus();
//    return false;
//   }
//   if ((tElement[i].getAttribute('equal') != null) && (tElement[i].getAttribute('equal') != ''))
//   {
//    var t = tElement[i].getAttribute('equal');
//    eval("var tt = document.forms.mainform." + t);
//    if ((tt != null) && (tt.value != tElement[i].value))
//    {
//     alert(tElement[i].getAttribute('equaltext'));
//     tt.focus();
//     return false;
//    }
//   }
//   if((tElement[i].getAttribute('email_error') != null))
//   {
//   		if(!isEMailAddr(tElement[i]))
//   			return false;
//   }   
//   if ((tElement[i].getAttribute('minlength') != null) && (tElement[i].getAttribute('minlength') != '') && (tElement[i].value.length < tElement[i].getAttribute('minlength')))
//   {
//    alert(tElement[i].getAttribute('mintext'));
//    tElement[i].focus();
//    return false;
//   }
///*   if ((tElement[i].getAttribute('maxvalue') != null) && (tElement[i].getAttribute('maxvalue') != '') && (tElement[i].value+1 > tElement[i].getAttribute('maxvalue')+1))
//   {
//    alert(tElement[i].getAttribute('maxvaluetext'));
//    tElement[i].focus();
//    return false;
//   }*/
//  }
//  alert(arguments[0]);
  
  var tElement = document.body.getElementsByTagName("INPUT");
  
  for (var i=0; i<tElement.length; i++)
  {
  	if(arguments[0])
  	{
  		if(tElement[i].getAttribute('form_part') == arguments[0])
  		{
//  			alert("name: "+tElement[i].getAttribute('name')+ " - " + tElement[i].getAttribute('form_part') + " == " + arguments[0]+": CHECK FORM");
			if (!checkInput(tElement[i]))
				return false;
  		}
  	}
  	else
  	{
//  		alert('arguments[5] is absent'+"name: "+tElement[i].getAttribute('name'));
		if (!checkInput(tElement[i]))
			return false;
    }
  }

  tElement = document.body.getElementsByTagName("SELECT");
  for (var i=0; i<tElement.length; i++)
  {
   if ((tElement[i].getAttribute('required') != null) && (tElement[i].getAttribute('required') != '') && (tElement[i].value == ''))
   {
    alert(tElement[i].getAttribute('required'));
    tElement[i].focus();
    return false;
   }
  }
  return true;
 }
 else
 {
  return fasle;
 }
}

function sendAction()
// arguments[0] - Action
// arguments[1] - if == true  - send action to dynamicIFrme, else send and reload page
// arguments[3] - name of module of action
{
	if (arguments[0])
	{
//		alert(arguments[5]);
			if(arguments[5])
			{
				var zz = (arguments[4]?true:checkForm(arguments[5]))
//				alert(zz);
			}
			else
			{
				var zz = (arguments[4]?true:checkForm())
			}
			if (zz)
			{		
				var mainForm = document.getElementById("mainform");
				mainForm.action.value = arguments[0];
				if (arguments[3])
					mainForm.module.value = arguments[3];
				if (arguments[1])
					mainForm.target = 'dynamicIFrame';
				else
					mainForm.target = '_self';
				if (arguments[2])
				{
					var tt = document.getElementById('actionvalue');
					tt.value = arguments[2];
				}
				mainForm.submit();
			}
	}
}

function open_pic(name)
{
 window.open('/openimage.php?img=' + name + '&loaded=0', 'pre_image', 'toolbar=0,menubar=0,personalbar=0,scrollbars=0,status=0,location=0,resizable=0,width=200,height=50');
}


function MM_jumpMenu(targ,selObj,restore){ //v3.0
  if (selObj.selectedIndex > 1){
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
  }
}

function isEMailAddr(elem) {
 var str = elem.value;
 var re = /^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-wyz][a-z](g|l|m|pa|t|u|v)?$/;
 if (!str.match(re)) {
  alert(elem.getAttribute('email_error'));
       return false;
 } else {
  return true;
 }
}

//function isEMailAddr(elem) {
// var str = elem.value;
// var re = /^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-wyz][a-z](g|l|m|pa|t|u|v)?$/;
// if (!str.match(re)) {
//  alert("Email is invalid.");
//       return false;
// } else {
//  return true;
// }
//}

function validate(form) {
 if (!isEMailAddr(form.email)) {
  form.email.focus();
  return false;
 }
 return true;
}

function upload_file()
{
 alert('1');
}

static_require_text = '';
function show_postal_code(el, target_name)
{

 target_el = document.getElementById(target_name);
 zip_el = document.getElementById('zip');
 if (static_require_text == '')
  static_require_text = zip_el.getAttribute('required');

 if (el.value == 1)
 {
  target_el.style.display = '';
  zip_el.setAttribute('required', static_require_text);
 }
 else 
 {
  target_el.style.display = 'none';
  zip_el.setAttribute('required', null);
 }
}

function show_hide(id)
{
 el = document.getElementById(id);
 if (el.style.display == 'none')
  el.style.display = '';
 else
  el.style.display = 'none';
 
}


function replaceFormSubmit()
{
/* var tt = document.getElementsByTagName('FORM');

 for (var i=0; i<tt.length; i++)
 {
  var curEl = tt[i];

  if (curEl.getAttribute('dynamic') == '1')
   curEl.target='dynamicIFrame';
 }*/
}

function myCheckForm(action)
{
 if (checkForm())
 {
  mainform.setAttribute('target', '_self');
  el = document.getElementById('action');
  el.value = action;
  mainform.submit();
 }
}


function checkIFrame()
{
// var evnt=(!e)?window.event.srcElement:e.target;
// alert(arguments.length);
// alert(this.keyCode);
}

function sendXAction() 
{
 //arguments[0] - action
 //other arguments - parameters, ex. sendXAction('update', 'id', 5);
 //         sendXAction('update', 'id', 5, 'pid', 10);
 el = document.getElementById('xForm');
 if (el)
 {
  document.body.removeChild(el);
 }

 var xForm = document.createElement('FORM');
 var elemAction = document.createElement('INPUT');

 xForm.id = 'xForm';

 elemAction.setAttribute('type', 'hidden');
 elemAction.setAttribute('name', 'action');
 elemAction.setAttribute('value', arguments[0]);
 xForm.appendChild(elemAction);
 
 var Form = document.getElementById("mainform");
 var elemModule = document.createElement('INPUT');
 elemModule.setAttribute('name', 'module');
 elemModule.setAttribute('type', 'hidden');
 elemModule.setAttribute('value', Form.module.value);
 xForm.appendChild(elemModule);


 for (var i=1; i<arguments.length; i+=2)
 {
  var elem = document.createElement('INPUT');
  elem.setAttribute('name', arguments[i]);
  elem.setAttribute('type', 'hidden');
  try{elem.setAttribute('value', arguments[i+1]); }catch(e){};
  xForm.appendChild(elem);
 }
 xForm.setAttribute('method', 'post');
 xForm.target = 'dynamicIFrame';

 document.body.appendChild(xForm);

 xForm.submit();
}

function sendJAction() 
{
 //arguments[0] - action
 //arguments[1] - module, if empty - current module
 //other arguments - parameters, ex. sendJAction('update', 'user', 'id', 5);
 //         sendJAction('update', '', 'id', 5, 'pid', 10);
 el = document.getElementById('xForm');
 if (el)
 {
  document.body.removeChild(el);
 }

 var xForm = document.createElement('FORM');
 var elemAction = document.createElement('INPUT');

 xForm.id = 'xForm';

 elemAction.setAttribute('type', 'hidden');
 elemAction.setAttribute('name', 'action');
 elemAction.setAttribute('value', arguments[0]);
 xForm.appendChild(elemAction);
 
 var Form = document.getElementById("mainform");
 var elemModule = document.createElement('INPUT');
 elemModule.setAttribute('name', 'module');
 elemModule.setAttribute('type', 'hidden');
 if (arguments[1])
  elemModule.setAttribute('value', arguments[1]);
 else 
  elemModule.setAttribute('value', Form.module.value);
 xForm.appendChild(elemModule);


 for (var i=2; i<arguments.length; i+=2)
 {
  var elem = document.createElement('INPUT');
  elem.setAttribute('name', arguments[i]);
  elem.setAttribute('type', 'hidden');
  try{elem.setAttribute('value', arguments[i+1]); }catch(e){};
  xForm.appendChild(elem);
 }
 xForm.setAttribute('method', 'post');
 xForm.target = '_self';

 document.body.appendChild(xForm);

 xForm.submit();
}

//function getCookie(name) {
// var prefix = name + "="
// var cookieStartIndex = document.cookie.indexOf
// (prefix)
// if (cookieStartIndex == -1)
//  return null
// var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
// if (cookieEndIndex == -1)
//  cookieEndIndex = document.cookie.length
// return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
//}
//
//
//function deleteCookie(name, path, domain) {
// if (getCookie(name)) {
//  document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"
// }
//}

	function setCookie(name, value, expires, path, domain, secure) 
	{

	   var curCookie = name + "=" + escape(value) + ((expires!=null) ? "; expires=" +
	   expdate.toGMTString() : "")+"; path=/";

	   document.cookie = curCookie;
	}
	
	
	function getCookie(name)
	{
	  var aCookie = document.cookie.split("; ");
	  for (var i=0; i < aCookie.length; i++)
	  {
	    var aCrumb = aCookie[i].split("=");
	    if (name == aCrumb[0]) 
	      return unescape(aCrumb[1]);
	  }
	
	  return null;
	}
	
//	
//	function deleteCookie(name, path, domain) {
//	 if (getCookie(name)) {
//	  document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"
//	 }
//	}
	
	function changeTreeState(el)
	{
//		alert('changeTreeState');
	   	var elem = document.getElementById(el);
	   	if(treeState = getCookie('treeState_'+el))
	   	{
	   		if(treeState == 2)
	   		{
//				alert(el+' should close');
	   			setCookie('treeState_'+el, 1);
	   			elem.style.display = 'none';
	   		}
	   		else
	   		{
//				alert(el+' should open');
	   			setCookie('treeState_'+el, 2);
	   			elem.style.display = '';
	   		}
	   	}
	   	else
   		{
//			alert(el+' should open');
   			setCookie('treeState_'+el, 2);
   			elem.style.display = '';
   		}
//	   	alert('changeTreeState: treeState_'+el+' = '+getCookie('treeState_'+el));
	}

	function openTree(el)
	{
	   	var elem = document.getElementById(el);

		setCookie('treeState_main_tree', 2);
		document.getElementById('main_tree').style.display = '';
	   	
		setCookie('treeState_'+el, 2);
		elem.style.display = '';
	}

	function getTreeState()
	{
//		alert('getTreeState()');
		var menu_levels = document.getElementsByTagName("tr");

		for(i=0; i<menu_levels.length; i++)
		{
			if (menu_levels[i].getAttribute('elem_type') != null)
			{
			   	var elem = document.getElementById(menu_levels[i].getAttribute('id'));
			   	var id = elem.getAttribute('id');
			   	
			   	if(treeState = getCookie('treeState_'+id))
			   	{
//			   		alert('getTreeState: treeState_'+id+' = '+treeState);
					if(treeState == 2)
						elem.style.display = '';
					else
						elem.style.display = 'none';			   	
			   	}
			   	else
		   		{
					elem.style.display = 'none';
//					setCookie('treeState_'+id, 1);
		   		}
		   	}
	   	}
	}
	