﻿// JavaScript Document
/////////////////////////Forms////////////////////////////
/*
//1. paste script blocks in to the head of your page and modify field names and values in arrays below
<script language="JavaScript" src="js-lib.js"></script>
<script language="JavaScript">
	var namesArray = new Array("pty_fname", "pty_lname", "ptc_address", "ptc_phone","ptc_city","ptc_prov","ptc_post","post_cardholdersname","post_card_number","post_card_type","post_expiry_month","post_expiry_year")
	var displayArray = new Array("First Name", "Last Name", "Street Address", "Telephone", "City","Province","Postal Code","Name of Cardholder","Card Number","Card Type","Expiry Month","Expiry Year")
</script>

//2. add either the follwing to form tag (a. no password check or b. with password check) and modify field names
//a.
onSubmit="return checkForm(this);" 
//b.
onSubmit="if (checkForm(this) && passwordCheck(this.pty_password.value, this.pty_password2.value)){return true}else{return false;};"

*/
////////////////////// checkForm ////////////////////////
function checkForm(form){
	var expression
	var ok = 1
	for (var i=0;i<form.elements.length;i++){
	//alert('length' + form.elements.length)
	//alert('i:' + i)
		for (var j=0;j < namesArray.length;j++){
			//alert('i:' + i + ' j:' + j)
			//alert('namesArray[j]: ' + namesArray[j] + ' form.elements[i].name: ' + form.elements[i].name)			
			if (namesArray[j] ==  form.elements[i].name){
				expression = form.elements[i].type
				//alert(namesArray[j])
				switch (expression){
					case 'hidden' :
						ok = checkText(form.elements[i].value, namesArray[j], displayArray[j])
						break;
				   	case 'text' : 
						ok = checkText(form.elements[i].value, namesArray[j], displayArray[j])
						break;
				   	case 'radio' : 
						ok = checkRadio(form.elements[namesArray[j]], namesArray[j], displayArray[j])				
						break;
				   	case 'select-one' : 
						ok = checkSelectOne(form.elements[namesArray[j]], namesArray[j], displayArray[j])				
						break;
				   	case 'checkbox' :
						ok = checkCheckBox(form.elements[i].value, namesArray[j], displayArray[j])								 
						break;
				   	case 'select-multiple' : 
						ok = checkSelectMultiple(form.elements[i], namesArray[j], displayArray[j])								
						break;
				   	case 'textarea' : 
						ok = checkText(form.elements[i].value, namesArray[j], displayArray[j])								
						break;
				   	case 'password' :
						ok = checkText(form.elements[i].value, namesArray[j], displayArray[j])								 
   						break;		
				   	case 'file' : 
						ok = checkFile(form.elements[i].value, namesArray[j], displayArray[j])								
						break;		    											
					default:
						break;				
				}//switch
				//alert('oka is' + ok)
				if (ok == 0){
					//alert('ok0 is' + ok)
					break
				}	
				//alert('outside switch')
			}//if
				//alert('ok1 is' + ok)
				if (ok == 0){
					//alert('ok2 is' + ok)
					break
				}					
		}//for
		//alert('outside for')
		if (ok == 0){
			//alert('ok1 is' + ok)
			break
		}					
	}//for
	//alert('outside for 2 - ok is:' + ok)
	if (ok == 0){
		//alert('ok2 is' + ok)
		return false
	}else {
		//alert('ok3 is' + ok)	
		return true
	}		
}

////////////////////// checkText ////////////////////////
function checkText(input, name, display){
	var test = 0
	if (input == ''){
		alert('入力して下さい ' + display  ) 
		test = 0
	}else{
		test = 1
	}
	return test
}

////////////////////// checkRadio ////////////////////////
function checkRadio(input, name, display){

    var checked = 0
	//alert('check radio length ' + input.length)
	
	for (var y=0;y < input.length;y++) {
		//alert('input[y].checked' + input[y].checked)
        if (input[y].checked == 1){
            checked = 1
        }
    }
	if (checked == 0){
		alert('以下の項目を入力して下さい  ' + display )
	}	
	return checked
}

////////////////////// checkSelectOne ////////////////////////
function checkSelectOne(input, name, display){
	var checked = 0

    if (input.selectedIndex != 0){
    	checked = 1
    }

	if (checked == 0){
		alert('以下をお選び下さい ' + display )
	}	
	return checked
}
////////////////////// passwordCheck ////////////////////////
function passwordCheck(val, val2){
	if (val == val2){
		return true
	}else{
		alert ('Password and Password Confirmation fields must be the same')
		return false
	}
	
}		
////////////////////// setLocalRadio ////////////////////////
function setLocalRadio(input, val){
	for (var y=0;y < input.length;y++) {
		//alert('input[y].checked' + input[y].checked)
        if (input[y].value == val){
            input[y].checked = true
        }
    }
}

////////////////////// setLocalSelect ////////////////////////
function setLocalSelect(input, val){
	for (var y=0;y < input.length;y++) {
		//alert('input[y].checked' + input[y].checked)
        if (input.options[y].value == val){
            input.options[y].selected = true
        }
    }
}

////////////////////// nullTextObject ////////////////////////
function nullTextObject(input){
	input.value =''
}
////////////////////// returnRadioVal ////////////////////////
function returnRadioVal(input){
	var val = '';
	for (var y=0;y < input.length;y++) {
        if (input[y].checked == true){
            val = input[y].value
        }
    }
	return val;
}
////////////////////// returnSelectVal ////////////////////////
function returnSelectVal(input){
	var val = 0
	for (var y=0;y < input.length;y++) {
		//alert(input.options[y].value)
        if (input.options[y].selected == true){
			val = input.options[y].value
			//alert('selected')
        }
    }
	//alert(val)
	return val;
}
////////////////////// returnSelectVal ////////////////////////
function numberCheck(input){
	reg = /\$/ig
	var check
	var str = 	input.value
	newstr=str.replace(reg, '')
	if (isNAN(parseFloat(newstr))){
		alert('Dollar amounts must be numerical')
		check =  false
	} else {
		input.value = newstr
		check =  true
	}
	return check
}

////////////////////// Pop Windows ////////////////////////
function popPage(url_to_dir, page, width, height){				
	var the_date = new Date()
	var the_time = the_date.getTime()
	var my_url = ''
	if (url_to_dir != ''){
		my_url = url_to_dir + '/'+ page
	}else{	
		my_url = page
	}	
	var WinName = 'displayWindow' + the_time
	if ((width == 0) || (width = '')){
		width = 800
		height = 550
	}
				
	var Features = 'width=600,height=400,resizable=yes,scrollbars=yes,menubar=yes,status=yes'
	window.open(my_url, WinName, Features);
}

function OpenWindow (URL, WinName, Features) { //v2.0 
	window.open(URL, WinName, Features);
}
	

function confirmDelete(msg, url){
	if (confirm(msg)){
		document.location.href=url
	}else{
		
	}		
}

function redirect(url){
		document.location.href=url
}	


/*From "http://www.jsmadeeasy.com/javascripts/Forms/Email%20Address%20Validation/template.htm" 
<form name=emailform onSubmit="return emailCheck(this.email.value);">
Your Email Address:  <input type=text name="email"><br>
<input type=submit value="Submit">
</form>
*/

function emailCheck(emailStr) {
// checks if the e-mail address is valid
var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
var matchArray = emailStr.match(emailPat);
if (matchArray == null) {
alert("Your email address seems incorrect.  Please try again (check the '@' and '.'s in the email address)");
return false;
}
// make sure the IP address domain is valid
var IPArray = matchArray[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
if (IPArray != null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Destination IP address is invalid!")
return false;
      }
   }
}
return true;
}
//  End -->