/*  TeeTime Functions
 *  (c) 2008 Martin Donchev
 *
 *--------------------------------------------------------------------------*/


var News_LatestNews_Hightlight_Class="NewsLatestMoreLinkHolder_Highlight";
var News_LatestNews_Normal_Class="NewsLatestMoreLinkHolder";







function setClassName(obj, new_style) {
    obj.className = new_style;
}


// ----------------------------------------------------
// Courses

function CoursesContactsValidate(language) {
	
	language="bg";
	
	var Courses_Validation_Texts_bg_Validation_PreText= "Моля въведете следните задължителни полета:";
	var Courses_Validation_Texts_bg_request_field= "Запитване";
	var Courses_Validation_Texts_bg_name_field= "Вашето име и фамилия";
	var Courses_Validation_Texts_bg_phone_field= "Телефон";
	var Courses_Validation_Texts_bg_email_field= "E-mail";
	var Courses_Validation_Texts_bg_code_field= "Код";
	var Courses_Validation_Texts_bg_invalid_email= "Невалиден E-mail";


	
	errorsArray = new Array();
	
	if ($('name').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_name_field"));} 
	if ($('request').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_request_field"));} 
	if ($('phone').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_phone_field"));} 
	if ($('email').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_email_field"));} 
	if ($('code').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_code_field"));} 
	
	if (($('email').value!="") && (!validateEmail($('email').value))) {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_invalid_email"));} 
	
	if (errorsArray.length>0) {
		
		alert(eval("Courses_Validation_Texts_"+language+"_Validation_PreText")+"\n\n"+errorsArray.join("\n"));
		return false;
		
	} else {
		
		return true;
		
	}

	
	
}

// ----------------------------------------------------
// Contact

function ContactValidate(language) {
	
	language="bg";
	
	var Courses_Validation_Texts_bg_Validation_PreText= "Моля въведете следните задължителни полета:";
	var Courses_Validation_Texts_bg_request_field= "Запитване";
	var Courses_Validation_Texts_bg_name_field= "Вашето име и фамилия";
	var Courses_Validation_Texts_bg_phone_field= "Телефон";
	var Courses_Validation_Texts_bg_email_field= "E-mail";
	var Courses_Validation_Texts_bg_code_field= "Код";
	var Courses_Validation_Texts_bg_invalid_email= "Невалиден E-mail";

	
	errorsArray = new Array();
	
	if ($('name').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_name_field"));} 
	if ($('request').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_request_field"));} 
	if ($('phone').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_phone_field"));} 
	if ($('email').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_email_field"));} 
	if ($('code').value=="") {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_code_field"));} 
	
	if (($('email').value!="") && (!validateEmail($('email').value))) {errorsArray.push("* "+eval("Courses_Validation_Texts_"+language+"_invalid_email"));} 
	
	if (errorsArray.length>0) {
		
		alert(eval("Courses_Validation_Texts_"+language+"_Validation_PreText")+"\n\n"+errorsArray.join("\n"));
		return false;
		
	} else {
		
		return true;
		
	}
	
	
	
}


function validateEmail(emailStr) {


	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {
		return false;
	}

	var user=matchArray[1];
	var domain=matchArray[2];


	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			return false;
		}
	}

	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			return false;
		}
	}


	if (user.match(userPat)==null) {
		return false;
	}


	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {

		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false;
			}
		}

		return true;
	}


	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			return false;
		}
	}



	if (checkTLD && domArr[domArr.length-1].length!=2 && 
		domArr[domArr.length-1].search(knownDomsPat)==-1) {
		return false;
	}


	if (len<2) {
		return false;
	}


return true;
}
