var emailexp = /^[a-z][a-z_0-9\-\.]+@[a-z_0-9\.\-]+\.[a-z]{2,3}$/i
var webexp = /^[a-z][a-z_0-9\-\.]+[a-z_0-9\.\-]+\.[a-z]{2,3}$/i
var phoneexp =  /^\d{12}$/

/*dont let others put my pages inside there sites
if(top.location != document.location.href) { 
  top.location = document.location.href;
}  
*/
function showStatus(status) {
	window.status=status;
}

function disableControl() {
	if (document.MyForm.check.checked == true) {
		document.MyForm.THEFILE.disabled = false;
	}
	else
	{
	document.MyForm.THEFILE.disabled = true;
	}
}

function CRLF () {
	return String.fromCharCode(10) + String.fromCharCode(13);
}

function TAB(howMany) {
	var tempStr
	for (count = 0; count < howMany; count++) {
		tempStr = tempStr & String.fromCharCode(9);
	}
}

function validateWeb(str) {	
	return webexp.test(str)
}

function validateEmail(str) {	
	return emailexp.test(str)
}

function validatePhone(str) {
	return phoneexp.test(str)
}

function StripChars(ItemsToStrip, str) {
	returnString = "";
	for (i = 0; i < str.length; i++) {  
		var c = str.charAt(i);
        	if (ItemsToStrip.indexOf(c) == -1) returnString += c;       	 	 
	}
	return returnString;
}

function AllSpace(str) {   //Makes String Blank if noting but spaces
	for (i=0; i < str.length; i++) {
		if (str.charAt(i) != " ") {
			return str;
		}
	}
	return "";
}

function SetDec(str, places) { //chops decimal places to max number of places	
	if (isNaN(str)) {
		return str;
	}
	if (str.indexOf(".") != -1) {
	    if (places > 0) {
		str = str.substring(0, eval(str.indexOf(".")) + eval(places) + eval(1));
	    } else {
		str = str.substring(0, str.indexOf("."));
	    }
	}
	return str;
}

function DateFormat(dateVal) {	
	DayVal = dateVal.getDate();
	MonthVal = dateVal.getMonth();
	YearVal = dateVal.getYear();	
	if (YearVal.length <= 2) {
		YearVal = eval(YearVal) + 2000;				
	}
//	tempStr = eval(MonthVal + 1) + "/" + DayVal + "/" + YearVal;	
	tempStr = DayVal + "/" + eval(MonthVal + 1) + "/" + YearVal;	
	return tempStr;
}

function stripNonDigits(str) {
	return str.replace(/[^0-9]/g,"")
}

function checkform(form, errColor, startColor, showAlert, showErrors, fontStyle, barReferans) {
    Error = false;	
    alertStr = "";
    for (x=0; x < form.elements.length; x++ ) {	
	fieldError = false;   
	if (form.elements(x).type == "text" || form.elements(x).type == "select-one" || form.elements(x).type == "password"  || form.elements(x).type == "textarea" || form.elements(x).type == "file") {
	    if (showErrors == true) {
		document.all[form.elements(x).name + 'Error'].innerHTML = "";
	    }		
	    form.elements(x).value = AllSpace(form.elements(x).value);
	    if (x+1 < form.length && form.elements(x+1).name.charAt(0) == "@") {
		paramStr = form.elements(x+1).name.substring(1, form.elements(x+1).name.length);
		params = null;
		params = paramStr.split("_");
			
		if (params[7] != null) {
			backColor = params[7];
		} else {
			backColor = startColor;
		} 
		
		if (params[6] != null && AllSpace(params[6]) != "" ) {
			defaultValue = params[6];
		} else {
			defaultValue = "";
		}
		if (params[1] == "NoBlank" && form.elements(x).value == "" && defaultValue == "") {
			alertStr = alertStr + "The " + params[2] + " field must not be blank." + CRLF();
			if (showErrors == true) {
				document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>The " + params[2] + " field must not be blank.</font>";
			}
			Error = true;
			fieldError = true;	
		
		} else if (params[1] == "NoBlank" && form.elements(x).value == "" && defaultValue != "") {
			form.elements(x).value = defaultValue;

		} else if (params[0] == "email") {
			if (!validateEmail(form.elements(x).value) && form.elements(x).value != "") {				
				alertStr = alertStr + "The " + params[2] + " field does not contain a valid email address." + CRLF();
				if (showErrors == true) {
					document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>The " + params[2] + " field does not contain a valid email address.</font>";
				}
				Error = true;
				fieldError = true;
			} 
		} else if (params[0] == "web") {
			if (!validateWeb(form.elements(x).value) && form.elements(x).value != "") {
				alertStr = alertStr + "The " + params[2] + " field does not contain a valid web address." + CRLF();
				if (showErrors == true) {
					document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>The " + params[2] + " field does not contain a valid web address.</font>";
				}
				Error = true;
				fieldError = true;
			}		
		} else if (params[0] == "number" && form.elements(x).value != "") {
			form.elements(x).value =  StripChars("$,%", form.elements(x).value);			
			if (params[3] != null) {
				form.elements(x).value = SetDec(form.elements(x).value, params[3]);	
			}
			if (isNaN(form.elements(x).value)) {
			 	alertStr = alertStr + "Then " + params[2] + " field does not contain a valid numeric value." + CRLF();
				if (showErrors == true) {
					document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>Then " + params[2] + " field does not contain a valid numeric value.</font>";
				}
				Error = true;
				fieldError = true;
			} else {
				if (params[4] != null) {
					if (eval(form.elements(x).value) < eval(params[4])) {
						alertStr = alertStr + "Then " + params[2] + " field must be greater than " + params[4] + CRLF();
						if (showErrors == true) {
							document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>Then " + params[2] + " field must be greater than " + params[4] + "</font>";
						}
						Error = true;
						fieldError = true;
					}
				}
				if (params[5] != null) {
					if (eval(form.elements(x).value) > eval(params[5])) {
						alertStr = alertStr + "Then " + params[2] + " field must be less than " + params[5] + CRLF();
						if (showErrors == true) {
							document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>Then " + params[2] + " field must be less than " + params[5] + "</font>";
						}
						Error = true;
						fieldError = true;
					}
				}
			}
			
		} else if (params[0] == "age" && form.elements(x).value != "") {
			
			form.elements(x).value = SetDec(form.elements(x).value,0);
			if (eval(form.elements(x).value) < 0 || eval(form.elements(x).value) > 120) {
				alertStr = alertStr + "The " + params[2] + " field doesn't appear to be a valid age." + CRLF();
				if (showErrors == true) {
					document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>The " + params[2] + " field doesn't appear to be a valid age.</font>";
				}
				Error = true;
				fieldError = true;
			}			
		} else if (params[0] == "date" && form.elements(x).value != "") {
			dateYear = new String();
			curDate = new Date();
			tempDate = new Date(form.elements(x).value);
			endDate = tempDate;
			dateYear = dateYear + tempDate.getYear();			
			if (dateYear.length <= 2) {
				dateYear = eval(dateYear) + eval(2000);				
			}			
			if (form.elements(x).value != "") {
			    if (tempDate == "NaN") {
				alertStr = alertStr + "The " + params[2] + " field is not a valid date." + CRLF();
				if (showErrors == true) {
					document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>Then " + params[2] + " field is not a valid date.</font>";
				}
				Error = true;
				fieldError = true;			
			    } else if (params[4] != null && dateYear < eval(curDate.getYear()) - eval(params[4])) {
				alertStr = alertStr + "The " + params[2] + " field is too low." + CRLF();
				if (showErrors == true) {
					document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>Then " + params[2] + " field is too low.</font>";
				}
				Error = true;
				fieldError = true;			
	
			    } else if (params[5] != null && dateYear > eval(curDate.getYear()) + eval(params[5])) {
				alertStr = alertStr + "The " + params[2] + " field is too high." + CRLF();
				if (showErrors == true) {
					document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>Then " + params[2] + " field is too high.</font>";
				}
				Error = true;
				fieldError = true;			
	
			    } else {
				form.elements(x).value = DateFormat(endDate);
			    }
			}
		} else if (params[0] == "phone" && form.elements(x).value != "") {
			form.elements(x).value = stripNonDigits(form.elements(x).value)
			if (validatePhone(form.elements(x).value)) {
			    	tempP = form.elements(x).value	
			    	form.elements(x).value = "+" + tempP.substring(0, 2) + " (" + tempP.substring(2, 5) + ") " + tempP.substring(5, 8) + "-" + tempP.substring(8, 12)
			} else {
			    	alertStr = alertStr + "The " + params[2] + " field is invalid.  Please include the full phone number including area code." + CRLF();
				if (showErrors == true) {
					document.all[form.elements(x).name + 'Error'].innerHTML = "<font  style='" + fontStyle + "'>Then " + params[2] + " field is invalid.  Please include the full phone number including area code.</font>";
				}
				Error = true;
				fieldError = true;	
			}
		} else if (params[1] == "fileType") {
		//*****************************************************************//
		//control file type
		var fileName = form.elements(x).value;
	
		var ln = fileName.length;
		var type = "";
	
		if((fileName.value != "") && (document.MyForm.check.checked == true)) {
	
			for (var i=ln-4; i<ln; i++) {
				type = type+fileName.charAt(i);
			}
			
			if((type.toLowerCase() != ".jpg")&&(type.toLowerCase() != ".gif")) {
				alertStr = alertStr + "Dosya turu uygun degil/nDosya turu JPG veya GIF olmalıdır.";
				Error = true;
				fieldError = true;
			}
		} 
		//*******************************************************************//
		} else if (params[0] == "SWF") {
		//*****************************************************************//
		//control SWF type
			var fileName = form.elements(x).value;
		
			var ln = fileName.length;
			var type = "";
		
			for (var i=ln-4; i<ln; i++) {
				type = type+fileName.charAt(i);
			}
			
			if(type.toLowerCase() != ".swf") {
				alertStr = alertStr + "Dosya turu uygun degil/nDosya turu SWF olmalıdır.";
				Error = true;
				fieldError = true;
			}
		} else if (params[0] == "picControl") {
		//*****************************************************************//
		//control SWF type
			var fileName = form.elements(x).value;
		
			var ln = fileName.length;
			var type = "";
		
			for (var i=ln-4; i<ln; i++) {
				type = type+fileName.charAt(i);
			}
			
			if((type.toLowerCase() != ".jpg")&&(type.toLowerCase() != ".gif")) {
				alertStr = alertStr + "Dosya turu uygun degil/nDosya turu JPG veya GIF olmalıdır.";
				Error = true;
				fieldError = true;
			}
		} else if (params[1] == "pdfZipRar") {
		//*****************************************************************//
		//control SWF type
			var fileName = form.elements(x).value;
		
			var ln = fileName.length;
			var type = "";
		
			for (var i=ln-4; i<ln; i++) {
				type = type+fileName.charAt(i);
			}
			
			if((type.toLowerCase() != ".pdf")&&(type.toLowerCase() != ".zip")&&(type.toLowerCase() != ".rar")&&(type.toLowerCase() != ".doc")&&(type.toLowerCase() != ".xls")) {
				alertStr = alertStr + "Dosya turu uygun degil/nDosya turu DOC, XLS, PDF,ZiP veya RAR olmalıdır.";
				Error = true;
				fieldError = true;
			}
		} else if (params[1] == "SwfGif") {
		//*****************************************************************//
		//control SWF type
			var fileName = form.elements(x).value;
		
			var ln = fileName.length;
			var type = "";
		
			for (var i=ln-4; i<ln; i++) {
				type = type+fileName.charAt(i);
			}
			
			if((type.toLowerCase() != ".swf")&&(type.toLowerCase() != ".gif")) {
				alertStr = alertStr + "Dosya turu uygun degil/nDosya turu SWF veya GiF olmalıdır.";
				Error = true;
				fieldError = true;
			}
		}
		//*******************************************************************//		
		if (fieldError == true) {
			form.elements(x).style.background = errColor;
	    	} else {
			form.elements(x).style.background = backColor;
	   	}			
	    } 
	}				
    }
    
    if (Error == true) {
		if (showAlert == true) {
			alert (alertStr);
		}
		return false;
    } else {
//**********************************************************//
	//****************************//
		if (barReferans != '') {
			strAppVersion = navigator.appVersion;
			if (strAppVersion.indexOf('MSIE') != -1 && strAppVersion.substr(strAppVersion.indexOf('MSIE')+5,1) > 4)	{
				winstyle = "dialogWidth=385px; dialogHeight:140px; center:yes";
				window.showModelessDialog(barReferans+'&b=IE',null,winstyle);
			} else	{
				window.open(barReferans+'&b=NN','','width=370,height=115', true);
			}
		}
	//****************************//
	}
//**********************************************************//
}

//********** Show Date Funcion *************************//
function ShowDate(date_form, date_field) {
	var windowW=260
	var windowH=200
	var windowX = 100
	var windowY = 130
	var	url='calendar.asp?date_form=' + date_form + '&date_field=' + date_field;
	
	s = "scrollbars=no resizable=no"+",width="+windowW+",height="+windowH;

	//For IE only really, in Netscape and other browsers you'll still get a top bar.
	blwindow = window.open(url,"_blank",s);
	windowX = (screen.width) ? (screen.width-windowW)/2 : 0;
	windowY = (screen.height) ? (screen.height-windowH)/2 : 0;
	blwindow.focus();
	blwindow.resizeTo(windowW,windowH);
	blwindow.moveTo(windowX,windowY);
}
//*********** End Show Date Function ******************//

//********** Show Window Funcion *************************//
function ShowWindow(url,windowW,windowH,windowX,windowY) {
	
	s = "scrollbars=no resizable=no"+",width="+windowW+",height="+windowH;

	//For IE only really, in Netscape and other browsers you'll still get a top bar.
	blwindow = window.open(url,"_blank",s);
	windowX = (screen.width) ? (screen.width-windowW)/2 : 0;
	windowY = (screen.height) ? (screen.height-windowH)/2 : 0;
	blwindow.focus();
	blwindow.resizeTo(windowW,windowH);
	blwindow.moveTo(windowX,windowY);
}
//*********** End Show Window Function ******************//

//*********** RollOverImages ****************************//
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//****************** End RollOverImages ************************//

//****************** Calculate Characters in TExtArea ************************//
function textareaCounter(messageId, counterId, maxChars) {
	var myTextArea=document.getElementById(messageId);
	var myCounter=document.getElementById(counterId);

	if (myTextArea.value.length > maxChars)
		myTextArea.value = myTextArea.value.substring(0, maxChars);
	else
		myCounter.value = maxChars - myTextArea.value.length;
}
//****************** END Calculate Characters in TExtArea ************************//

//****************** Add To Favorites ************************//
function addToFavorites() {
	if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) {
	    window.external.AddFavorite(location.href, document.title);
	}
}
//****************** END Add To Favorites ************************//

//****************** OPEN POLL STATUS PAGE ************************//
function openWin(URL,Name,butt) 
{
  window.open(URL,Name,butt);
}
//****************** END OPEN POLL STATUS PAGE ************************//