/*
  $Id: general.js,v 1.3 2007/05/01 08:51:55 claude 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;
}

//Added for search area for clearwire MC050427


function updateSearch(gname){
	//parent.feedbackFrame.document.getElementById('resultatet').innerHTML=""
	var splitname = gname.replace(/\+/g," ") 
	document.searchframe.txtSearch.value = splitname;
	document.searchframe.txtSearch.focus();
}

function clearTextField() {
	//parent.feedbackFrame.document.getElementById('resultatet').innerHTML=""
    	//document.searchframe.txtSearch.value = "";
    	//ResultFrame.document.location = "blank.htm";
    	//document.searchframe.txtSearch.focus();
}


function validateInt(iString) {
    return (("" + parseInt(iString)) == iString);
}


function FieldCheck(){
	if (document.searchframe.txtSearch.value==""){
		alert("You must select your street name");
		return false;}
	if (document.searchframe.houseNr.value==""){
		alert("Please provide a house nr.");
		return false;
	}
	//elseif (!validateInt(searchframe.houseNr.value){
	//	alert("Please provide a numeric house nr.");
	//	return false;}		
	if (document.searchframe.zipCode.value==""){
		alert("Please provide a zip code .");
		return false;}
	if (document.searchframe.floor.value==""){
		alert("Please provide a floor.");
		return false;}
	return true; 
}	

function searchAddress(){
	document.getElementById('wait').innerHTML="<font color='red'>Searching...Please Wait...</font>";
	//parent.feedbackFrame.document.getElementById('resultatet').innerHTML=""
	//document.searchframe.action="homenet.asp"
	document.searchframe.action="search.php"
	//document.searchframe.target="feedbackFrame"
	document.searchframe.submit();
}

function zoomTo(sXY) {
     	koorList = sXY.split(/:/);
     	var nParX = koorList[0];
     	var nParY = koorList[1];

     	jsPlace.zoomToAdress(nParX, nParY);

}


function Search(sSearch, o) {
	//parent.feedbackFrame.document.getElementById('resultatet').innerHTML="";
	var theResultFrame = document.getElementById('ResultFrame');
     	if (sSearch != "") {
		document.getElementById('frame').style.visibility='visible';
          		var b = true;
          		var sClassSpec = "";

          		if (document.searchframe.rbgSearchType[0].checked)
            			var lstTmp = lstAdr;
          		else
	    		var lstTmp = lstStop;

          		sSearch = sSearch.toUpperCase();
			if(theResultFrame.contentDocument != null)
				var lstWin = theResultFrame.contentDocument;
			else
				var lstWin = ResultFrame.document;
			/*if(ResultFrame != null && ResultFrame.document != null) // is IE
			{
				var lstWin = ResultFrame.document;
			}
			else
			{
				var lstWin = theResultFrame.contentDocument;
			}*/
          		//var lstWin = ResultFrame.document;
          		lstWin.clear();
	  	lstWin.open();
          		lstWin.charset = "windows-1252";
	  	lstWin.writeln('<html><head>');
	  	lstWin.writeln('	<title>Identify Results</title>');
	  	lstWin.writeln('<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">');
          		lstWin.writeln('<style>');
	  	lstWin.writeln('<!--.m     { font-family: Arial; font-size: 10pt;background-color: #FFFFFF; }');
	  	lstWin.writeln('A {text-decoration:none}');
          		lstWin.writeln('.t1     { font-family: Arial; font-size: 8pt;background-color: #ffffff; }');
          		lstWin.writeln('.t3     { font-family: Arial; font-size: 8pt;background-color: #555555; }');
	  	lstWin.writeln('.t2     { font-family: Arial; font-size: 8pt;background-color: #555555; }-->');
          		lstWin.writeln('</style>');
	  	lstWin.writeln('</head>');
	  	lstWin.writeln('<body text="#000000" link=#000000 vlink=#000000 alink=#000000 class=m LEFTMARGIN=0 TOPMARGIN=0>');
          		lstWin.writeln('<TABLE>');
          		lstWin.writeln('<tr><td></td><td>');
	  	lstWin.writeln('<TABLE CELLSPACING="0" CELLPADDING="1" NOWRAP BORDER=0  width="100%">');

	  	var antTreff = 0;
          		for (var i = 0; i < lstTmp.length; i++) {
          			if (b) {
                			sClassSpec = "class=t1";
                     			b = false;
                		}
                		else {
                    			sClassSpec = "class=t1";
                     			b = true;
                		}

 	        		if (lstTmp[i].indexOf(sSearch) == 0) {
				antTreff++;
                        			sEncoded = lstTmp[i].replace(/\s/g,'+');

                        			if (document.searchframe.rbgSearchType[0].checked)
       					lstWin.writeln('<tr><td ' + sClassSpec + '><span style="cursor:hand;" onclick=parent.updateSearch("' + sEncoded + '")>' + lstTmp[i] + '</span></td></tr>');

                		}
           		}

	lstWin.writeln('</table>');
	lstWin.writeln('</td>');
           	lstWin.writeln('</tr>');
  	lstWin.writeln('</table>');
	lstWin.writeln('</body>');
	lstWin.writeln('</html>');
           	lstWin.close();

	if (o)
		return false;
      	}
    }
