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])
  		{
			if (!checkInput(tElement[i]))
				return false;
  		}
  	}
  	else
  	{
		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])
	{
			if(arguments[5])
			{
				var zz = (arguments[4]?true:checkForm(arguments[5]))
			}
			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 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("div");

		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);
		   		}
		   	}
	   	}
	}

function checkEnter(ev, focusObj)
{
	activeObj = document.getElementById(focusObj);
	ev = (ev) ? ev : ((window.event) ? event : null);
	if (ev)
	{
		var characterCode;
		characterCode = (ev.charCode) 	? ev.charCode 
										: ((ev.which) ? ev.which : ev.keyCode );
		
		if(characterCode == 13)
		{
			activeObj.focus();
			sendAction('login', false, 1, 'main', false, 'login_form');
		}
	}
}

function checkSearchEnter(ev)
{
	ev = (ev) ? ev : ((window.event) ? event : null);
	if (ev)
	{
		var characterCode;
		characterCode = (ev.charCode) 	? ev.charCode 
										: ((ev.which) ? ev.which : ev.keyCode );
		
		if(characterCode == 13)
		{
			sendAction('set_search', false, 1, 'main', true, 'search');
		}
	}
}

	function addToCart(item_id, item_num)
	{
		var num = document.getElementById(item_num).value;

	    xajax_setPrice(item_id, num);
	}

	function checkSearchField()
	{
		searh_field = document.getElementById('search');
		searh_text = searh_field.value;
		if (searh_text == '')
		{
			alert('Пожалуйста введите текст в поле поиска!');
		}
		else
		{
			if (searh_text.length < 2)
			{
				alert('Длина запроса поиска не должна быть меньше двух символов');
			}
			else
			{
				sendAction('set_search', false, 1, 'main', true, 'search');
			}
		}
	}

	function checkLoginForm()
	{
		login_field = document.getElementById('login_email');
		login_value = login_field.value;

		password_field = document.getElementById('login_psw');
		password_value = password_field.value;

		if (login_value == '')
		{
			alert('Пожалуйста введите Email!');
			return false;
		}

		 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 (!login_value.match(re))
		 {
			alert('Неправильный E-mail. E-mail должен соответствовать шаблону __@__.__.');
			return false;
		 }

		if (password_value == '')
		{
			alert('Пожалуйста введите пароль!');
			return false;
		}

		sendAction('login', false, 1, 'main', false, 'login_form');
	}


	function checkReferenceForm()
	{
		name_field = document.getElementById('author_name');
		name_value = name_field.value;

		email_field = document.getElementById('author_email');
		email_value = email_field.value;

		body_field = document.getElementById('body');
		body_value = body_field.value;

		if (name_value == '')
		{
			alert('Пожалуйста введите имя!');
			return false;
		}

		if (name_value.length > 20)
		{
			alert('Имя может содержать не более 20 символов!');
			return false;
		}

		if (email_value == '')
		{
			alert('Пожалуйста введите E-mail!');
			return false;
		}

		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 (!email_value.match(re))
		{
			alert('Неправильный E-mail. E-mail должен соответствовать шаблону __@__.__.');
			return false;
		}

		if (body_value == '')
		{
			alert('Пожалуйста введите Ваш комментарий');
			return false;
		}

		sendAction('add_reference', false, 1, 'catalog', false);
	}

	function changeThumbMedium(folder,pic_id,item_id)
	{
		document.getElementById('item_pic').src='/images/'+folder+'/resized/225/225/FFFFFF/'+pic_id+'.jpg';
	}

// -- /////////////////////////////////////////////////////
	function over(nn,tp)
	{
	 var el=document.getElementById("m"+nn);
	 if(tp)
	            el.className="menu_up_a";
	 else
	           el.className="menu_up";
	}
	function over_im(nn,tp)
	{
	 var el=document.getElementById("i"+nn);
	 if(tp)
	            el.src="/images/li_a.gif";
	 else
	           el.src="/images/li.gif";
	}
	function over_tv(nn,tp)
	{
	 var el=document.getElementById("t"+nn);
	 if(tp)
	            el.src="/images/point_a.gif";
	 else
	           el.src="/images/point.gif";
	}
// -- /////////////////////////////////////////////////////

	function showOriginalPic(item_id, item_name, pic_id, pic_width, pic_height)
	{
		pic_height += 120;
		pic_width += 100;

		window.open("/production/pic_"+item_id+"_"+pic_id+".html","PCMarket :: "+item_name,"width="+pic_width+", height="+pic_height+", top=100, left=100, resizable='no', menubar='no', toolbar='no'");
	}

	function changeOriginalPic(pic_path, pic_width, pic_height, pic_id, pic_num)
	{
		pic_height = pic_height + 170;
		pic_width += 100;
		document.getElementById("item_pic_orig").src = pic_path;

		window.resizeTo(pic_width, pic_height);

		for (var i=1; i<=pic_num; i++)
		{
			if ( i == pic_id )
			{
				document.getElementById("link_"+i).className = "active_image_link";
			}
			else
			{
				document.getElementById("link_"+i).className = "non_active_image_link";
			}
		}
	}
