var urlAddress = "http://www.StudyInUkraine.org/"; 
var pageName = "StudyInUkraine.org"; 
function addToFavorites() { if (window.external) { window.external.AddFavorite(urlAddress,pageName) 
} else { alert("Sorry! Your browser doesn't support this function."); 
}}

function tableruler()
{
	if (document.getElementsByTagName)
	{
		var tables=document.getElementsByTagName('table');
		for (var i=0;i<tables.length;i++)
		{
			if(tables[i].className=='stripped')
			{
				var trs=tables[i].getElementsByTagName('tr');
				var odd = true;
				for(var j=0;j<trs.length;j++)
				{
					if(trs[j].parentNode.nodeName=='TBODY')
					{
						if (odd) {trs[j].className='stripped';}
						odd = !odd;
					}
				}
			}
		}
	}
}

function appendInputTypeClasses()
{
	if ( !document.getElementsByTagName ) return;
	var inputs = document.getElementsByTagName('input');
	var inputLen = inputs.length;
	for (var i=0; i<inputs.length; i++)
	{
		if (inputs[i].getAttribute('type')) inputs[i].className = inputs[i].getAttribute('type');
	}
}


function popupWin(link,attribs)
{
	var popupWin = null;
	popupWin = window.open(link,'winPopup',attribs);  
}

function externalLinks()
{
	if(!document.getElementsByTagName) {return;}

	var scrW = screen.availWidth;
	var scrH = screen.availHeight;
	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++)
	{
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel"))
		{
			var linkDest = anchor.getAttribute("href");
			var relIndex = anchor.getAttribute("rel");
			var relSplit = relIndex.split("|");
			var windowAttributes = "";

			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") { anchor.target = "_blank"; }

			if(relSplit[0] == "popup")
			{
				if (relSplit[1] > scrW) {pW = scrW - 10;} else {pW = relSplit[1];}
				if (relSplit[2] > scrH) {pH = scrH - 40;} else {pH = relSplit[2];}
				scrX = (scrW - pW - 10) * .5;
				scrY = (scrH - pH - 30) * .5;
				var windowAttributes = "width=" + pW + ",height=" + pH + ",left=" + scrX + ",top=" + scrY + ",screenX=" + scrX + ",screenY=" + scrY;
				windowAttributes += ",location=" + relSplit[3] + ",resizable=" + relSplit[4] + ",scrollbars=" + relSplit[5];
				anchor.setAttribute("onclick", "return ! window.open(this.href, 'PopUp' ,'" + windowAttributes + "');");
			}
		}
	}
}
window.onload = function() {externalLinks(); tableruler(); appendInputTypeClasses();}


var Bright = 'hlight';
var Default= '';



function hl(el, style){el.className = style;}


function notEmpty(elem, err) 
{
	var str = elem.value;
	if(str == null || str.length == 0) 	{hl(elem, Bright); errorString+=err; return false;}
	else	{hl(elem,Default); return true;}
}

function validEmail(elem, err)
{
    if(elem.value.length > 0)
	{
		var str = elem.value;
	    var splitted = str.match("^(.+)@(.+)$");

	    if(splitted !== null && splitted[1] !== null)
		{
	    	var regexp_user=/^\"?[\w-_\.]*\"?$/;
		    if(splitted[1].match(regexp_user) !== null && splitted[2] !== null)
			{
		    	var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
				var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
				if((splitted[2].match(regexp_domain) !== null) || (splitted[2].match(regexp_ip) !== null))
				{
					hl(elem,Default);
					return true;
				}
			}
		
		}
	}
	hl(elem, Bright);
	errorString+=err;
	return false;
}

function notSelected(elem, val, err)
{
	if(elem.options[elem.selectedIndex].value == val) 	{hl(elem, Bright); errorString+=err; return false;}
	else	{hl(elem,Default); return true;}
}

function checkedBox(elem, err)
{
	if(elem.checked !== true) 	{hl(elem, Bright); errorString+=err; return false;}
	else	{hl(elem,Default); return true;}
}

function validateFormPartner(formname)
{
	errorString = "Please fill in following fields:     \n     \n";

	var Results = [
	notEmpty(formname.fullname, 'Name\n'),
	validEmail(formname.email, 'E-mail (valid)\n'),
	notSelected(formname.country, 0,'Country\n'),
	notEmpty(formname.comments, 'Questions or comments\n'),
	notEmpty(formname.captcha, 'Code on image\n')
	];

	if (Results[0] && Results[1] && Results[2] && Results[3] && Results[4])
	{
		return true;
	}
	else
	{
		alert(errorString);
		return false;
	}
}

function validateFormFriend(formname)
{
	errorString = "Please fill in following fields:     \n     \n";

	var Results = [
	notEmpty(formname.fullname, 'Name\n'),
	validEmail(formname.email, 'Your E-mail (valid)\n'),
	validEmail(formname.friendemail, 'Your Friend E-mail (valid)\n'),
	notEmpty(formname.comments, 'Your Comments\n'),
	notEmpty(formname.captcha, 'Code on image\n')
	];

	if (Results[0] && Results[1] && Results[2] && Results[3] && Results[4])
	{
		return true;
	}
	else
	{
		alert(errorString);
		return false;
	}
}

function validateFormApplication(formname)
{
	errorString = "Please fill in following fields:     \n     \n";

	var Results = [
	notEmpty(formname.firstname, 'First name\n'),
	notEmpty(formname.lastname, 'Last name\n'),
	notSelected(formname.day, 0,'Day of birth\n'),
	notSelected(formname.month, 0,'Month of Birth\n'),
	notEmpty(formname.year, 'Year of birth\n'),
	notEmpty(formname.address, 'Address\n'),
	notEmpty(formname.placeofbirth, 'Place of birth\n'),
	notSelected(formname.country, 0,'Country\n'),
	notEmpty(formname.nationality, 'Nationality\n'),
	notSelected(formname.fieldofstudy, 0,'I want to study\n'),
	notEmpty(formname.passport, 'Passport number\n'),
	validEmail(formname.email, 'E-mail (valid)\n'),
	notEmpty(formname.educationalbackground, 'Educational background\n'),
	notEmpty(formname.captcha, 'Code on image\n')
	];

	if (formname.fieldofstudy.options[formname.fieldofstudy.selectedIndex].value == 'Other') {Results.push(notEmpty(formname.otherfield, 'Field of study (other)\n'));}
		
	if (Results[0] && Results[1] && Results[2] && Results[3] && Results[4] && Results[5] && Results[6] && Results[7] && Results[8] && Results[9] && Results[10] && Results[11] && Results[12] && Results[13])
	{
		return true;
	}
	else
	{
		alert(errorString);
		return false;
	}
}

function checkOther(elem)
{
	if (document.getElementById)
	{
		targetInput = document.getElementById('otherfield');
		if (elem.options[elem.selectedIndex].value == 'Other') {targetInput.style.display = '';}
		else {targetInput.style.display = 'none';}
	}
}
