function validateForm(whichform){
	var error_msg = "";
	for (var i=0; i<whichform.elements.length; i++)	{	
		var element = whichform.elements[i];
		if (element.className.indexOf("required") != -1){
			if (!isFilled(element)) {
				error_msg = error_msg+"Please fill in the "+element.title+" field.\n";
			} else if(element.value == 0){
				//error_msg = error_msg+"Please fill in the "+element.title+" field.\n";
			}
		}
		
		if (element.className.indexOf("email") != -1) {
			if(!isEmail(element)) {
				error_msg = error_msg+"This field must be a valid email address.\n";
			}
		}
		
		if (element.className.indexOf("check_req") != -1){
			if (element.checked!=true) {
				error_msg = error_msg+"You must accept to receive Club Med's e-newsletter before submitting your request.\n";
			}
		}
		
		if (element.className.indexOf("number") != -1){
			if (!isNumber(element)) {
				error_msg = error_msg+"Quanity field must contain numbers only.\n";
			}
		}
		
		if (element.className.indexOf("upload") != -1){
			if (!isFilled(element)) {
				error_msg = error_msg+"You must select a file to upload\n";
			}
		}

	}
	if(error_msg != ""){
		alert(error_msg);
		return false;
	} else {
		return true;
	}
}

function isFilled(field) {
	if(field.value.length < 1 || field.value == 'select') {
		return false;
	} else {
		return true;
	}
}

function isNumber(field) {
	if(isNaN(field.value)) {
		return false;
	} else {
		return true;
	}
}

function prepareForms() {
	for (var i=0; i<document.forms.length; i++){
		var thisform = document.forms[i];
		thisform.onsubmit = function(){
			return validateForm(this);
		}
	}
}

function send_form(){
	var thisform = document.forms[0];
	thisform.submit();
}

function prepareSpecForm(frm_index) {
		var thisform = document.forms[frm_index];
		if(validateForm(thisform)){
			thisform.submit();
		}
		//thisform.onsubmit = function(){
			//alert('test')
			//return 
		//}
}

function isEmail(field) {
	var tlds = ".ac .ad .ae .af .ag .ai .al .am .an .ao .aq .ar .as .at .au .aw .ax .az .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bu .bv .bw .by .bz .ca .cc .cd .cf .cg .ch .ci .ck .cl .cm .cn .co .cr .cs .cu .cv .cx .cy .cz .dd .de .dj .dk .dm .do .dz .ec .ee .eg .eh .er .es .et .eu .fi .fj .fk .fm .fo .fr .ga .gb .gd .ge .gf .gg .gh .gi .gl .gm .gn .gp .gq .gr .gs .gt .gu .gw .gy .hk .hm .hn .hr .ht .hu .id .ie .il .im .in .io .iq .ir .is .it .je .jm .jo .jp .ke .kg .kh .ki .km .kn .kp .kr .kw .ky .kz .la .lb .lc .li .lk .lr .ls .lt .lu .lv .ly .ma .mc .md .mg .mh .mk .ml .mm .mn .mo .mp .mq .mr .ms .mt .mu .mv .mw .mx .my .mz .na .nc .ne .nf .ng .ni .nl .no .np .nr .nu .nz .om .pa .pe .pf .pg .ph .pk .pl .pm .pn .pr .ps .pt .pw .py .qa .re .ro .ru .rw .sa .sb .sc .sd .se .sg .sh .si .sj .sk .sl .sm .sn .so .sr .st .su .sv .sy .sz .tc .td .tf .tg .th .tj .tk .tl .tm .tn .to .tp .tr .tt .tv .tw .tz .ua .ug .uk .um .us .uy .uz .va .vc .ve .vg .vi .vn .vu .wf .ws .ye .yt .yu .za .zm .zr .zw .com .net .org 	.mil .gov .edu .nato .info .int .name .biz .museum .pro";
	
	var myRegex = new RegExp("^[A-Za-z0-9\.\-_]+@[A-Za-z0-9\.\-_]+\.[A-Za-z]+$");
	
	var inputString = field;
	var endofString = inputString.value.split('.');
	var ending = endofString.length - 1;
	var tld = endofString[ending];
	if (! inputString.value.match(myRegex)) {
		return false;
	}
	else if (tlds.search(tld) < 0) {
		return false;
	}
	else {
		return true;
	}
}

function setConfirms(){
		if(!document.getElementsByTagName) return false;
		var potential_elements = document.getElementsByTagName("a");
		for(var i=0; i<potential_elements.length; i++){
			
			if(potential_elements[i].className == 'confirm'){
				potential_elements[i].onclick = verify_delete;
			}
		}
}

function verify_delete(){
		var answer = confirm("Are you sure you want to delete this?");
		if (answer){
			return true;
		} else {
			return false;
		}
}

function delete_img(loc,id_del,q_string){
		var answer = confirm("Are you sure you want to delete this image?");
		if (answer){
			this.document.location=loc+'.php?rem='+id_del+q_string;
		} else {
			return false;
		}
}

addOnLoadEvent(setConfirms);