function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

    function priv() {    var dt = new Date();    var nt = dt.getHours();    var hs = '';   
        if ( nt>=0 && nt<6 )  hs="Доброй ночи!";   
        if ( nt>=6 && nt<11 )  hs="Доброе утро!";   
        if ( nt>=11 && nt<18 )  hs="Добрый день!";  
        if ( nt>=18 )  hs="Добрый вечер!";   return hs;   }
   function dat() {
   var k = '';
   var Day = '';
   var Month = '';
   var now = new Date();
   var pr = now.getYear();
   var yr = 2000;
   var mName = now.getMonth() + 1;
   var dName = now.getDay() + 1;
   var dayNr = ((now.getDate()<10) ? "0" : "")
   + now.getDate();
   pr = (pr % 100);
   if(pr==3) k="2003";
   if(pr==4) k="2004";
   if(pr==5) k="2005";
   if(pr==6) k="2006";
   if(pr==7) k="2007";
   if(pr==8) k="2008";
   if(pr==9) k="2009";
   if(pr==10) k="2010";
   if(pr==11) k="2011";
   if(pr==12) k="2012";
   if(pr==13) k="2013";
   if(pr==14) k="2014";
   if(dName==1) Day = "Воскресенье";
   if(dName==2) Day = "Понедельник";
   if(dName==3) Day = "Вторник";
   if(dName==4) Day = "Среда";
   if(dName==5) Day = "Четверг";
   if(dName==6) Day = "Пятница";
   if(dName==7) Day = "Суббота";
   if(mName==1) Month="января";
   if(mName==2) Month="февраля";
   if(mName==3) Month="марта";
   if(mName==4) Month="апреля";
   if(mName==5) Month="мая";
   if(mName==6) Month="июня";
   if(mName==7) Month="июля";
   if(mName==8) Month="августа";
   if(mName==9) Month="сентября";
   if(mName==10) Month="октября";
   if(mName==11) Month="ноября";
   if(mName==12) Month="декабря";
   var nnn =(Day+", "+dayNr+" "+Month+" " + k);
   document.open();
   return nnn;
   }
   function ALZ(s) {
   return (s<10?"0":"")+s.toString();
   }
   function C2UT(s) {
   d=new Date(s);
   return ALZ(d.getDate())+"."+ALZ(d.getMonth()+1)+"."+d.getFullYear()+"    "
   +ALZ(d.getHours())+":"+ALZ(d.getMinutes());
   }



function inputCustomInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('address','city','zip_code','ph01','ph02','ph03');
   var error_array = new Array('an Address','a city','a valid zip code','a valid phone number',
      'a valid phone number','a valid phone number'
   );

   if (frm.elements['get_first_name'].value.length == 0) {
      alert('Please enter your first name');
      frm.elements['get_first_name'].focus();
      return false;
   }

   if (frm.elements['get_last_name'].value.length == 0) {
      alert('Please enter your last name');
      frm.elements['get_last_name'].focus();
      return false;
   }

   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_email'].focus();
      return false;
   }

   if (frm.elements['get_password_1'].value.length == 0) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus();
      return false;
   }

   if (frm.elements['get_password_2'].value.length == 0) {
      alert('Please confirm Password.');
      frm.elements['get_password_2'].focus();
      return false;
   }

   if (frm.elements['get_password_1'].value != frm.elements['get_password_2'].value) {
      alert('Your password confirmation does not match the original password');
      frm.elements['get_password_2'].focus();
      return false;
   }

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }

   if (frm.elements['get_zip_code'].value) {
      myreg = new RegExp("^\\d{5}$");
      res = myreg.test(frm.elements['get_zip_code'].value);
      if (!res) {
         alert('Please enter a valid zip code');
         frm.elements['get_zip_code'].focus(); 
         return false;
      }
   }

   if (frm.elements['get_ph01'].value) {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph01'].value);
      if (frm.elements['get_ph01'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph01'].focus(); 
         return false;
      }
   }

   if (frm.elements['get_ph02'].value)  {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph02'].value);
      if (frm.elements['get_ph02'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph02'].focus(); 
         return false;
      }
   }
 
   if (frm.elements['get_ph03'].value)  {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph03'].value);
      if (frm.elements['get_ph03'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph03'].focus(); 
         return false;
      }
   }

   if (!frm.get_terms.checked) {
      alert('Please read Terms of Service before proceed');
      frm.get_terms.focus();
      return false;
   }
  
   return true;
}

function inputCustomInfo2(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('address','city','zip_code','ph01','ph02','ph03');
   var error_array = new Array('an Address','a city','a valid zip code','a valid phone number',
      'a valid phone number','a valid phone number'
   );

   if (frm.elements['get_first_name'].value.length == 0) {
      alert('Please enter your first name');
      frm.elements['get_first_name'].focus();
      return false;
   }

   if (frm.elements['get_last_name'].value.length == 0) {
      alert('Please enter your last name');
      frm.elements['get_last_name'].focus();
      return false;
   }

   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_email'].focus();
      return false;
   }

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }

   if (frm.elements['get_zip_code'].value) {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_zip_code'].value);
      if (frm.elements['get_zip_code'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid zip code');
         frm.elements['get_zip_code'].focus(); 
         return false;
      }
   }

   if (frm.elements['get_ph01'].value) {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph01'].value);
      if (frm.elements['get_ph01'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph01'].focus(); 
         return false;
      }
   }

   if (frm.elements['get_ph02'].value)  {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph02'].value);
      if (frm.elements['get_ph02'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph02'].focus(); 
         return false;
      }
   }
 
   if (frm.elements['get_ph03'].value)  {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph03'].value);
      if (frm.elements['get_ph03'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph03'].focus(); 
         return false;
      }
   }
  
   return true;
}

function inputVendorInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('address','city','zip_code','ph01','ph02','ph03');
   var error_array = new Array('an Address','a city','a valid zip code','a valid phone number',
      'a valid phone number','a valid phone number'
   );

   if (frm.elements['get_first_name'].value.length == 0) {
      alert("Please enter Vendor's first name");
      frm.elements['get_first_name'].focus();
      return false;
   }

   if (frm.elements['get_last_name'].value.length == 0) {
      alert("Please enter Vendor's last name");
      frm.elements['get_last_name'].focus();
      return false;
   }

   if (!(validEmail(frm.elements['get_email'].value))) { 
      alert('Please enter a valid email address in the form of email@host.tag.');
      frm.elements['get_email'].focus();
      return false;
   }

   for (var i=0; i<input_array.length; i++) {
      var source = prefix0+input_array[i];          
      if (frm.elements[source].value.length == 0) {
         alert('Please enter '+error_array[i]);
         frm.elements[source].focus();
         return false;
      }
   }

   if (frm.elements['get_zip_code'].value) {
      myreg = new RegExp("^\\d{5}$");
      res = myreg.test(frm.elements['get_zip_code'].value);
      if (!res) {
         alert('Please enter a valid zip code');
         frm.elements['get_zip_code'].focus(); 
         return false;
      }
   }

   if (frm.elements['get_ph01'].value) {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph01'].value);
      if (frm.elements['get_ph01'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph01'].focus(); 
         return false;
      }
   }

   if (frm.elements['get_ph02'].value)  {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph02'].value);
      if (frm.elements['get_ph02'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph02'].focus(); 
         return false;
      }
   }
 
   if (frm.elements['get_ph03'].value)  {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_ph03'].value);
      if (frm.elements['get_ph03'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid phone number');
         frm.elements['get_ph03'].focus(); 
         return false;
      }
   }
  
   return true;
}

function validEmail(email) {
  invalidChars = " /:,;";
  if (email == "") {
    return false;
  }
  for (i=0; i<invalidChars.length;i++) {
    badChar = invalidChars.charAt(i);
    if (email.indexOf(badChar,0) > -1) {
      return false;
    }
  }
  atPos = email.indexOf("@",1);
  if (atPos == -1) {
    return false;
  }
  if (email.indexOf("@",atPos+1) > -1) {
    return false;
  }
  periodPos = email.indexOf(".",atPos);
  if (periodPos == -1) {
    return false;
  }
  if (periodPos+3 > email.length) {
    return false;
  }
  return true;
}

function changePswd(frm) {
   if (frm.elements['get_password_1'].value.length == 0) {
      alert('Please enter a password 6-10 characters long using only letters or numbers.');
      frm.elements['get_password_1'].focus();
      return false;
   }

   if (frm.elements['get_password_2'].value.length == 0) {
      alert('Please enter a Re-Password.');
      frm.elements['get_password_2'].focus();
      return false;
   }

   if (frm.elements['get_password_1'].value != frm.elements['get_password_2'].value) {
      alert('Your password confirmation does not match the original password');
      frm.elements['get_password_2'].focus();
      return false;
   }

   return true;
}

function check_basket_quantity(frm) {
   var i;
   var sum;
   for (i=0; i < frm.elements.length; i++) {
      if (frm.elements[i].type == "text") {
         if ((frm.elements[i].value.length == 0) || (frm.elements[i].value == 0)) {
            alert('Quantity should be greater than 0');
            frm.elements[i].focus(); 
            return false;  
         } 
         myreg = new RegExp("^\\d+$");
         res = myreg.test(frm.elements[i].value);
         if (!res) {
            alert('Quantity should be digit');
            frm.elements[i].focus(); 
            return false;
         }
       
      }
   }
   return true;
}

function useCustomInfo2(chck, frm, prefix, prefix2) {
   var prefix0 = 'get_';
   var input_array = new Array('firstname','lastname','email','address','city','zip_code','ph01','ph02','ph03','ph04');
   var select_array = new Array('ref_country', 'ref_state');

   if (chck.checked) {
      for (var i=0; i<input_array.length; i++) {
         var source = prefix0+prefix+input_array[i];
         var destin = prefix0+prefix2+input_array[i];
         frm.elements[destin].value = frm.elements[source].value;
      }

      for (var i=0; i<select_array.length; i++) {
         var source = prefix0+prefix+select_array[i];
         var destin = prefix0+prefix2+select_array[i];
         
         frm.elements[destin].options.length = 0;

         for (var j=0; j < frm.elements[source].options.length; j++) {
            frm.elements[destin].options.length = j+1;
            frm.elements[destin].options[j].value = frm.elements[source].options[j].value;
            frm.elements[destin].options[j].text  = frm.elements[source].options[j].text;
         }
         
         frm.elements[destin].selectedIndex = frm.elements[source].selectedIndex;
      }
   }
   return true;
}

function inputOrderInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('billing_firstname','billing_lastname','billing_address','billing_city','billing_zip_code',
      'shipping_firstname','shipping_lastname','shipping_email','shipping_address','shipping_city','shipping_zip_code'
   );

   var error_array = new Array('Billing Firstname','Billing Lastname','Billing Address','Billing City','Billing Zip Code',
      'Shipping Firstname','Shipping Lastname','Shipping Email','Shipping Address','Shipping City','Shipping Zip Code'
   );

      for (var i=0; i<input_array.length; i++) {
         var source = prefix0+input_array[i];          
         if (frm.elements[source].value.length == 0) {
            alert(error_array[i].substr(0,1).toUpperCase()+error_array[i].substr(1)+' can not be empty ');
            frm.elements[source].focus();
            return false;
         }
      }

      if (frm.elements['get_billing_zip_code'].value) {
         myreg = new RegExp("^\\d+$");
         res = myreg.test(frm.elements['get_billing_zip_code'].value);
         if (frm.elements['get_billing_zip_code'].value == '0') res = 0;
         if (!res) {
            alert('Please enter a valid billing zip code');
            frm.elements['get_billing_zip_code'].focus(); 
            return false;
         }
      }

      if (frm.elements['get_shipping_zip_code'].value) {
         myreg = new RegExp("^\\d+$");
         res = myreg.test(frm.elements['get_shipping_zip_code'].value);
         if (frm.elements['get_shipping_zip_code'].value == '0') res = 0;
         if (!res) {
            alert('Please enter a valid shipping zip code');
            frm.elements['get_shipping_zip_code'].focus(); 
            return false;
         }
      }

   return true;
}

function inputOrderBillingInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('billing_firstname','billing_lastname','billing_email','billing_address','billing_city','billing_zip_code');

   var error_array = new Array('Billing Firstname','Billing Lastname','Billing Email','Billing Address','Billing City','Billing Zip Code');

      for (var i=0; i<input_array.length; i++) {
         var source = prefix0+input_array[i];          
         if (frm.elements[source].value.length == 0) {
            alert(error_array[i].substr(0,1).toUpperCase()+error_array[i].substr(1)+' can not be empty ');
            frm.elements[source].focus();
            return false;
         }
      }

      if (frm.elements['get_billing_zip_code'].value) {
         myreg = new RegExp("^\\d+$");
         res = myreg.test(frm.elements['get_billing_zip_code'].value);
         if (frm.elements['get_billing_zip_code'].value == '0') res = 0;
         if (!res) {
            alert('Please enter a valid billing zip code');
            frm.elements['get_billing_zip_code'].focus(); 
            return false;
         }
      }

   return true;
}

function inputOrderShippingInfo(frm) {
   var prefix0 = 'get_';
   var input_array = new Array('shipping_firstname','shipping_lastname','shipping_email','shipping_address','shipping_city','shipping_zip_code');

   var error_array = new Array('Shipping Firstname','Shipping Lastname','Shipping Email','Shipping Address','Shipping City','Shipping Zip Code');

      for (var i=0; i<input_array.length; i++) {
         var source = prefix0+input_array[i];          
         if (frm.elements[source].value.length == 0) {
            alert(error_array[i].substr(0,1).toUpperCase()+error_array[i].substr(1)+' can not be empty ');
            frm.elements[source].focus();
            return false;
         }
      }

      if (frm.elements['get_shipping_zip_code'].value) {
         myreg = new RegExp("^\\d+$");
         res = myreg.test(frm.elements['get_shipping_zip_code'].value);
         if (frm.elements['get_shipping_zip_code'].value == '0') res = 0;
         if (!res) {
            alert('Please enter a valid shipping zip code');
            frm.elements['get_shipping_zip_code'].focus(); 
            return false;
         }
      }

   return true;
}

function inputOrderShippingZIP(frm) {
    if (frm.elements['get_shipping_zip_code'].value.length == 0) {
       alert('Please enter a valid shipping zip code');
       frm.elements['get_shipping_zip_code'].focus();
       return false;
    }

   if (frm.elements['get_shipping_zip_code'].value) {
      myreg = new RegExp("^\\d+$");
      res = myreg.test(frm.elements['get_shipping_zip_code'].value);
      if (frm.elements['get_shipping_zip_code'].value == '0') res = 0;
      if (!res) {
         alert('Please enter a valid shipping zip code');
         frm.elements['get_shipping_zip_code'].focus(); 
         return false;
      }
   }
   
   frm.submit(); return false;
//   return true;
}

function HideALL() {
   if (document.all) {
      document.all['UPS'].style.display = "none"
      document.all['FIXED'].style.display = "none"
   }else if (document.getElementById) { 
      document.getElementById('UPS').style.display = "none"
      document.getElementById('FIXED').style.display = "none"
   }	
}

function ShowDIV(sDIV) {	
   //hide all elements before revealing selected
   HideALL();

   if (document.all) {
      document.all[sDIV].style.display = "block"
   }else if (document.getElementById) {
      document.getElementById(sDIV).style.display = "block"
   }
}

function onOrderAdd(frm) {
   if (!inputOrderShippingInfo(frm)) return false;

   if (!frm.shipping_flag.value) {
      alert('Shipping must be calculated before order processing.');
      return false;
   }
   if (!frm.discount_flag.value) {
      alert('Discount coupon was not found in our database or expired. Please specify valid code or continue without it.');
      return false;
   }

   return true;
}

function conf() {
   return confirm('Запись будет удалена. Продолжить?');
}


function inputSubscribe(frm) {

   if (!(validEmail(frm.elements['email'].value))) { 
      alert('Пожалуйста, введите корректный email в формате email@host.tag');
      frm.elements['email'].focus();
      return false;
   }

   return true;

}


function viewform(m, w, h, scrol) {

   var scroll = 'yes';
   var settings;
   var LeftPosition;
   var TopPosition;
   var win;
   if (!scrol) scroll = 'no';

   LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
   TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
  
   settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll;

   if (scrol == 'no') settings = settings + ',resizable=no,maximize=no';
   if (scrol == 'yes') settings = settings + ',resizable=yes,maximize=yes';

   settings = settings + ',status=no,toolbar=no,directories=no,menubar=no,location=no';
   win = window.open(m, 'pre', settings);
   win.name = 'pre';
   win.focus();
}

function openPopupWindow(m) {
   viewform(m, 600, 600, 'yes');
}

function openPopupWindow2(m) {
   viewform(m, 600, 600, '');
}

function addSelectedToList(from, to) {
   if (window.document.getElementById(from).options.selectedIndex >=0) {
      opt = new Option(window.document.getElementById(from).options[window.document.getElementById(from).options.selectedIndex].text, window.document.getElementById(from).options[window.document.getElementById(from).options.selectedIndex].value);
      window.document.getElementById(to).options[window.document.getElementById(to).options.length] = opt;
      window.document.getElementById(from).options[window.document.getElementById(from).options.selectedIndex] = null;
   }
}

function selAllOptions(el) {
   var e=window.document.getElementById(el);
   for (var i=0; i < e.length; i++) {
      e.options[i].selected=true
   }
}
