/*
  $Id: general.js,v 1.3 2003/02/10 22:30:55 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

function SetFocus(TargetFormName) {
  var target = 0;
  if (TargetFormName != "") {
    for (i=0; i<document.forms.length; i++) {
      if (document.forms[i].name == TargetFormName) {
        target = i;
        break;
      }
    }
  }

  var TargetForm = document.forms[target];
    
  for (i=0; i<TargetForm.length; i++) {
    if ( (TargetForm.elements[i].type != "image") && (TargetForm.elements[i].type != "hidden") && (TargetForm.elements[i].type != "reset") && (TargetForm.elements[i].type != "submit") ) {
      TargetForm.elements[i].focus();

      if ( (TargetForm.elements[i].type == "text") || (TargetForm.elements[i].type == "password") ) {
        TargetForm.elements[i].select();
      }

      break;
    }
  }
}

function RemoveFormatString(TargetElement, FormatString) {
  if (TargetElement.value == FormatString) {
    TargetElement.value = "";
  }

  TargetElement.select();
}

function CheckDateRange(from, to) {
  if (Date.parse(from.value) <= Date.parse(to.value)) {
    return true;
  } else {
    return false;
  }
}

function IsValidDate(DateToCheck, FormatString) {
  var strDateToCheck;
  var strDateToCheckArray;
  var strFormatArray;
  var strFormatString;
  var strDay;
  var strMonth;
  var strYear;
  var intday;
  var intMonth;
  var intYear;
  var intDateSeparatorIdx = -1;
  var intFormatSeparatorIdx = -1;
  var strSeparatorArray = new Array("-"," ","/",".");
  var strMonthArray = new Array("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
  var intDaysArray = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

  strDateToCheck = DateToCheck.toLowerCase();
  strFormatString = FormatString.toLowerCase();
  
  if (strDateToCheck.length != strFormatString.length) {
    return false;
  }

  for (i=0; i<strSeparatorArray.length; i++) {
    if (strFormatString.indexOf(strSeparatorArray[i]) != -1) {
      intFormatSeparatorIdx = i;
      break;
    }
  }

  for (i=0; i<strSeparatorArray.length; i++) {
    if (strDateToCheck.indexOf(strSeparatorArray[i]) != -1) {
      intDateSeparatorIdx = i;
      break;
    }
  }

  if (intDateSeparatorIdx != intFormatSeparatorIdx) {
    return false;
  }

  if (intDateSeparatorIdx != -1) {
    strFormatArray = strFormatString.split(strSeparatorArray[intFormatSeparatorIdx]);
    if (strFormatArray.length != 3) {
      return false;
    }

    strDateToCheckArray = strDateToCheck.split(strSeparatorArray[intDateSeparatorIdx]);
    if (strDateToCheckArray.length != 3) {
      return false;
    }

    for (i=0; i<strFormatArray.length; i++) {
      if (strFormatArray[i] == 'mm' || strFormatArray[i] == 'mmm') {
        strMonth = strDateToCheckArray[i];
      }

      if (strFormatArray[i] == 'dd') {
        strDay = strDateToCheckArray[i];
      }

      if (strFormatArray[i] == 'yyyy') {
        strYear = strDateToCheckArray[i];
      }
    }
  } else {
    if (FormatString.length > 7) {
      if (strFormatString.indexOf('mmm') == -1) {
        strMonth = strDateToCheck.substring(strFormatString.indexOf('mm'), 2);
      } else {
        strMonth = strDateToCheck.substring(strFormatString.indexOf('mmm'), 3);
      }

      strDay = strDateToCheck.substring(strFormatString.indexOf('dd'), 2);
      strYear = strDateToCheck.substring(strFormatString.indexOf('yyyy'), 2);
    } else {
      return false;
    }
  }

  if (strYear.length != 4) {
    return false;
  }

  intday = parseInt(strDay, 10);
  if (isNaN(intday)) {
    return false;
  }
  if (intday < 1) {
    return false;
  }

  intMonth = parseInt(strMonth, 10);
  if (isNaN(intMonth)) {
    for (i=0; i<strMonthArray.length; i++) {
      if (strMonth == strMonthArray[i]) {
        intMonth = i+1;
        break;
      }
    }
    if (isNaN(intMonth)) {
      return false;
    }
  }
  if (intMonth > 12 || intMonth < 1) {
    return false;
  }

  intYear = parseInt(strYear, 10);
  if (isNaN(intYear)) {
    return false;
  }
  if (IsLeapYear(intYear) == true) {
    intDaysArray[1] = 29;
  }

  if (intday > intDaysArray[intMonth - 1]) {
    return false;
  }
  
  return true;
}

function IsLeapYear(intYear) {
  if (intYear % 100 == 0) {
    if (intYear % 400 == 0) {
      return true;
    }
  } else {
    if ((intYear % 4) == 0) {
      return true;
    }
  }

  return false;
}

function rowOverEffect(object) {
  if (object.className == 'dataTableRow') object.className = 'dataTableRowOver';

}

function rowOutEffect(object) {
  if (object.className == 'dataTableRowOver') object.className = 'dataTableRow';
}

function carOverEffect(object) {
  if (object.className == 'carRow') object.className = 'carRowOver';

}
function carOutEffect(object) {
  if (object.className == 'carRowOver') object.className = 'carRow';

}
function sOver(object) {
  if (object.className == 'sklep') object.className = 'sklepOver';
  if (object.className == 'onas') object.className = 'onasOver';
  if (object.className == 'ogloszenia') object.className = 'ogloszeniaOver';
  if (object.className == 'forum') object.className = 'forumOver';
  if (object.className == 'poradnik') object.className = 'poradnikOver';
  if (object.className == 'konto') object.className = 'kontoOver';
  if (object.className == 'kontakt') object.className = 'kontaktOver';
  if (object.className == 'zamowienie') object.className = 'zamowienieOver';
  if (object.className == 'koszyk') object.className = 'koszykOver';
}
function sOut(object) {
  if (object.className == 'sklepOver') object.className = 'sklep';
  if (object.className == 'onasOver') object.className = 'onas';
  if (object.className == 'forumOver') object.className = 'forum';
  if (object.className == 'ogloszeniaOver') object.className = 'ogloszenia';
  if (object.className == 'poradnikOver') object.className = 'poradnik';
  if (object.className == 'kontoOver') object.className = 'konto';
  if (object.className == 'kontaktOver') object.className = 'kontakt';
  if (object.className == 'zamowienieOver') object.className = 'zamowienie';
  if (object.className == 'koszykOver') object.className = 'koszyk';
}

function Chmurka_(T,t){
  T.title=''
  T.parentNode.lastChild.style.display=t?'block':'none'
}

function dymekPokaz_(pX, pY, src) {
  if (IE) {
     document.all.dymek.style.visibility='visible';
     document.all.dymek.innerHTML=src;
     document.all.dymek.style.left=posX()+pX+"px";
     if (posX()>500)
     {
     document.all.dymek.style.left=posX()-200+pX+"px";
     }
     document.all.dymek.style.top=posY()+pY+"px";
  }
  else {
     document.getElementById("dymek").style.visibility='visible';
     document.getElementById("dymek").style.left=netX+pX+"px";
     document.getElementById("dymek").style.top=netY+pY+"px";
     document.getElementById("dymek").innerHTML=src;
  }
}

function ChmurkaPrzesun_(T, pX, pY) {

     T.parentNode.lastChild.style.left=posX()+pX+"px";
     if (posX()>500)
     {
     T.parentNode.lastChild.style.left=posX()-200+pX+"px";
     }
     T.parentNode.lastChild.style.top=posY()+pY+"px";
}

function dymekPrzesun_(pX, pY) {
  if (IE) {
     document.all.dymek.style.left=posX()+pX+"px";
     if (posX()>500)
     {
     document.all.dymek.style.left=posX()-200+pX+"px";
     }
     document.all.dymek.style.top=posY()+pY+"px";
  }
  else {
     document.getElementById("dymek").style.left=netX+pX+"px";
     document.getElementById("dymek").style.top=netY+pY+"px";
  }
}
function dymekZamknij_() {
  if (IE) {
     document.all.dymek.innerHTML='';
     document.all.dymek.style.visibility='hidden';
  }
  else {
     document.getElementById("dymek").style.visibility='hidden';
     document.getElementById("dymek").innerHTML='';
  }
}

function dymekLink_(tresc) {
  text='<table cellspacing=0 width=200 cellpadding=2>';
  text+='<tr><td bgcolor=#A14305 style="font-family:arial;font-size:11px;color:rgb(0,53,136);border:1px solid rgb(205,205,205);background:rgb(229,229,229);text-align: center;"></b>'+tresc+'</td></tr></table>';
  dymekPokaz(0, 15, text);
}

function dymekLinkPrzesun_() {
  dymekPrzesun(0, 15);
}

function posX() {
  tempX=document.body.scrollLeft + event.clientX;
  if (tempX<0) {
     tempX=0;
  }
  return tempX;
}
function posY() {
  tempY=document.body.scrollTop + event.clientY;
  if (tempY<0) {
     tempY=0;
  }
  return tempY;
}

function mousePos(e) {
  netX=e.pageX;
  netY=e.pageY;
}

function popupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=450,height=280,screenX=150,screenY=150,top=150,left=150')
  }
 // chmurka pod IE i Firefox 
function tooltip(d,E,b,i,a){
  d=document;E=d.documentElement;b=d.body;if(!E)return;
  for(i=0;a=b.getElementsByTagName("a")[i];i++){
    if(a.title){
      with(a.t=d.createElement("div")){
        id="tooltip"
        innerHTML=a.title.replace(/\|/g,"<br />")
      }
      a.onmouseover=function(e){
        with(this){title="";onmousemove(e)}
        b.appendChild(this.t)
      }
      a.onmouseout=function(x){
        with(this){title=t.innerHTML.replace(/<br \/>/g,"\|")}
        if(x=d.getElementById("tooltip"))b.removeChild(x)
      }
      a.onmousemove=function(e){
        e=e||event;with(this.t.style){
         left=e.clientX+(E.scrollLeft||b.scrollLeft)+"px"
         top=e.clientY+(E.scrollTop||b.scrollTop)+"px"
        }
      }
    }
  }
}
function addEvent(O,E,F,x){
  return(x=O.addEventListener)?x(E,F,1):(x=O.attachEvent)?x('on'+E,F):!1
}

function flash(id, kolor, czas, kolor2, czas2)
{
	document.getElementById(id).style.color = kolor;
	setTimeout('flash("' + id + '","' + kolor2 + '",' + czas2 + ',"' + kolor + '",' + czas + ')', czas);
}

