var bCancel = false;

function uploadsubmit()
{
	var progress = document.getElementById('progress');
	var errmsg = document.getElementById('clienterrmsg');
	html_error = '';
	errmsg.innerHTML = html_error;
	progress.style.visibility = 'visible';
	progress.style.height = '32px';
	var actualuploadsubmit = function () {
		var uploadform =  document.UploadForm1;
		if (typeof uploadform == 'undifined' || uploadform == null) {
			uploadform =  document.UploadDirectForm;
		}
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng(uploadform.theLocation.value, actualsubmit);
	}
	setTimeout(actualuploadsubmit, 1000);
}

function actualsubmit(location)
{
	var progress = document.getElementById('progress');
	var errmsg = document.getElementById('clienterrmsg');
		var uploadform =  document.UploadForm1;
		if (typeof uploadform == 'undifined' || uploadform == null) {
			uploadform =  document.UploadDirectForm;
		}
		LatLngLocation = location;
		if (LatLngLocation != null) {
			uploadform.thePrelocation.value = uploadform.theLocation.value;
			uploadform.theLatitude.value = LatLngLocation.lat();
			uploadform.theLongitude.value = LatLngLocation.lng();
		}
		if (validateUploadForm(uploadform)) {
			uploadform.submit();
	} else {
		window.scrollTo(0, 0);
		progress.style.visibility = 'hidden';
		progress.style.height = '0px';
		errmsg.innerHTML = html_error;
	}
}

function uploadmodifysubmit()
{
	var progress = document.getElementById('progress');
	var errmsg = document.getElementById('clienterrmsg');
	html_error = '';
	errmsg.innerHTML = html_error;
	progress.style.visibility = 'visible';
	progress.style.height = '32px';
	var actualuploadmodifysubmit = function () {
		var uploadmodifyform =  document.UploadModifyConfirmForm;
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng(uploadmodifyform.theLocation.value, actualmodifysubmit);
	}
	setTimeout(actualuploadmodifysubmit, 1000);
}

function actualmodifysubmit(location)
{
	var progress = document.getElementById('progress');
	var errmsg = document.getElementById('clienterrmsg');
		var uploadmodifyform =  document.UploadModifyConfirmForm;
		LatLngLocation = location;
		if (LatLngLocation != null) {
			uploadmodifyform.thePrelocation.value = uploadmodifyform.theLocation.value;
			uploadmodifyform.theLatitude.value = LatLngLocation.lat();
			uploadmodifyform.theLongitude.value = LatLngLocation.lng();
		}
		if (validateUploadModifyForm(uploadmodifyform)) {
			uploadmodifyform.submit();
	} else {
		window.scrollTo(0, 0);
		progress.style.visibility = 'hidden';
		progress.style.height = '0px';
		errmsg.innerHTML = html_error;
	}
}


function uploadsubmitrakuten()
{
	var progress = document.getElementById('progress');
	var errmsg = document.getElementById('clienterrmsg');
	html_error = '';
	errmsg.innerHTML = html_error;
	progress.style.visibility = 'visible';
	progress.style.height = '32px';
	var actualuploadsubmitrakuten = function () {
		var uploadform =  document.UploadForm1;
		if (typeof uploadform == 'undifined' || uploadform == null) {
			uploadform =  document.UploadDirectForm;
		}
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng(uploadform.theLocation.value, actualsubmitrakuten);
	}
	setTimeout(actualuploadsubmitrakuten, 1000);
}


function actualsubmitrakuten(location)
{
	var progress = document.getElementById('progress');
	var errmsg = document.getElementById('clienterrmsg');
		var uploadform =  document.UploadForm1;
		if (typeof uploadform == 'undifined' || uploadform == null) {
			uploadform =  document.UploadDirectForm;
		}
		LatLngLocation = location;
		if (LatLngLocation != null) {
			uploadform.thePrelocation.value = uploadform.theLocation.value;
			uploadform.theLatitude.value = LatLngLocation.lat();
			uploadform.theLongitude.value = LatLngLocation.lng();
		}
		if (validateUploadFormRakuten(uploadform)) {
     		document.getElementById('theTag').value += (' ' + document.getElementById('contestTag').value) ;
			uploadform.submit();
	} else {
		window.scrollTo(0, 0);
		progress.style.visibility = 'hidden';
		progress.style.height = '0px';
		errmsg.innerHTML = html_error;
	}
}

function uploadmodifysubmitrakuten()
{
	var progress = document.getElementById('progress');
	var errmsg = document.getElementById('clienterrmsg');
	html_error = '';
	errmsg.innerHTML = html_error;
	progress.style.visibility = 'visible';
	progress.style.height = '32px';
	var actualuploadmodifysubmitrakuten = function () {
		var uploadmodifyform =  document.UploadModifyConfirmForm;
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng(uploadmodifyform.theLocation.value, actualmodifysubmitrakuten);
	}
	setTimeout(actualuploadmodifysubmitrakuten, 1000);
}

function actualmodifysubmitrakuten(location)
{
	var progress = document.getElementById('progress');
	var errmsg = document.getElementById('clienterrmsg');
		var uploadmodifyform =  document.UploadModifyConfirmForm;
		LatLngLocation = location;
		if (LatLngLocation != null) {
			uploadmodifyform.thePrelocation.value = uploadmodifyform.theLocation.value;
			uploadmodifyform.theLatitude.value = LatLngLocation.lat();
			uploadmodifyform.theLongitude.value = LatLngLocation.lng();
		}
		if (validateUploadModifyFormRakuten(uploadmodifyform)) {
			uploadmodifyform.submit();
	} else {
		window.scrollTo(0, 0);
		progress.style.visibility = 'hidden';
		progress.style.height = '0px';
		errmsg.innerHTML = html_error;
	}
}


function validateUploadForm(form) {
	if (bCancel) {
		return true;
	} else{ 
		var formValidationResult;
		formValidationResult = validateFileExtension(form);
		formValidationResult = validateRequired(form) && formValidationResult;
		formValidationResult = validateMaxLength(form) && formValidationResult;
		formValidationResult = validateMapLocation(form) && formValidationResult;
		formValidationResult = validateDateElement(form) && formValidationResult;
		formValidationResult = validateRequiredChecked(form) && formValidationResult;
		formValidationResult = validateUrl(form) && formValidationResult;
		formValidationResult = validateEmail(form) && formValidationResult;
		return (formValidationResult == 1);
	}
} 

function validateUploadModifyForm(form) {
	if (bCancel) {
		return true;
	} else{ 
		var formValidationResult;
		formValidationResult = validateRequired(form);
		formValidationResult = validateMaxLength(form) && formValidationResult;
		formValidationResult = validateMapLocation(form) && formValidationResult;
		formValidationResult = validateDateElement(form) && formValidationResult;
		formValidationResult = validateUrl(form) && formValidationResult;
		return (formValidationResult == 1);
	}
} 

function validateUploadFormRakuten(form) {
	if (bCancel) {
		return true;
	} else{ 
		var formValidationResult;
		formValidationResult = validateFileExtension(form);
		formValidationResult = validateRequired(form) && formValidationResult;
		formValidationResult = validateMaxLength(form) && formValidationResult;
		formValidationResult = validateMapLocation(form) && formValidationResult;
		formValidationResult = validateDateElement(form) && formValidationResult;
		formValidationResult = validateRequiredChecked(form) && formValidationResult;
		formValidationResult = validateRakutenUrl(form) && formValidationResult;
		return (formValidationResult == 1);
	}
} 

function validateUploadModifyFormRakuten(form) {
	if (bCancel) {
		return true;
	} else{ 
		var formValidationResult;
		formValidationResult = validateRequired(form);
		formValidationResult = validateMaxLength(form) && formValidationResult;
		formValidationResult = validateMapLocation(form) && formValidationResult;
		formValidationResult = validateDateElement(form) && formValidationResult;
		formValidationResult = validateRakutenUrl(form) && formValidationResult;
		return (formValidationResult == 1);
	}
} 

function UploadForm1_required () {
	this.a0 = new Array("theFile", "アップロードするファイルを指定してください。<br>", new Function ("varName", " return this[varName];"));
	this.a1 = new Array("theTitle", "タイトルを入力してください。<br>", new Function ("varName", " return this[varName];"));
	this.a2 = new Array("theComment", "コメントを入力してください。<br>", new Function ("varName", " return this[varName];"));
	this.a3 = new Array("theSubcategory", "カテゴリーを1カテゴリ以上選択してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadForm1_maxlength () {
	this.a0 = new Array("theTitle", "タイトルは32文字以内で入力してください。<br>", new Function ("varName", "this.maxlength='64';  return this[varName];"));
	this.a1 = new Array("theComment", "コメントは1024文字以内で入力してください。<br>", new Function ("varName", "this.maxlength='2048';  return this[varName];"));
}

function UploadForm1_fileextension () {
	this.a0 = new Array("theFile", "動画形式を確認してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadForm1_validatedateelement () {
	this.a0 = new Array("theCreateyear", "theCreatemonth", "theCreatedate", "撮影日時を正しく入力してください。<br>", new Function ("varName", " return this[varName];"), 0);
}

function UploadForm1_maplocation () {
	this.a0 = new Array("theLocation", "住所が正しくありません。正しい住所を入力してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadForm1_requiredchecked () {
	this.a0 = new Array("theAgreement", "規約に同意してください。<br>", new Function ("varName", " return this[varName];"), 0);
}

function UploadForm1_url () {
	this.a0 = new Array("theURL", "URLを正しく入力してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadForm1_email () {
}

function UploadForm1_rakutenurl () {
	this.a0 = new Array("theURL", "URLはrakuten.co.jp、rakuten.ne.jpおよびrakuten.co.jp、rakuten.ne.jpのサブドメインである必要があります。<br>", new Function ("varName", " return this[varName];"));
}

function UploadDirectForm_required () { 
	this.a0 = new Array("theFile", "アップロードするファイルを指定してください。<br>", new Function ("varName", " return this[varName];"));
	this.a1 = new Array("theHandlename", "ハンドル名を入力してください。<br>", new Function ("varName", " return this[varName];"));
	this.a2 = new Array("theTitle", "タイトルを入力してください。<br>", new Function ("varName", " return this[varName];"));
	this.a3 = new Array("theComment", "コメントを入力してください。<br>", new Function ("varName", " return this[varName];"));
	this.a4 = new Array("theTag", "タグを入力してください。<br>", new Function ("varName", " return this[varName];"));
	this.a5 = new Array("theSubcategory", "カテゴリーを1カテゴリ以上選択してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadDirectForm_maxlength () { 
	this.a0 = new Array("theHandlename", "ハンドル名は32文字以内で入力してください。<br>", new Function ("varName", "this.maxlength='64';  return this[varName];"));
	this.a1 = new Array("theTitle", "タイトルは32文字以内で入力してください。<br>", new Function ("varName", "this.maxlength='64';  return this[varName];"));
	this.a2 = new Array("theComment", "コメントは1024文字以内で入力してください。<br>", new Function ("varName", "this.maxlength='2048';  return this[varName];"));
}

function UploadDirectForm_fileextension () {
	this.a0 = new Array("theFile", "動画形式を確認してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadDirectForm_validatedateelement () {
	this.a0 = new Array("theCreateyear", "theCreatemonth", "theCreatedate", "撮影日時を正しく入力してください。<br>", new Function ("varName", " return this[varName];"), 0);
}

function UploadDirectForm_maplocation () {
	this.a0 = new Array("theLocation", "住所が正しくありません。正しい住所を入力してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadDirectForm_requiredchecked () {
}

function UploadDirectForm_url () {
	this.a0 = new Array("theURL", "URLを正しく入力してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadDirectForm_rakutenurl () {
	this.a0 = new Array("theURL", "URLはrakuten.co.jp、rakuten.ne.jpおよびrakuten.co.jp、rakuten.ne.jpのサブドメインである必要があります。<br>", new Function ("varName", " return this[varName];"));
}

function UploadDirectForm_email() {
}


function UploadModifyConfirmForm_required () {
	this.a1 = new Array("theTitle", "タイトルを入力してください。<br>", new Function ("varName", " return this[varName];"));
	this.a2 = new Array("theComment", "コメントを入力してください。<br>", new Function ("varName", " return this[varName];"));
	this.a3 = new Array("theSubcategory", "カテゴリーを1カテゴリ以上選択してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadModifyConfirmForm_maxlength () {
	this.a0 = new Array("theTitle", "タイトルは32文字以内で入力してください。<br>", new Function ("varName", "this.maxlength='64';  return this[varName];"));
	this.a1 = new Array("theComment", "コメントは1024文字以内で入力してください。<br>", new Function ("varName", "this.maxlength='2048';  return this[varName];"));
}

function UploadModifyConfirmForm_fileextension () {
	this.a0 = new Array("theFile", "動画形式を確認してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadModifyConfirmForm_validatedateelement () {
	this.a0 = new Array("theCreateyear", "theCreatemonth", "theCreatedate", "撮影日時を正しく入力してください。<br>", new Function ("varName", " return this[varName];"), 0);
}

function UploadModifyConfirmForm_maplocation () {
	this.a0 = new Array("theLocation", "住所が正しくありません。正しい住所を入力してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadModifyConfirmForm_requiredchecked () {
	this.a0 = new Array("theAgreement", "規約に同意してください。<br>", new Function ("varName", " return this[varName];"), 0);
}

function UploadModifyConfirmForm_url () {
	this.a0 = new Array("theURL", "URLを正しく入力してください。<br>", new Function ("varName", " return this[varName];"));
}

function UploadModifyConfirmForm_rakutenurl () {
	this.a0 = new Array("theURL", "URLはrakuten.co.jp、rakuten.ne.jpおよびrakuten.co.jp、rakuten.ne.jpのサブドメインである必要があります。<br>", new Function ("varName", " return this[varName];"));
}
function UploadModifyConfirmForm_email () {

}
