﻿/*-----------------------------------------------------------------------------\
| Murat Temiz 24.09.2003                                                       |
|------------------------------------------------------------------------------|
| function check_element_type											  	   |
|------------------------------------------------------------------------------|
| Formdaki giris elemanlarinin tipini kontrol eder.							   |
|------------------------------------------------------------------------------|
| ce_formField (string) | Kontrol edilmesi istenen form elemanlarının adları   |
| ce_formType  (string) | 1:kucuk harf                                		   |
|  						  2:buyuk harf                                     	   |
|  						  3:turkce kar   (Tek basina kullanilamaz)         	   |
|						  4:rakam											   |
|		                  5:bosluk  
| ce_errstring (string) | Hata mesaji										   |
|------------------------------------------------------------------------------|
| check_element_type("ad","1")					                               |
| check_element_type("ad","1.2")	          			                       |
\-----------------------------------------------------------------------------*/
var thisBrowser;

var kucukHarfler	="qwertyuiopasdfghjklzxcvbnm_";
var buyukHarfler	="QWERTYUIOPASDFGHJKLZXCVBNM_";
var trkHarfler		="ğüçşıöĞÜÇŞİÖ";
var rakamlar		="1234567890";
var karakterler		=":/\\(),;*";
var myObjId;

function browserDetect() // browser versiyonunu kontrol eder
{
	if(document.layers)
    {
		thisBrowser="NN4";
	}
	else
	{
		if(document.all)
		{
			thisBrowser="ie";
		}
		else
		{
			if(!document.all && document.getElementById)
			{
				thisBrowser="NN6+";
			}
			else
			{
				//pencereyi kapat!;
			}
		}
	}
}

browserDetect(); //browser kontrolünü çağır

var ce_errcount=0;

function check_element_type(ce_formField,ce_formType,ce_errstring)
{
	myObjId	=ce_formField;
	var charset="";
	var elisfalse =0;
	var i;
	var ce_element=eval("document.getElementById('" + ce_formField +"')") ;
	var ce_errstring_sub="";
	var ce_errstring_trk="";
	var ce_trk_char="ğüçşıöĞÜÇŞİÖ";
	var lenght_check=true;
	var ce_TagName="";
	var err=false;
	
	if(ce_formType.indexOf("0")!=-1){
		try{
			ce_TagName=ce_element.tagName+'';
		if(ce_TagName=="SELECT"){
			if(ce_element.selectedIndex==0){
				lenght_check=false;
			}
		}else{
			if(ce_element.value.length<1){
				lenght_check=false;
			}
		}
		}catch(e){}finally{}
	}	
	if(ce_formType.indexOf("0")!=-1){
		try{
			ce_TagName=ce_element.type+'';
		if(ce_TagName=="CHECKBOX" || ce_TagName=="checkbox"){

			if(ce_element.checked==false){
				lenght_check=false;
			}
		}else{
			if(ce_element.value.length<1){
				lenght_check=false;
			}
		}
		}catch(e){}finally{}
	}	
	if(ce_formType.indexOf("1")!=-1){
		charset= charset + "qwertyuiopasdfghjklzxcvbnm_";
		if(ce_formType.indexOf("3")!=-1){
			charset= charset + "ğüçşıö";
		}
	}
	if(ce_formType.indexOf("2")!=-1){
		charset= charset + "QWERTYUIOPASDFGHJKLZXCVBNM_";
		if(ce_formType.indexOf("3")!=-1){
			charset= charset + "ĞÜÇŞİÖ";
		}
	}
	if(ce_formType.indexOf("4")!=-1){
		charset= charset + "1234567890";
	}
	if(ce_formType.indexOf("5")!=-1 ){
		charset= charset + " ";
	}
	if(ce_formType.indexOf("6")!=-1){
		charset= charset + ".";
	}	
	if(ce_formType.indexOf("7")!=-1){
		charset= charset + "-";
	}
	if(ce_formType.indexOf("8")!=-1){
		charset= charset + ":/\\(),;";
	}
	if(lenght_check==false){
		if(ce_errcount==0){
			ce_setfocus(ce_formField);
			siteAlertObj("Lütfen "+ce_errstring  + " alanını boş bırakmayınız. ",ce_formField);
			if(thisBrowser=="ie")
			{
				remove_form_error_fields(0);
					create_red_point(ce_formField);
			}					
				ce_errcount=ce_errcount+1;
		}
	}else{
		if(charset!=""){
			var ce_element=eval("document.getElementById('" + ce_formField +"')") ;			
			var hataMesaji="";
			if(ce_TagName!="SELECT" || ce_TagName!="CHECKBOX" || ce_TagName!="RADIOBUTTON"){
				for( i=0; i<ce_element.value.length; i++ )
				{   
					if (charset.indexOf(ce_element.value.charAt(i))==-1)
			 		{
				    	try{
					    	if(ce_errcount==0){
			
				   				if(ce_formType.indexOf("3")==-1 && ce_trk_char.indexOf(ce_element.value.charAt(i))>0){
									ce_errstring_trk=ce_errstring_trk + " ve Türkçe karakter girmeyiniz.";
								}   			
								errChar=ce_element.value.charAt(i);				
								////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
								if (trkHarfler.indexOf(errChar)!=-1){hataMesaji=" türkçe karakter ";}
								if (kucukHarfler.indexOf(errChar)!=-1){hataMesaji=" küçük harf ";}				
								if (buyukHarfler.indexOf(errChar)!=-1){hataMesaji=" büyük harf ";}
								if (rakamlar.indexOf(errChar)!=-1){hataMesaji=" rakam ";}
								if (karakterler.indexOf(errChar)!=-1){hataMesaji=" '"+ errChar +"' ";}
								if (errChar=="."){hataMesaji=" '.' ";}
								if (errChar=="-"){hataMesaji=" '-' ";}
								if (errChar==" "){hataMesaji=" boşluk ";}				
								////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
								ce_setfocus(ce_formField);
								siteAlertObj("Lütfen "+ce_errstring + " alanına " + hataMesaji + " girmeyiniz.",ce_formField);
								if (thisBrowser=="ie")
								{
									remove_form_error_fields(0);
					   				create_red_point(ce_formField);
								}					
								ce_errcount=ce_errcount+1
				   			}
						}
					   	catch(e){}
						finally{}	
							elisfalse=1;
						return false;
				
			 		}
				
				}
			}
		}
	} 	
	if(elisfalse==0 && ce_errcount==0){
		return true;
	}else{
		return false;
	}
}
function create_red_point(cr_formField)
{
	var cr_element=eval("document.getElementById('" + cr_formField +"')") ;
	var	usttd=cr_element.offsetParent
	var kirmiziHataYildizi="<span name=\"form_error_fields\"><img src=\"/Shop/images/error_arrow.gif\"></span>";
	var newInnerHTML=usttd.innerHTML;

	usttd.innerHTML=newInnerHTML + kirmiziHataYildizi;
	var cr_element_new=eval("document.getElementById('" + cr_formField +"')") ;	
}
function remove_form_error_fields(islemistek){
	try{
		var elements=new Array();
		var d=document;
		var allElements;
		var tagName="span";
		var reobjcount=0;
		ce_errcount=0;
		if(tagName)
		{
			allElements=d.all && d.all.tags(tagName) || d.getElementsByTagName && d.getElementsByTagName(tagName);
		}else{
			allElements=d.all || d.getElementsByTagName("*");
		}
		for(var i=0,len=allElements.length; i<len; i++){
			if(allElements[i].name=="form_error_fields"){
			    if(islemistek==0){
					allElements[i].outerHTML="";
				}else{
					reobjcount=reobjcount+1
				}		
			}
			else
			{
				if(allElements[i].style.background=='#fffce0') allElements[i].style.background=='#ffffff';
			}
		
		}
		return reobjcount;
	}catch(e){}
	finally{}
 }
function is_email(email_field,mes) 
{
	if(ce_errcount==0)
	{
		e=document.getElementById(email_field).value;
		if (e=="") 
		{
			if(!mes) mes="Lütfen E-posta alanını boş geçmeyiniz.";
			siteAlertObj(mes,email_field);
			ce_errcount=ce_errcount+1 ;
			create_red_point(email_field);
			return false;
		}
		ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
		for(i=0; i < e.length ;i++)
		{
			if(ok.indexOf(e.charAt(i))<0){ 
				return false;
			}	
		} 
		if (document.images) 
		{
			re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
			re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
			if (!e.match(re) && e.match(re_two)) 
			{
			    //return(-1); 
			    return true;
			}else{
    			if(thisBrowser=="ie")
					{create_red_point(email_field);} 
				if(!mes) mes="Lütfen E-posta alanına geçerli bir e-posta adresi giriniz.";
		    		siteAlert(mes);
			    ce_errcount=ce_errcount+1 ;
    	    	return false; 				
			}
		}
	}
}
function ce_setfocus(ce_focobj){
	try{
		eval("document.getElementById('" + ce_focobj +"')").focus();
		eval("document.forms[0]."+ ce_focobj).focus();
	}catch(e){}
	finally{}
}
function submitButton_control(buttonObj)
{
	var parentObj=document.getElementById(buttonObj).offsetParent;
	parentObj.innerHTML="<input type='button' class='y_buton' value='"+document.getElementById(buttonObj).value+"'><input type='hidden' name='"+document.getElementById(buttonObj).name+"' id='"+document.getElementById(buttonObj).name+"' value='1'>";
	//document.getElementById(buttonObj).disabled=true;
	siteAlert("<b>İşleminiz gerçekleşiyor. Lütfen bekleyiniz.</b>",0);		
}
//tarih kontrol
function checkValidDate(dateStr) {
    // dateStr ay / gün / yil seklinde ayrilmis olmalidir
    // true veya false döndürür! 
    var slash1 = dateStr.indexOf("/");
    if (slash1 == -1) { slash1 = dateStr.indexOf("-"); }
    // bölüler yok ise geçersiz tarih biçimi
    if (slash1 == -1) { return false; }
    var dateMonth = dateStr.substring(0, slash1)
    var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);
    var slash2 = dateMonthAndYear.indexOf("/");
    if (slash2 == -1) { slash2 = dateMonthAndYear.indexOf("-"); }
    // ikinci slash yok ise veya geçersiz tarih ise false döner
    if (slash2 == -1) { return false; }
    var dateDay = dateMonthAndYear.substring(0, slash2);
    var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);
    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") ) { return false; }
    // eger rakamdan farkli birsey var ise yada geçersiz tarih ise false döner
    for (var x=0; x < dateMonth.length; x++) {
        var digit = dateMonth.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // ay metnini sayiya çevir
    var numMonth = 0;
    for (var x=0; x < dateMonth.length; x++) {
        digit = dateMonth.substring(x, x+1);
        numMonth *= 10;
        numMonth += parseInt(digit);
    }
    if ((numMonth <= 0) || (numMonth > 12)) { return false; }
    // gün bölümünde sayidan farkli birsey war ise yada geçersiz ise false döner
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // gün metnini rakam yap
    var numDay = 0;
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        numDay *= 10;
        numDay += parseInt(digit);
    }
    if ((numDay <= 0) || (numDay > 31)) { return false; }
    // subat 29 dan fazla olamaz(artik yil kontrolü sonra geliyor)
    if ((numMonth == 2) && (numDay > 29)) { return false; }
    // sadece 30 gün olan aylari kontrol et
    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) { 
        if (numDay > 30) { return false; } 
    }
    // yil bölümünde rakamdan farkli birsey war ise yada geçersiz ise
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // yil metnini rakama çevir
    var numYear = 0;
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        numYear *= 10;
        numYear += parseInt(digit);
    }
    // yil 2 haneli yada 4 haneli olmalidir
    if ( (dateYear.length != 2) && (dateYear.length != 4) ) { return false; }
    // eger yil 2 haneli ise 50 yilda dön
    if ( (numYear < 50) && (dateYear.length == 2) ) { numYear += 2000; }
    if ( (numYear < 100) && (dateYear.length == 2) ) { numYear += 1900; }
    if ((numYear <= 0) || (numYear > 9999)) { return false; }
    // 29 subat mi diye kontrol et
    if ((numMonth == 2) && (numDay == 29)) {
        var div4 = numYear % 4;
        var div100 = numYear % 100;
        var div400 = numYear % 400;
        // eger tam 4 de bölünemiyor ise artik yil degildir!
        if (div4 != 0) { return false; }
        // burada, yil tam 4  ile bölünebiliyor eger böyle
        // 100 ve ya 400 degil ise, 29 subat tarihi geçersiz
        if ((div100 == 0) && (div400 != 0)) { return false; }
    }
    // tarih dogrulandi!
    return true;
}