﻿// MagiClick Javascript Framework v0.1
// some routines dropped from prototype.js ;)
// Author: Omerz
var MinDate = Date.parse("01.01.0001 00:00:00");
var EnableClientDebugging = false;
function debug(debDetails){
    if(EnableClientDebugging && $.browser.msie){
        console.log(debDetails)
    }
}

jQuery.fn.extend({
  scrollTo : function(speed, easing) {
    return this.each(function() {
      var targetOffset = $(this).offset().top;
      $('html,body').animate({scrollTop: targetOffset}, speed, easing);
    });
  }
});

$.preloadImage = function(args){
    if((typeof args) == "string"){
        var preImg = new Image();
        preImg.src = args;
    } else if((typeof args) == "object") {    
        for(var x=0;x<args.length;x++){
            var preImg = new Image();
            preImg.src = args[x];
            /*preImg.onload=function(){
                console.log("Image " + this.src + " preloaded");
            };*/
        }
    }
}

// Text evaulation routines
function EvalBool(o){
    if(o == null){
        return "<img src=\"_i/icon_2.gif\" alt=\"\"/>";
    } else {
        switch(typeof o){
            case 'string':
                if(o=="E"||o=="1")
                    return "<img src=\"_i/icon_1.gif\" alt=\"\" align=\"absmiddle\"/> Evet";
                else
                    return "<img src=\"_i/icon_2.gif\" alt=\"\" align=\"absmiddle\"/> Hayır";
            break;
            case 'number':
                if(o==1)
                    return "<img src=\"_i/icon_1.gif\" alt=\"\" align=\"absmiddle\"/>";
                else
                    return "<img src=\"_i/icon_2.gif\" alt=\"\" align=\"absmiddle\"/>";
            break;
            case 'boolean':
                if(o)
                    return "<img src=\"_i/icon_1.gif\" alt=\"\" align=\"absmiddle\"/>";
                else
                    return "<img src=\"_i/icon_2.gif\" alt=\"\" align=\"absmiddle\"/>";
            break;
        }
    }
    return null;
}

function EvalNull(o){
    if (o == null)
    {
        return "<img src=\"_i/icon_3.gif\" alt=\"\" />";
    }
    else
    {
        switch(typeof o){
            case 'number':
                if(o>0)
                    return o;
                else
                    return "<img src=\"_i/icon_3.gif\" alt=\"\" align=\"absmiddle\" />";
            break;
            case 'string':
                if(o.length==0)
                   return "<img src=\"_i/icon_3.gif\" alt=\"\" />"; 
            break;
        }
    }
    return o;
}

function EvalDate(o){
    if(o==null)
        return null;
    if(o._orient != null && o._is !=null){
        if(MinDate.equals(o)) return null;    
        return o.toString("dd.MM.yyyy HH:mm");
    } else {
        return null;
    }
}

function EvalFileExt(o){
    if(o==null)
        return null;
    var dotPos = o.lastIndexOf(".");
    if (dotPos <= 0) return null;
    dotPos++;
    var strExt = o.substring(dotPos, o.length);
    return strExt;
}

function EvalFileExtIcon(o){
    if(o==null)
        return null;
    var strExt = EvalFileExt(o);
    return "<img src=\"_i/icons/ico_" + strExt + ".png\" alt=\"\" align=\"absmiddle\" />";
}

function SetStateCookie(_id,_root,_state)
{
    var date = new Date();
    date.setTime(date.getTime() + (365 * 2 * 3 * 24 * 60 * 60 * 1000));
    $.cookie("state_"+_id,_state,_root,{expires:date});
}

function GetStateCookie(_id,_root)
{
    return $.cookie("state_"+_id);
}

function lookupRecord(intRecID,dataSource,equals)
{
    if(dataSource == null)
        return null;
    // lookup record in loaded records
    var x;
    for(var x=0;x<dataSource.length;x++)
    {
        if(eval("dataSource[x]." + equals + "==intRecID"))
        {
            return {record: dataSource[x],index: x};
        }
    }
}

function onlyLetter(e) {
	var InvalidChars="!#/*{[()]},;%^><\\?+:='`|é&æ~£$½¨ß";
	
	var keyCode = ($.browser.mozilla) ? e.which : event.keyCode;

	if (keyCode > 47 && keyCode<58){
	return false;}
	for (i=0;i<=InvalidChars.length-1;i++) {
		if (keyCode==InvalidChars.charCodeAt(i)) {
			return false;
		}
	}
}


function onlyNumber(e) {
	var keyCode = ($.browser.mozilla) ? e.which : event.keyCode;
	if ((keyCode<48 || keyCode>57)&&keyCode!=8&&keyCode!=0) {
	return false;}
}

function onlyTelNumber(sender) {
    
    if(sender.value!="" && !isTelNumberValid(sender.value))
    {
        alert("Girdiğiniz Telefon Numarası hatalıdır. Lütfen kontrol ediniz");
        sender.value="";
        return false;
    }
}

function isTelNumberValid(value)
{
    var exp = new RegExp(/^([0-9]{3}\s{0,1}[0-9]{2}\s{0,1}[0-9]{2})$/);
    var match = exp.exec(value);
    return (match!=null);
}

function onlyEmail(e) {
	var InvalidChars=" !#/*{[()]},;%^><\\?+:='`|şŞĞğÜüÇçİıÖö";

	kCode=InvalidChars.charAt(5);

	var keyCode = ($.browser.mozilla) ? e.which : event.keyCode;

	if (keyCode>127) {
		return false;
	}
	for (i=0;i<=InvalidChars.length-1;i++) {
		if (keyCode==InvalidChars.charCodeAt(i)) {
			return false;
		}
	}
	return true;
}
function mailTo(m,css,e) {
	if (!e) {
		e='ulker.com';
	}
	document.write('<a href="mailto:'+m+String.fromCharCode(64)+e+'" class="'+css+'">'+m+String.fromCharCode(64)+e+'</a>');
}
function getCenter(pwidth,pheight){
	wwidth=screen.width;
	wheigth=screen.height;
	lpos= (wwidth - pwidth)/2;
	tpos= (wheigth - pheight)/2;
	return lpos, tpos;
}


function PopItUp(src,w,h,s) {
	if(s) w=w+17;
	getCenter(w,h);
	Popwin = window.open(src,"pop_up","toolbar=0,width=" + w + ", height=" + h + ", left="+ lpos +", top="+ tpos +"; location=0, directories=0, status=1, scrollbars="+s+", menubar=0, resizable=0, copyhistory=0");
	Popwin.focus();

}

$(document).ready(function(){
    if($.WebServices!=null){
        $.WebServices.onError = function(err,extraDetails){
            if(err.description=!null && err.description.indexOf("401.2 - Unauthorized")>-1)
            {
                location.href = "AccessDenied.aspx";
            } else {
                alert("Veri alınırken hata oluştu!", "Hata");
                debug("$.WebServices.onError ->");
                debug(extraDetails);
                debug(err.description);				
            }
        };
    }    
    
    if(EnableClientDebugging && $.browser.msie){
        console.log("Magic Debugging enabled!");
        window.onerror = function(msg,url,lno){
            debug("Document Error ->" + url + " at line " + lno);
            debug("Message:" + msg);
            return true;
        };
        
        $.WebServices.onBeforeCall = function(uri,soapEnv){
            debug("$.WebServices.onBeforeCall -> URI:" + uri);
            debug(soapEnv);
            return true;
        };
        
        $.WebServices.onFinally = function(xhr, textStatus){
            debug("$.WebServices.onFinally -> State:" + textStatus);
            debug(xhr.responseText);
            return true;
        };
    }
    
    // JFR Definitions    
   /* jfr$('h1').jfr({
        src:'_swf/jfr/helvetica.swf',
        css:[
            '* { color: #ff6600; text-align: left; font-size:18px; line-height:18px; }',
            'a { color: #ff6600; text-decoration: none; }',
            'a:hover { text-decoration: underline; }'
            ]
    });
    
    
    jfr$('h2').jfr({
        src:'../_swf/jfr/helvetica.swf',
        css:[
            '* { color: #ff6600; text-align: left; }',
            'a { color: #ff6600; text-decoration: none; }',
            'a:hover { text-decoration: underline; }'
            ]
    });
    
    jfr$('h3').jfr({
        src:'../_swf/jfr/helvetica.swf',
        css:[
            '* { color: #ff6600; text-align: left; font-size:13px;  }',
            'a { color: #ff6600; text-decoration: none; }',
            'a:hover { text-decoration: underline; }'
            ]
    });
    
    $.jfr.render();*/
    /*
    if($("#footer").length>0){
        $("#footer").css("display","block");
        $(window).bind("resize",function(){
            if($(window).height()>($("#container").height()+$("#footer").height()))
                $("#footer").css("margin-top",$(window).height() - $("#container").height() - $("#footer").height()+ "px");
            else
                $("#footer").css("margin-top","0px");
        });
        $(window).trigger("resize");
    }
    
    
    $(".faqItem .faqTitle a").click(function(){
    // soru indeksi getiriliyor
    var _index = $(".faqItem .faqTitle a").index(this);
        // eger ayni soruya tiklaniyorsa, false donuyoruz
        if($(".faqItem").eq(_index).hasClass("active")) {
            $(".faqItem").eq(_index).removeClass("active")
            $(".faqItem .faqContent").eq(_index).slideUp("slow");
            return false;
        }
        // tüm elementlerde dolasip, class temizleyip slideup yapiliyor
        $(".faqItem").removeClass("active");
        $(".faqContent").slideUp("slow");
        $(".faqItem").eq(_index).addClass("active");
        $($(".faqItem .faqContent").eq(_index)).slideToggle("slow");
      // linki disable etmek icin return false
      return false;
	})*/
	
   
	
});