function checkDate(myValue, dateFormat, returnUSDate){ // variable declarations var parts; var x =1; var y =2; var z =0; var mNames = new Array('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'); var mNames1 = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); var mValues = "312831303130313130313031"; var format; if(dateFormat.form){ //it is a form object --%> format = dateFormat.value; }else{ //it is a value --%> format = dateFormat; } format = format.toUpperCase(); myValue = myValue.toUpperCase(); if (myValue.length==0){ return 1; } if (format == "YYYY/MM/DD"){ //Japanese --%> if(myValue.indexOf('/') == -1){ return 1; return false; } parts = myValue.split('/'); if (myValue.length < 8 || parts.length != 3 || parts[0].length != 4 || parts[1].length > 2 || parts[1].length < 1 || parts[2].length > 2 || parts[2].length < 1){ return 1; return false; } format = 'JP'; }else if (format == "MM/DD/YYYY"){ //US --%> if(myValue.indexOf('/') == -1){ return 1; return false; } parts = myValue.split('/'); if (myValue.length < 8 || parts.length != 3 || parts[0].length > 2 || parts[0].length < 1 || parts[1].length > 2 || parts[1].length < 1 || parts[2].length != 4 ) { return 1; return false; } format = 'US1'; }else if (format == "DD.MM.YYYY"){ // EURO --%> if(myValue.indexOf('.') == -1){ return 1; return false; } parts = myValue.split('.'); if (myValue.length < 8 || parts.length != 3 || parts[0].length > 2 || parts[0].length < 1 || parts[1].length > 2 || parts[1].length < 1 || parts[2].length != 4 ) { return 1; return false; } format = 'EU1'; }else if (format == "DD-MMM-YYYY"){ // another EURO --%> if(myValue.indexOf('-') == -1){ return 1; return false; } parts = myValue.split('-'); if (myValue.length < 10 || parts.length != 3 || parts[0].length > 2 || parts[0].length < 1 || parts[1].length != 3 || parts[2].length != 4 ) { return 1; return false; } format = 'EU2'; //Add more format checks here --%> }else{ return 1; return false; } //Date Parsers --%> if (format == "JP"){ myYYYY = parseInt(parts[0],10); // extract Year myMM = parseInt(parts[1],10); // extract Month myDD = parseInt(parts[2],10); // extract Date }else if (format == "US1"){ myMM = parseInt(parts[0],10); // extract Month myDD = parseInt(parts[1],10); // extract Date myYYYY = parseInt(parts[2],10); // extract Year }else if (format == "EU1"){ myDD = parseInt(parts[0],10); // extract Date myMM = parseInt(parts[1],10); // extract Month myYYYY = parseInt(parts[2],10); // extract Year }else if (format == "EU2"){ myDD = parseInt(parts[0],10); // extract Date myMM = 0; // extract Month for (var j=0;j<13;j++){ if(parts[1] == mNames[j]){ myMM = j+1; break; } } if(myMM == 0){ for (var j=0;j<13;j++){ if(parts[1] == mNames1[j]){ myMM = j+1; break; } } } if (myMM == 0){ return 1; return false; } myYYYY = parseInt(parts[2],10); // extract Year }else{ return 1; return false; } //Add more date parsers here --%> if ( (isNaN(myDD)) || (isNaN(myMM)) || ( isNaN(myYYYY)) ){ return 1; return false; } if ( (myMM > 12) || (myMM <= 0) ){ return 1; return false; } if (myYYYY < 1000){ return 1; return false; } var lastDate = 0; if (myMM == 2){ if (isLeapYear(myYYYY)){ lastDate = 29; }else{ lastDate = 28; } }else{ lastDate = mValues.substring((myMM-1)*2, (myMM-1)*2+2); } if ( (myDD > lastDate) || (myDD <=0) ){ return 1; return false; } if(returnUSDate){ return 1; return myMM+"/"+myDD+"/"+myYYYY; }else{ if( checkDateInPast(myYYYY,myMM,myDD)){ return 0; } return 2; } } function checkDateInPast(inYear,inMonth,inDay){ var schedule_date = new Date( inYear,inMonth-1,inDay, 0, 0, 0); var temp_date = new Date(); var current_year = temp_date.getYear(); current_year += (current_year < 1900) ? 1900 : 0; var current_date = new Date(current_year, temp_date.getMonth(), temp_date.getDate(), 0, 0, 0); if(schedule_date.getTime() < current_date.getTime() ){ alert("Date Requested cannot be a past date." ); return false; } return true; } function isLeapYear (Year){ if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)){ return (true); } else{ return (false); } } function checkQty(qty){ if( isNaN(qty) || qty<=0 || validateIfGoodQty(qty)==false || qty> 999999999 ){ if(qty > 999999999){ alert("Request quantity must be less than 1000000000.") }else{ alert("Please enter a valid quantity."); } return false; } return true; } function validateIfGoodQty(qty1){ var Good ="1234567890"; var testString = qty1; var ret = ""; for(var i=0;i "4") { alert("Incorrect price format - Number of places after decimal seperator (.) cannot exceed 4"); return false; } return true; } function limitText(theTextArea, limit) { if (theTextArea.value.length > limit) { theTextArea.value = theTextArea.value.substring(0,limit); } }