/**************************************************************************
*                                                                         *
*   This application is developed and owned by Thomas Idea Co.,Ltd.       *
*   NOKIA(Thailand) LTD. is granted  license from Thomas Idea             *
*   for its internal use only. Usage on any parts of the program without  *
*   a permission from Thomas Idea Co.,Ltd. is illegal and prohibited.     *
*   This application is protected by the International Right Law.         *
*                       -  All rights reserved.                           *
*                                                                         *
**************************************************************************/
var fieldDate;
function genCalendar(field) {
	fieldDate = field
	win = window.open("../js/clndr.htm","Calendar","width=180,height=180")
	if ( win.opener == null )
		win.opener = self
	win.focus()
}

function openWin(pages, winName, detail) {
	w = open (pages, winName, detail);
	if (w.opener == null)
		w.opener = self;
	w.focus();
}

function isElement(formStr, elementStr) {
	if (!isWinClose()) {
		openerForm = eval("opener.document." + formStr);
		openerObject = eval("opener.document." + formStr + "." + elementStr);
		if ((openerForm == null) && (openerObject == null))
			return true;
		else
			return false;
	} else
		return true;
}

function isWinClose() {
	if (opener.closed)
		return true;
	else
		return false;
}

function isEmpty(str) {
	if (str == null || str == "")
		return true;
	else
		return false;
}

function isSpace(str) {
	var index;
	for (index=0; index < str.length; index++) {
		if(str.charAt(index) != " ")
			return false;
	}
	return true;
}

function isNumber(str) {
	field = "", tmp = "";
	for (i=0;i<str.length;i++)
	{
		tmp = str.substring(i,i+1);
		field = field + parseFloat(tmp);
	}
	if (field == str)
		return true;
	else
		return false;
}

function isSelect(drpdwn) {
	str = drpdwn.options[drpdwn.selectedIndex].value;
	if ( str == null || str == "" || str.toUpperCase() == "DASH")
		return false;
	else
		return true;
}


function isEmail(str) {
	emailLength = str.length;
	posAt = str.indexOf('@');
	posAt1 = str.lastIndexOf('@');
	posDotFirst = str.indexOf('.');
	posDotLast = str.lastIndexOf('.');
	posSpace = str.lastIndexOf(' ');
	if (posAt <= 0 || posDotFirst <= 0 || posAt == emailLength - 1 || posDotLast - posAt < 2 || posDotLast == emailLength - 1 || posAt != posAt1 || posSpace > 0)
		return false;
	else
		return true;
}

function isImage(str) {
	ext = getFileType(str);
	if (ext != "jpg" && ext != "swf")
		return false
	else
		return true;
}

function isClickCheckBox(frm, start, num, skip) {
	var result, isChecked;
	end = num * skip;
	for (i=start;i<end;i+=skip) {
		if (frm.elements[i].checked) {
			isChecked = true;
			i = end++;
		}
		else
		isChecked = false;
	}
	return isChecked;
}

function isClickRadio(radioObj) {
	var i;
	for(i=0; i<radioObj.length; i++) {
		if(radioObj[i].checked == true)
			return true;
	}
	return false;
}

var imageCharList = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-!@#$+=()[]{},'";
function isImageName(str) {
	for (i=0;i<str.length;i++) {
		if (imageCharList.indexOf(str.charAt(i)) < 0)
			return false;
	}
	return true;
	/*if (str.indexOf("\\") >= 0)
		return false;
	else if (str.indexOf("/") >= 0)
		return false;
	else if (str.indexOf(":") >= 0)
		return false;
	else if (str.indexOf("*") >= 0)
		return false;
	else if (str.indexOf("?") >= 0)
		return false;
	else if (str.indexOf("\"") >= 0)
		return false;
	else if (str.indexOf("<") >= 0)
		return false;
	else if (str.indexOf(">") >= 0)
		return false;
	else if (str.indexOf("|") >= 0)
		return false;
	else if (str.indexOf(" ") >= 0)
		return false;
	return true;*/
}

//var specialCharList = "!@#$^&*+=[]\\\"><;฿~|";
var specialCharList = "\"><";
var numberChar = "!@$%^&*()_-+|\\=~][{}\"฿':;<>?/#.,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var addressChar = "!@$%^&*()_+|\\=~][{}\"฿':;<>?.";
var allChar = "!@$%^&*()_+|\\=~][{}\"฿':;<>?.-#,/";
var custNameChar = "!@$%^&*()_+|\\=~][{}\"฿':;<>?.#,/0123456789";
var emailChar = "!$%^&*()+|\\=~][{}\"฿':;<>?#,/";

function haveSpecialChar(str) {
	for (i=0;i<str.length;i++) {
		if (specialCharList.indexOf(str.charAt(i)) >= 0)
			return true;
	}
	return false;
}

function elimSpecialChar(str) {
	var str1 = "";
	for (i=0;i<str.length;i++) {
		if (specialCharList.indexOf(str.charAt(i)) < 0)
			str1 = str1 + str.substring(i,i + 1);
	}
	return str1;
}

function haveChar(str, charStr) {
	var str1 = "";
	if (charStr == null)
		charStr = specialCharList;
	
	for (i = 0; i < str.length; i++) {
		if (charStr.indexOf(str.charAt(i)) >= 0)
			return true;
	}
	return false;
}

function trimChar(str, charStr) {
	var str1 = "";
	if (charStr == null)
		charStr = specialCharList;
	
	for (i = 0; i < str.length; i++) {
		if (charStr.indexOf(str.charAt(i)) < 0)
			str1 = str1 + str.substring(i, i + 1);
	}
	return str1;
}

function chkShortDate(fromField, toField) {
	// Date Format is 'DD/MM/YYYY'
	fromDate = eval(fromField.substring(0,fromField.indexOf('/')));
	fromMonth = eval(fromField.substring(fromField.indexOf('/') + 1,fromField.lastIndexOf('/'))) - 1;
	fromYear = eval(fromField.substring(fromField.lastIndexOf('/') + 1,fromField.length));
	
	toDate = eval(toField.substring(0,toField.indexOf('/')));
	toMonth = eval(toField.substring(toField.indexOf('/') + 1,toField.lastIndexOf('/'))) - 1;
	toYear = eval(toField.substring(toField.lastIndexOf('/') + 1,toField.length));
	
	startDate = new Date(fromYear, fromMonth, fromDate);
	endDate = new Date(toYear, toMonth, toDate);
	if (endDate < startDate)
		return false;
	else
		return true;
}

function chkLongDate(fromField, toField) {
	// Date Format is 'Month, Day Year'
	startDate = new Date(fromField);
	endDate = new Date(toField);
	if (endDate < startDate)
		return false;
	else
		return true;
}

function isCorrectDate(fromDate, toDate) {
	if (fromDate.value == "" && toDate.value != "") {
		alert("Please select a start date.");
		fromDate.focus();
		return false;
	}
	if (fromDate.value != "" && toDate.value == "") {
		alert("Please select an end date.");
		toDate.focus();
		return false;
	}
	if (fromDate.value != "" && toDate.value != "") {
		if (!chkShortDate(fromDate.value, toDate.value)) {
			alert("Please input a correct duration.");
			toDate.focus();
			return false;
		}
	}
	return true;
}

function showMessage(txt, obj) {
	alert(txt);
	obj.focus();
	return false;
}

function getSelectValue(drpdwn) {
	str = drpdwn.options[drpdwn.selectedIndex].value;
	return str;
}

function getRadioValue(radioObj) {
	var i;
	for(i=0; i<radioObj.length; i++) {
		if(radioObj[i].checked == true)
			return radioObj[i].value;
	}
	return "";
}

function getFileType(fileSource) {
	return fileSource.substring(fileSource.lastIndexOf('.') + 1,fileSource.length);
}

function getFileName(fileSource) {
	return fileSource.substring(fileSource.lastIndexOf('\\') + 1,fileSource.lastIndexOf('.'));
}

function markSelectValue(drpdwn, data) {
	for (i=0; i<drpdwn.length; i++) {
		if (drpdwn.options[i].value == data)
			drpdwn.selectedIndex = i;
	}
}

function markRadioValue(radioObj, data) {
	for (i=0; i<radioObj.length; i++) {
		if (data == radioObj[i].value)
			radioObj[i].checked = true;
	}
}

function deleteBlankRowIfNotEmpty(toList) {
	var idx = -1;
	var val = "";
	for (i = 0; i < toList.length; i++) {
		// find a blank row in table 
		val = toList.options[i].value;
		if (val == "") {
			idx = i;
			break;
		}
	} 
	if (idx >= 0 && (toList.length > 1))
		toList.options[idx] = null;
}

function selectAll(fromList) {
	for ( i = 0; i < fromList.length; i++ )
		fromList.options[i].selected = true;
	return true
}

function unSelectAll(fromList) {
	for ( i = 0; i <= fromList.length-1; i++ )
		fromList.options[i].selected = false;
	return true
}

function clearList(fromList) {
	fromList.length = 0;
}

function copyList(fromList, toList) {
	var tmp = new Array();
	indexofitem = toList.length;
	count =0
	for (i = 0; i < fromList.length;i++) {
		if (fromList.options[i].selected) {
			val = fromList.options[i].value;
			txt = fromList.options[i].text;
			toList.options[indexofitem] = new Option(txt, val, false, true);
			toList.options[indexofitem].selected = false;
			tmp[count] = i;
			count++;
			indexofitem++;
		}
	}
	for(j = count; j >= 0; j--) {
		fromList.options[tmp[j]]= null;
	}	
	deleteBlankRowIfNotEmpty(fromList);
	navigator.plugins.refresh(true);
}

function copyAll(fromList, toList) {
	selectAll(fromList);
	indexOfItem = toList.length;
	for ( i = 0; i < fromList.length; i++ ) {
		txt = fromList.options[i].text;
		val = fromList.options[i].value;
		if (val != "") {
			toList.options[indexOfItem] = new Option( txt, val, false, true );
			toList.options[indexOfItem].selected = false;
			indexOfItem++;
		}
	}  
	clearList(fromList);
	deleteBlankRowIfNotEmpty(toList);
	unSelectAll(fromList);
	navigator.plugins.refresh(true);
}


function hidestatus() {
	window.status = ' ';
	return true;
}
if (document.layers)
	document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
document.onmouseover = hidestatus;
document.onmouseout = hidestatus;















function processClicks() {
  var clicked = 0;
  var n = 0;
  
  if ( document.formUpdate.h_concert.checked ) clicked += 1;
  if ( document.formUpdate.h_movie.checked ) clicked += 1;
  if ( document.formUpdate.h_photo.checked ) clicked += 1;
  if ( document.formUpdate.h_gamemobile.checked ) clicked += 1;
  if ( document.formUpdate.h_gamepc.checked ) clicked += 1;
  if ( document.formUpdate.h_j2me.checked ) clicked += 1;
  if ( document.formUpdate.h_sport.checked ) clicked += 1;
  if ( document.formUpdate.h_travelnature.checked ) clicked += 1;
  if ( document.formUpdate.h_traveladv.checked ) clicked += 1;
  if ( document.formUpdate.h_other.checked ) clicked += 1;
  
  //if( clicked < 3 ) document.forms['formUpdate'].action2.disabled = true;
  //if ( clicked == 3 ) document.forms['formUpdate'].action2.disabled = false;
  if ( clicked > 3) {
		//document.forms['formUpdate'].action2.disabled = true;
		alert('เลือกได้ไม่เกิน 3 รายการ');
		return false;
  }

  if ( document.formUpdate.d_modern.checked ) n += 1;
  if ( document.formUpdate.d_price.checked ) n += 1;
  if ( document.formUpdate.d_small.checked ) n += 1;
  if ( document.formUpdate.d_strong.checked ) n += 1;
  if ( document.formUpdate.d_cheap.checked ) n += 1;
  if ( document.formUpdate.d_service.checked ) n += 1;
  if ( document.formUpdate.d_hightech.checked ) n += 1;
  if ( document.formUpdate.d_promote.checked ) n += 1;
  if ( document.formUpdate.d_other.checked ) n += 1;
  
  //if( clicked < 3 ) document.forms['formUpdate'].action2.disabled = true;
  //if ( clicked == 3 ) document.forms['formUpdate'].action2.disabled = false;

  if ( n > 3) {
		//document.forms['formUpdate'].action2.disabled = true;
		alert('เลือกได้ไม่เกิน 3 รายการ');
		return false;
  }

  return true;
}
//=============================================================================


//
//// Testing
//
function testData(txbx,len,str) {
  var obj = txbx;
  if (obj.value.length <= len) {
    validPrompt(obj,str);
    return(false);
  } else
    return(true);
}

function testENString(txbx,str) {
	var obj = txbx;
	var okString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890@._-;,";
	for (var i=0;i < obj.value.length;i++) {
		var asc = obj.value.substr(i,1);
		if (okString.indexOf(asc) == -1) {
			if (confirm(str+" ["+obj.value+"] ที่ท่านกรอกอาจไม่ถูกต้อง\nเนื่องจากมีอักษรพิเศษรวมอยู่ ท่านต้องการแก้ไขหรือไม่?\n\nกดปุ่ม OK เพื่อแก้ไข\nกดปุ่ม Cancel เพื่อทำงานต่อไป")) {
				txbx.focus();
				return(false);
			} else {
				return(true);
			}
		}
	}
	return(true);
}

function testEmailData(txbx,str) {
  var obj = txbx;
  var atpost = obj.value.indexOf("@");
  corpType = obj.value.substring(obj.value.lastIndexOf(".") + 1, obj.value.length)
  corpTypeLength = corpType.length;
  if ((atpost < 1) || (obj.value.indexOf(".",atpost) < (atpost+2)) || (corpTypeLength <= 1 || corpTypeLength > 3)) {
    validPrompt(obj,str);
    return(false);
  } else
    return(true);
}

function testSBData(txbx,str) {
  var obj = txbx;
  if (obj[obj.selectedIndex].value == "") {
    validPrompt(obj,str);
    return(false);
  } else
    return(true);
}
//-----------------------------------------------------------------------------------------------------------


function runSubmit(frm) {
  var obj = frm
  var CCNum = document.formUpdate.CREDIT_NO.value; //Card number
  var CCNum = CCNum.replace(/ /g, "");
  var msg = 'หมายเลขบัตรเครดิตผิดพลาด / The credit card number you entered could not be\n validated.';

	if(!testData(obj.PICKUP_LOCATION,0,"Pick-up Location")) return false;
	if(!testData(obj.PICKUP_DATE,0,"Pick-up Date")) return false;
	//if(!testData(obj.PICKUP_AT_FLIGHT,0,"Pick up At")) return false;
	//if(!testData(obj.PICKUP_AT_HOTEL,0,"Pick up At")) return false;
	//if(!testData(obj.PICKUP_LOC,0,"Pick up Location")) return false;
	
	//if(!testData(obj.DROPOFF_LOC,0,"Drop off Location")) return false;
	if(!testData(obj.DROPOFF_LOCATION,0,"Drop off Location")) return false;
	if(!testData(obj.DROPOFF_DATE,0,"Drop off Date")) return false;
	//if(!testData(obj.DROPOFF_AT_FLIGHT,0,"Pick up At")) return false;
	//if(!testData(obj.DROPOFF_AT_HOTEL,0,"Pick up At")) return false;
	
	if(!testData(obj.CARINFO_ID,0,"VEHICLE TYPE")) return false

	obj.FIRSTNAME.value = trimChar(obj.FIRSTNAME.value, custNameChar);
	obj.LASTNAME.value = trimChar(obj.LASTNAME.value, custNameChar);
	if(!testData(obj.FIRSTNAME,0,"First Name")) return false
	if(!testData(obj.LASTNAME,0,"Last Name")) return false
	if(!testData(obj.BIRTH_MONTH,0,"BIRTH MONTH")) return false
	if(!testData(obj.BIRTH_DATE,0,"BIRTH DATE")) return false
	if(!testData(obj.BIRTH_YEAR,0,"BIRTH YEAR")) return false
	if(!testData(obj.ADDRESS,0,"ADDRESS")) return false
	if(!testData(obj.CITY,0,"CITY")) return false
	if(!testData(obj.COUNTRY,0,"COUNTRY")) return false

	obj.TEL.value = trimChar(obj.TEL.value, numberChar);
	if(!testData(obj.TEL,0,"TEL")) return false

	obj.EMAIL.value = trimChar(obj.EMAIL.value, emailChar);
	if(!testData(obj.EMAIL,0,"Email Address") || !testEmailData(obj.EMAIL,"Email Address not correct, Example : jack@hotmail.com"))
	  return false;

	if(!testData(obj.DL_NO,0,"DL_NO")) return false
	if(!testData(obj.DL_EXPIRY_MONTH,0,"DL_EXPIRY_MONTH")) return false
	if(!testData(obj.DL_EXPIRY_DATE,0,"DL_EXPIRY_DATE")) return false
	if(!testData(obj.DL_EXPIRY_YEAR,0,"DL_EXPIRY_YEAR")) return false
	if(!testData(obj.COUNTRY_OF_ISSUE,0,"COUNTRY_OF_ISSUE")) return false

	if(!testData(obj.PAYMENT_METHOD,0,"PAYMENT_METHOD")) return false
	if(!testData(obj.CREDIT_NO,0,"CREDIT_NO")) return false
	if(!testData(obj.CREDIT_EXPIRY_MONTH,0,"CREDIT_EXPIRY_MONTH")) return false
	if(!testData(obj.CREDIT_EXPIRY_YEAR,0,"CREDIT_EXPIRY_YEAR")) return false
		

// Add Function Credit Card
// Get the card type
	for (var i=0; i<obj.PAYMENT_METHOD.length; i++){
		if (obj.PAYMENT_METHOD.options[i].selected){            
			var CCType=obj.PAYMENT_METHOD.options[i].value;      
		}
}
//########## Check Visa ##########
	if(CCType.indexOf('VISA CARD') !=-1){
		if ((CCNum.length == 13 || CCNum.length == 16) && (CCNum.substring(0,1) == 4)){
		}else{
			alert(msg);  
			document.formUpdate.CREDIT_NO.focus();
			return false
		}
	}
//########## Check Mastercard ##########
	if(CCType.indexOf('MASTER CARD') !=-1){
		var firstdig=CCNum.substring(0,1);
		var seconddig=CCNum.substring(1,2);
		if ((CCNum.length == 16 || CCNum.length == 19) && (firstdig == 5) && ((seconddig >= 1) && (seconddig <= 5))){
		}else{
			alert(msg);  
			document.formUpdate.CREDIT_NO.focus();
			return false
		}
	}
//########## Check Diners ##########
	if(CCType.indexOf('DINERS') !=-1){
		firstdig = CCNum.substring(0,1);
		seconddig = CCNum.substring(1,2);
		if ((CCNum.length == 14 || CCNum.length == 17)  && (firstdig == 3) && ((seconddig == 0) || (seconddig == 6) || (seconddig == 8))){
		}else{
			alert(msg);  
			document.formUpdate.CREDIT_NO.focus();
			return false
		}
	}
//########## Check Amex ##########
	if(CCType.indexOf('AMEX') !=-1){
		firstdig = CCNum.substring(0,1);
		seconddig = CCNum.substring(1,2);
		if (((CCNum.length == 15)  || (CCNum.length == 18)) && (firstdig == 3) && ((seconddig == 4) || (seconddig == 7))){   
		}else{
			alert(msg);  
			document.formUpdate.CREDIT_NO.focus();
			return false
		}
	}
//################################

  return true;
}
//=======================================================================================

function chk9Digit(frm, str){
	var obj = frm
	
	if (obj.value.length != 9) {
		validPrompt(obj,str);
		return(false);
	} else
		return(true);
}

function chk23Digit(frm, str){
	var obj = frm
	
	if (obj.value.length < 2 || obj.value.length > 3) {
		validPrompt(obj,str);
		return(false);
	} else
		return(true);
}
//--------------------------------------------------------------------------------------------------------------------------------------
function validPrompt(txbx,str) {
  alert("กรุณากรอก/ตรวจสอบ " + str);
  txbx.focus();
  return;
}
//--------------------------------------------------------------------------------------------------------------------------------------

