﻿
var Class = {create: function() { return function() { this.initialize.apply(this, arguments); } } };
var myJava = Class.create();
myJava.prototype = {
    initialize: function() {
		this.is_firefox    = false;
		this.is_ie	   = false;
		this.is_opera	   = false;
		this.version	   = null;
		this.ua			   = navigator.userAgent;
		this.charset	   = document.characterSet;
		this.outWidth	   = window.screen.availWidth;
		this.outHeight	   = window.screen.availHeight;
		this.screenHeight  = window.screen.height;
		this.screenWidth   = window.screen.width;
		this.cookie		   = navigator.cookieEnabled;
		this.platform	   = navigator.platform;
		this.IE 		   = 'MSIE';
		this.MZ 		   = 'Mozilla';
		this.OP 		   = 'Opera';
		this.browserCheck();
	},
browserCheck:function(){
		if ((i = this.ua.indexOf(this.IE)) >= 0){
			this.is_ie = true;
			this.version = parseFloat(this.trim(this.ua).substr(i + this.IE.length));
		}else if((i = this.ua.indexOf(this.MZ)) >= 0){
			this.is_firefox = true;
			this.version = parseFloat(this.trim(this.ua).substr(this.MZ.length+1,2));
		}else if((i = this.ua.indexOf(this.OP)) >= 0){
			this.is_opera = true;
			this.version = parseFloat(this.trim(this.ua).substr(this.OP.length+1,2));
		}else{
			return false;			
		}
	},
	trim : function(string){
			return  string.replace(/^\s+|\s+$/g,"");
	}
}



myJava.prototype.event = {
	add:function(element,olay,fonksiyon){
	    if(Java.is_firefox){
	        olay = olay.substr(2);
	        element.addEventListener(olay,fonksiyon,false);
	    }else{
	        element.attachEvent (olay,fonksiyon);
	    }
	},
	remove: function(element,olay,fonksiyon){
	    if(Java.is_firefox){
	        olay = olay.substr(2);
	        element.removeEventListener(olay,fonksiyon,false);
	    }else{
	        element.detachEvent(olay,fonksiyon);
	    }
	}
}






myJava.prototype.document = {

	getName :function(name){
		return document.getElementsByName(name);
	},
	getTags : function (tags){
		return document.getElementsByTagName(tags);
	},
	getId : function (id){
		return document.getElementById(id);
	},
	inHTML : function (text,id){
			var inID = this.getId(id);
			if(inID)
			inID.innerHTML = text.toString();
			//ajax cevabinda javascript varsa scriptleri sayfaya ekle
			if(this.ajaxJavaEnable)
			this.ajaxJavascript(inID);			
	},
	
    setStyle:function(element,param){
    	
    	if(typeof(element) != 'object')
				element = Java.document.getId(element);
				
    	if(Java.is_firefox || Java.is_opera){
    		element.setAttribute("style",param);	
    	}else{   	
    		element.style.cssText = param;
    	}
    },
	addStyle:function(id,param){
			
		var style;
			if(typeof(id) != 'object')
				id = this.getId(id);
				
			if(Java.is_ie)
				style =id.getAttribute("style").cssText;
			else
				style =id.getAttribute("style");
			style +=param.toString();
		this.setStyle(id,style);
	}
}




/**
* Slileder
* Java.slide.init( {id:"someimage",position:"left",xEnd:50} );
*/
myJava.prototype.slide={
	 iebug:false,
	 init:function(param){
        var id = param.id;
        var position = param.position || 'left';
       // var endStyle = param.endStyle || '';
        var xStart    =param.xStart || 0;
        var xEnd      =param.xEnd || 0;
        var millisec = param.millisec || 500;
        
        var speed = Math.round(millisec / 100);
        var timer = 0;
             
        if(xStart > xEnd) {
	        for(i = xStart; i  >= xEnd; i-=3) {
	        	window.setTimeout("Java.slide.slide(" + i + ",'" +id+ "','" +position+ "')",(timer * speed));
	         	timer++;
	        }
        }else if(xStart < xEnd) {
        	
        	for(i = xStart; i <= xEnd; i+=3) {
	            window.setTimeout("Java.slide.slide(" + i + ",'" +id+ "','" +position+ "')",(timer * speed));
		        timer++;
	        }
        }
    },
    slide:function(sayi,id,position,endStyle){
        
    	if(Java.is_firefox || Java.slide.iebug )
        Java.document.addStyle(id,";"+position+":"+sayi+"px;");
        else
        Java.document.getId(id).style.left=sayi;
    }
}

/**
* Elementin fade efekti vermesini sağlar
* ex : Java.fade.init(id,100,0,500);
*/
myJava.prototype.fade = {
	
	init:function(id, opacStart, opacEnd, millisec){
		var speed = Math.round(millisec / 100);
		var timer = 0;
			
		if(Java.is_ie && opacStart==0)
		Java.document.addStyle(Java.document.getId(id),"display:block;filter:alpha(opacity=2)");
			
		if(opacStart > opacEnd) {
	        for(i = opacStart; i >= (opacEnd-3); i-=3) {
	        	window.setTimeout("Java.fade.opac(" + i + ",'" +id+ "')",(timer * speed));
	               timer++;
	        }
	    } else if(opacStart < opacEnd) {
	        for(i = opacStart; i <= (opacEnd+3); i+=3){
	            window.setTimeout("Java.fade.opac(" + i + ",'" +id+ "')",(timer * speed));
	            timer++;
	        }
	    } 
	},
	opac:function(opacity, id) {
			var element = Java.document.getId(id);
			object = element.style;
			
		    object.opacity = (opacity / 100);
			object.MozOpacity = (opacity / 100);
			object.KhtmlOpacity = (opacity / 100);
			object.filter = "alpha(opacity=" + opacity + ")";

			if(opacity<2){
			Java.document.addStyle(element,";display:none");
			}else if(opacity===3){
			Java.document.addStyle(element,";display:block;");
			}		
	}
}



var Java = new myJava();
