function correctPhone(textbox) {

	var phoneValid = true;

	var myRegExpBlank = new RegExp("^\\s*$");
	var myRegExpTrPhoneNo = new RegExp("^\\s*0?[\\s\\(\\)\\-\\.]{0,3}\\d{3}[\\s\\(\\)\\-\\.]{0,3}(\\d[\\s\\(\\)\\-\\.]{0,3}){7}\\s*$");
	var myRegExpIntPhoneNo = new RegExp("^\\s*\\+[\\s\\(\\)\\-\\.]{0,3}(\\d[\\s\\(\\)\\-\\.]{0,3}){8,20}\\s*$");
	if (myRegExpTrPhoneNo.test(textbox.value)) {
		newPhone = textbox.value.replace(/[^\d]/g,""); // delete anything except numbers
		newPhone = newPhone.replace(/^0/,""); // delete the leading zero, if exists
		newPhone = "("+newPhone.substr(0,3)+") "+newPhone.substr(3,3)+" "+newPhone.substr(6,4);
		textbox.value = newPhone;
	}
	else if(myRegExpIntPhoneNo.test(textbox.value)) {
		newPhone = textbox.value.replace(/[^\d\+]/g,""); // delete anything except numbers
		textbox.value = newPhone;
	}
	else if(myRegExpBlank.test(textbox.value)) {
		textbox.value = "";
	}
	else {
		phoneValid = false;
	}
	
	if(!phoneValid) {
		alert ("Girdiğiniz numara yanlış.\n\nLütfen;\n- Dahili numaraları buraya yazmayın.\n- Uluslararası bir numara giriyorsanız başına \"+\" ekleyin.\n- Yurtiçi numaraların başına alan kodunu yazın.");
	}
}

// converts the numbers entered in inbox area into js numbers.
function convert2JSNumber (text) {
	
	text = text.replace(/\./,"");
	text = text.replace(/,/,".");
	return parseFloat(text);
	
}

function validateURL(urlText) {
	// bir url nin gecerli olup olmadigini kontrol eder
	var myRegExp = new RegExp("^https?://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$", "i");
	return myRegExp.test(urlText);
}

function validateEmail(email) {
	// bir email'in gecerli olup olmadigini kontrol eder
	var myRegExp = new RegExp("^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$", "i");
	return myRegExp.test(email);
}

function validateSemiColonSeparatedEmail(email) {
	var result = true;
	var myRegExp = new RegExp("^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$", "i");
	var arr = email.split(";");
	for(i = 0; i < arr.length; i++) {
		if(!myRegExp.test(trim(arr[i]))) { result = false; break; }
	}
	return result;
}

function validatePhone(phoneNo) {
	// bir telefon numarasinin gecerli olup olmadigini kontrol eder
	var myRegExp = new RegExp("^\\(\\d{3}\\)\\s\\d{3}\\s\\d{4}$|^\\+\\d{8,20}$", "i");
	return myRegExp.test(phoneNo);
}

// checks if a string is a blank string. to be used in form validation
function isBlank(string) {
	var myRegExpBlank = new RegExp("^\\s*$");
	if(myRegExpBlank.test(string)) {
		return true;
	}
	else {
		return false;
	}
}

function convert2JSDate(dateStr) {
	
	// converts a d/m/y format date to JS date.
	dateArray = dateStr.split("/");
	tempDate = new Date(parseInt(dateArray[2],10),parseInt(dateArray[1],10)-1,parseInt(dateArray[0],10));
	return tempDate;
	
}

function confirmDelete(message) {
	if( confirm(message) ) {
		return true;
	}
	else { return false; }
}

function trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}

// for ajax functions
function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
	}
	return xmlHttp;
}

