Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Javascript / DHTML / Ajax

Cevapla
 
LinkBack Seçenekler
Eski 01/05/2007, 21:47   #1 (permalink)
Onaysız Üye
 
not:found Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2006
Mesaj: 227
Ok Biz de Kütüphanemizi Oluşturalım (Javascript / Dhtml / Ajax Kütüphanesi )

Kısa kısa Tüm kodlarımızı burda toplayıp php bölümündeki php kütüphanesi tarzında birde javascript kütüphanesi yapsak nasıl olur mesela ? ben başlatayım .
Cookie Sayaç :
Sitenize kaç kişinin ziyaret ettiğini cookie ile belirleyen sayac . . . Gayet Başarılı .

PHP Kodu:
<script language="Javascript"><!--
// www.necroshine.tk
function getCookieVal (offset) {
  var 
endstr document.cookie.indexOf (";"offset);  if (endstr == -1)
    
endstr document.cookie.length;
  return 
unescape(document.cookie.substring(offsetendstr));}
function 
GetCookie (name) {  var arg name "=";  var alen arg.length;
  var 
clen document.cookie.length;  var 0;  while (clen) {
    var 
alen;    if (document.cookie.substring(ij) == arg)
      return 
getCookieVal (j);    document.cookie.indexOf(" "i) + 1;
    if (
== 0)       break;  }  return null;}function SetCookie (namevalue) {
  var 
argv SetCookie.arguments;  var argc SetCookie.arguments.length;
  var 
expires = (argc 2) ? argv[2] : null;
  var 
path = (argc 3) ? argv[3] : null;
  var 
domain = (argc 4) ? argv[4] : null;
  var 
secure = (argc 5) ? argv[5] : false;
  
document.cookie name "=" escape (value) +
    ((
expires == null) ? "" : ("; expires=" expires.toGMTString())) +
    ((
path == null) ? "" : ("; path=" path)) +
    ((
domain == null) ? "" : ("; domain=" domain)) +
    ((
secure == true) ? "; secure" "");}function DeleteCookie(name) {
  var 
exp = new Date();  FixCookieDate (exp); // Mac Bug için düzeltme
  
exp.setTime (exp.getTime() - 1);  // cookies geçmişi
  
var cval GetCookie (name);  if (cval != null)
    
document.cookie name "=" cval "; expires=" exp.toGMTString();}
var 
expdate = new Date();var num_visits;
expdate.setTime(expdate.getTime() + (5*24*60*60*1000));
if (!(
num_visits GetCookie("num_visits")))  num_visits 0;num_visits++;
SetCookie("num_visits",num_visits,expdate);//--></script>
<script language="Javascript"><!--
document.write("<font size=3 face=tahoma><b>"+num_visits+"</b></face> kere bu sayfaya girdiler.");//-->
</script> 

Açılır Menü :
Bu Kod İle gayet hoş bir açılır menü elde edebilirsiniz ! .

PHP Kodu:
<html>
<
head>
<
style>
bodybackground-color:#666666; font-family:arial;}
table{font-size:80%;
background:black;
width:80%}
a{color:black;text-decoration:none;font:bold}
a:hover{color:#FF0000}
td.menu{background:lightblue}
table.menu
{
font-size:100%;
position:absolute;
visibility:hidden;

}
</
style>
<
script type="text/javascript">
function 
showmenu(elmnt)
{
document.getElementById(elmnt).style.visibility="visible"
}
function 
hidemenu(elmnt)
{
document.getElementById(elmnt).style.visibility="hidden"
}
</script>
</head>

<body>

<table border="1">
 <tr bgcolor="#FF8080">
  <td onMouseOver="showmenu('link1')" onMouseOut="hidemenu('link1')">
   <a href="#">Linkler</a><br />
   <table class="menu" id="link1" width="120">
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
  <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   </table>
  </td>
  <td onMouseOver="showmenu('link2')" onMouseOut="hidemenu('link2')">
   <a href="#">Linkler</a><br />
   <table class="menu" id="link2" width="120">
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
  <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
 <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   </table>
  </td>
  <td onMouseOver="showmenu('link3')" onMouseOut="hidemenu('link3')">
   <a href="#">Linkler</a><br />
   <table class="menu" id="link3" width="120">
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
  <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   <tr><td class="menu"><a href="http://www.yahoo.com">Yahoo</a></td></tr>
   </table>
  </td>
 </tr>
</table>
<p> </p>
</body>

</html> 
Açıklamalı link

Linklere Açıklama Katmak İçin Güzel bir script

PHP Kodu:

<SCRIPT>
     var 
tip=new Array
           
tip[0]='Ana sayfaya<br>  dönmek için...'
           
tip[1]='Ücretsiz hizmetlerimizden yararlanabilmeniz<br> için üye olmanız gerekmektedir!'
           
tip[2]='Siteniz için ,50 farklı seçenekli<br> istatistikli sayaç'
           
tip[3]='Siteniz için, bannersiz,<br> popupsız ziyaretçi defteri'
           
     
function showtip(current,e,num)
        {
         if (
document.layers// Netscape 4.0+
            
{
             
theString="<DIV CLASS='ttip'>"+tip[num]+"</DIV>"
             
document.tooltip.document.write(theString)
             
document.tooltip.document.close()
             
document.tooltip.left=e.pageX+14
             document
.tooltip.top=e.pageY+2
             document
.tooltip.visibility="show"
            
}
         else
           {
            if(
document.getElementById// Netscape 6.0+ and Internet Explorer 5.0+
              
{
               
elm=document.getElementById("tooltip")
               
elml=current
               elm
.innerHTML=tip[num]
               
elm.style.height=elml.style.height
               elm
.style.top=parseInt(elml.offsetTop+elml.offsetHeight)
               
elm.style.left=parseInt(elml.offsetLeft+elml.offsetWidth+10)
               
elm.style.visibility "visible"
              
}
           }
        }
function 
hidetip(){
if (
document.layers// Netscape 4.0+
   
{
    
document.tooltip.visibility="hidden"
   
}
else
  {
   if(
document.getElementById// Netscape 6.0+ and Internet Explorer 5.0+
     
{
      
elm.style.visibility="hidden"
     
}
  } 
}
</SCRIPT>
<DIV id=tooltip 
style="BACKGROUND-COLOR: lightyellow; BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FONT-SIZE: 12px; PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; PADDING-TOP: 1px; POSITION: absolute; VISIBILITY: hidden; layer-background-color: lightyellow"></DIV><A 
href="http://www.dynamicdrive.com/" onmouseout=hidetip() 
onmouseover="showtip(this,event,'0')">Ana Sayfa</A> <BR><A 
href="http://www.javascriptkit.com/" onmouseout=hidetip() 
onmouseover="showtip(this,event,'1')">Üye Ol</A> <BR><A 
href="http://www.requestcode.com/" onmouseout=hidetip() 
onmouseover="showtip(this,event,'2')">İstatistikli Sayaç</A> <BR><A 
href="http://www.htmlgoodies.com/" onmouseout=hidetip() 
onmouseover="showtip(this,event,'3')">Ziyaretçi Defteri</A> 
Basit Bir Takvim Scripti :

Ziyaretçilerinize Takvim Şeklinde Tarih Göstermek İstiyorsanız sizin için gerçekten ideal

PHP Kodu:
<style type="text/css">

.
main {
width:200px;
border:1px solid black;
}

.
month {
background-color:black;
font:bold 12px verdana;
color:white;
}

.
daysofweek {
background-color:gray;
font:bold 12px verdana;
color:white;
}

.
days {
font-size12px;
font-family:verdana;
color:black;
background-colorlightyellow;
padding2px;
}

.
days #today{
font-weightbold;
colorred;
}

</
style>


<
script type="text/javascript">

var 
todaydate=new Date()
var 
curmonth=todaydate.getMonth()+//get current month (1-12)
var curyear=todaydate.getFullYear() //get current year

document.write(buildCal(curmonth ,curyear"main""month""daysofweek""days"1));
</script> 
Kullanımı (örnek):


Kod:
document.write(buildCal(4, 2003, "main", "month", "daysofweek", "days", 0))
not:found hatta değil   Alıntı Yaparak Yanıtla
Eski 01/05/2007, 22:00   #2 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,877
Varsayılan

Javascript için jsan modülleri yazmak daha mantıklı olur gibi geliyor bana. Jsan ın üzerinde çalışmadığı bir kaç konu bulup, modül yazarsak daha iyi. Ancak yine de sabitlenmesinde fayda görüyorum. Birkaç ay deneyelim. popüler olursa, tutarsa sabit bırakalım.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 01/05/2007, 22:03   #3 (permalink)
Onaysız Üye
 
not:found Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2006
Mesaj: 227
Varsayılan

Linke Tıklıyoruz Ve İstediğimiz bir İnputa linke tıkladıgımızda cıkan kucuk bır popup tarihlerin bulundugu takvimden sectıgımız tarihi yazdırıyoruz işte kodları

PHP Kodu:
<script language="JavaScript">
if (
document.all) {
 
document.writeln("<div id=\"PopUpCalendar\" style=\"position:absolute; left:0px; top:0px; z-index:7; width:200px; height:77px; overflow: visible; visibility: hidden; background-color: #FFFFFF; border: 1px none #000000\" onMouseOver=\"if(ppcTI){clearTimeout(ppcTI);ppcTI=false;}\" onMouseOut=\"ppcTI=setTimeout(\'hideCalendar()\',500)\">");
 
document.writeln("<div id=\"monthSelector\" style=\"position:absolute; left:0px; top:0px; z-index:9; width:181px; height:27px; overflow: visible; visibility:inherit\">");}
else if (
document.layers) {
 
document.writeln("<layer id=\"PopUpCalendar\" pagex=\"0\" pagey=\"0\" width=\"200\" height=\"200\" z-index=\"100\" visibility=\"hide\" bgcolor=\"#FFFFFF\" onMouseOver=\"if(ppcTI){clearTimeout(ppcTI);ppcTI=false;}\" onMouseOut=\"ppcTI=setTimeout('hideCalendar()',500)\">");
 
document.writeln("<layer id=\"monthSelector\" left=\"0\" top=\"0\" width=\"181\" height=\"27\" z-index=\"9\" visibility=\"inherit\">");}
else {
 
document.writeln("<p><font color=\"#FF0000\"><b>Error ! The current browser is either too old or too modern (usind DOM document structure).</b></font></p>");}
</script>
<noscript><p><font color="#FF0000"><b>JavaScript is not activated !</b></font></p></noscript>
<table border="1" cellspacing="1" cellpadding="2" width="200" bordercolorlight="#000000" bordercolordark="#000000" vspace="0" hspace="0"><form name="ppcMonthList"><tr><td align="center" bgcolor="#CCCCCC"><a href="javascript:moveMonth('Back')" onMouseOver="window.status=' ';return true;"><font face="Arial, Helvetica, sans-serif" size="2" color="#000000"><b>< </b></font></a><font face="MS Sans Serif, sans-serif" size="1"> 
<select name="sItem" onMouseOut="if(ppcIE){window.event.cancelBubble = true;}" onChange="switchMonth(this.options[this.selectedIndex].value)" style="font-family: 'MS Sans Serif', sans-serif; font-size: 9pt"><option value="0" selected>2000 • January</option><option value="1">2000 • February</option><option value="2">2000 • March</option><option value="3">2000 • April</option><option value="4">2000 • May</option><option value="5">2000 • June</option><option value="6">2000 • July</option><option value="7">2000 • August</option><option value="8">2000 • September</option><option value="9">2000 • October</option><option value="10">2000 • November</option><option value="11">2000 • December</option><option value="0">2001 • January</option></select></font><a href="javascript:moveMonth('Forward')" onMouseOver="window.status=' ';return true;"><font face="Arial, Helvetica, sans-serif" size="2" color="#000000"><b> ></b></font></a></td></tr></form></table>
<table border="1" cellspacing="1" cellpadding="2" bordercolorlight="#000000" bordercolordark="#000000" width="200" vspace="0" hspace="0"><tr align="center" bgcolor="#CCCCCC"><td width="20" bgcolor="#FFFFCC"><b><font face="MS Sans Serif, sans-serif" size="1">Su</font></b></td><td width="20"><b><font face="MS Sans Serif, sans-serif" size="1">Mo</font></b></td><td width="20"><b><font face="MS Sans Serif, sans-serif" size="1">Tu</font></b></td><td width="20"><b><font face="MS Sans Serif, sans-serif" size="1">We</font></b></td><td width="20"><b><font face="MS Sans Serif, sans-serif" size="1">Th</font></b></td><td width="20"><b><font face="MS Sans Serif, sans-serif" size="1">Fr</font></b></td><td width="20" bgcolor="#FFFFCC"><b><font face="MS Sans Serif, sans-serif" size="1">Sa</font></b></td></tr></table>
<script language="JavaScript">
if (document.all) {
 document.writeln("</div>");
 document.writeln("<div id=\"monthDays\" style=\"position:absolute; left:0px; top:52px; z-index:8; width:200px; height:17px; overflow: visible; visibility:inherit; background-color: #FFFFFF; border: 1px none #000000\"> </div></div>");}
else if (document.layers) {
 document.writeln("</layer>");
 document.writeln("<layer id=\"monthDays\" left=\"0\" top=\"52\" width=\"200\" height=\"17\" z-index=\"8\" bgcolor=\"#FFFFFF\" visibility=\"inherit\"> </layer></layer>");}
else {/*NOP*/}
</script> 
Kullanımı :

Kod:
<a href="#" onClick="getCalendarFor(document.test.test2);return false">[ Tarih Seç ]</a>
not:found hatta değil   Alıntı Yaparak Yanıtla
Eski 01/05/2007, 22:14   #4 (permalink)
Hipokondriyak
 
hiko Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 06/2004
Mesaj: 627
Varsayılan

Alıntı:
anov, mesajından alıntı: Mesajı Gör
Javascript için jsan modülleri yazmak daha mantıklı olur gibi geliyor bana. Jsan ın üzerinde çalışmadığı bir kaç konu bulup, modül yazarsak daha iyi. Ancak yine de sabitlenmesinde fayda görüyorum. Birkaç ay deneyelim. popüler olursa, tutarsa sabit bırakalım.
Bahsettigin şey JSON mudur? JSAN midir? İkisi aynı şeymidir? Birbirinden farklılar mıdır? Ben onu JSON olarak biliyordum. Fakat JSAN (JavaScript Archive Network is a comprehensive resource for Open Source JavaScript libraries and software.) ile ufak bir araştırma yaptım.

JSON ise, Javascript object Notation imiş. (Ajax kullanırken her seferinde XML Parse etmenin, her gönderilen istekte yeniden bir DOM ağacı oluşturmanın zorlukları karşısında geliştirilmiş yazım tarzı phyton'a benzeyen bir nesne ifade sistemi. Bkz.)
hiko hatta değil   Alıntı Yaparak Yanıtla
Eski 02/05/2007, 14:47   #5 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,877
Varsayılan

İmzamda geçen Javascript archive network den bahsediyorum. Json u kastetmiyorum. İkisi aynı şey değil. Linkini bir daha vereyim: (sen vermişin zaten ama)

Javascript archive network

Bu kalitede modüller geliştirmemize az bir zaman kaldı.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 02/05/2007, 14:57   #6 (permalink)
Astronot!
 
gblack Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: Mars
Mesaj: 262
Varsayılan

form validation örneği. sadece formdaki required ile başlayan form elemanlarının dolu olup olmadığını kontrol eder.

Alıntı:
<script>
function checkrequired(which){
var pass=true
if (document.images){
for (i=0;i<which.length;i++){
var tempobj=which.elements[i]
if (tempobj.name.substring(0,8)=="required"){
if (((tempobj.type=="text"||tempobj.type=="textarea") &&tempobj.value=='')||(tempobj.type.toString().cha rAt(0)=="s"&&tempobj.selectedIndex==-1)){
pass=false
break
}
}
}
}
if (!pass){
alert("One or more of the required elements are not completed. Please complete them, then submit again!")
return false
}
else
return true
}
</script>
kullanımı:
Alıntı:
<form onSubmit="return checkrequired(this)">
<input type="text" name="requiredname">*<br />
<input type="text" name="requiredemail">*<br />
<select name="requiredhobby">*
<option>....</option>
</select><br />
<textarea name="comments"></textarea>
<input type="submit" name="Submit" value="Submit" />
</form>
__________________
Sine scientia ars nihil est... ~ 999 Oyun ~
~ muaseret ~ msn2!
gblack hatta değil   Alıntı Yaparak Yanıtla
Eski 02/05/2007, 14:58   #7 (permalink)
Astronot!
 
gblack Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: Mars
Mesaj: 262
Varsayılan

timer örneği.

Alıntı:
<SCRIPT LANGUAGE="JavaScript">
<!--
var secs=0;
var timerID = null;
var timerRunning = true;
var delay = 1000;

function InitializeTimer()
{
secs = 3; // kaç saniye bekleneceği
StartTheTimer();
}

function StopTheClock()
{
if (timerRunning)
{
clearTimeout(timerID);
timerRunning = false;
}
}

function StartTheTimer()
{
if (secs==0)
{
secs = timerRunning=false;
alert("Zaman Doldu") // yada yapılacak diğer işlemler
}
//self.status = secs;
secs = secs - 1;
if (timerRunning)
{
timerID = self.setTimeout("StartTheTimer()", delay);
}
}
//--></SCRIPT>
kullanımı
Alıntı:
<body onLoad="InitializeTimer()">
__________________
Sine scientia ars nihil est... ~ 999 Oyun ~
~ muaseret ~ msn2!
gblack hatta değil   Alıntı Yaparak Yanıtla
Eski 02/05/2007, 15:01   #8 (permalink)
Astronot!
 
gblack Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: Mars
Mesaj: 262
Varsayılan

form elemanları için giriş maskeleri hazırlamanıza yarıyor. çok kullanışlı. prototype.js kütüphanesine ihtiyac duyuyor ama.

PHP Kodu:
if ( typeof(Xaprb) === 'undefined' ) {
   
Xaprb = new Object();
}

Xaprb.InputMask = {

   
masks: {
      
date_iso: {
         
format'    -  -  ',
         
regex:  /d/
      },
      
date_us: {
         
format'  /  /    ',
         
regex:  /d/
      },
      
time: {
         
format'  :  :  ',
         
regex:  /d/
      },
      
phone: {
         
format'(   )   -    ',
         
regex:  /d/
      },
      
ssn: {
         
format'   -  -    ',
         
regex:  /d/
      },
      
visa: {
         
format'    -    -    -    ',
         
regex:  /d/
      }
   },

   
/* Finds every element with class input_mask and applies masks to them.
    */
   
setupElementMasks: function() {
      if ( 
document.getElementsByClassName ) { // Requires the Prototype library
         
document.getElementsByClassName('input_mask').each(function(item) {
            
Event.observe(item'keypress',
               
Xaprb.InputMask.applyMask.bindAsEventListener(item), true);
         });
      }
   },
   

   
/* This is triggered when the key is pressed in the form input.  It is
    * bound to the element, so 'this' is the input element.
    */
   
applyMask: function(event) {
      var 
match = /mask_(w+)/.exec(this.className);
      if ( 
match.length == && Xaprb.InputMask.masks[match[1]] ) {
         var 
mask Xaprb.InputMask.masks[match[1]];
         var 
key  Xaprb.InputMask.getKey(event);

         if ( 
Xaprb.InputMask.isPrintable(key) ) {
            var 
ch      String.fromCharCode(key);
            var 
str     this.value ch;
            var 
pos     str.length;
            if ( 
mask.regex.test(ch) && pos <= mask.format.length ) {
               if ( 
mask.format.charAt(pos 1) != ' ' ) {
                  
str this.value mask.format.charAt(pos 1) + ch;
               }
               
this.value str;
            }
            
Event.stop(event);
         }
      }
   },

   
/* Returns true if the key is a printable character.
    */
   
isPrintable: function(key) {
      return ( 
key >= 32 && key 127 );
   },

   
/* Returns the key code associated with the event.
    */
   
getKey: function(e) {
      return 
window.event window.event.keyCode
           
e            e.which
           
:                0;
   }
};[/
quote]kullanımı:
 [
quote]  <head>
<
script type="text/javascript" language="javascript" src="prototype.js"></script>
   <style type="text/css">
   input.text, textarea, select {
      font-size:    1.1em;
      line-height:  1.3em;
      border-color: #7C7C7C #C3C3C3 #DDD;
      border-style: solid;
      border-width: 1px;
      background:   #FFF url(fieldbg.gif) repeat-x top;
   }
   label {
      width:      400px;
      display:    block;
      text-align: right;
   }
   </style></head>

<body onload="Xaprb.InputMask.setupElementMasks()">
<form action="" method="get">

<label for="input_date">Date (US format)
   <input id="input_date" class="text input_mask mask_date_us" type="text">
</label>
<label for="input_time">Time
   <input id="input_time" class="text input_mask mask_time" type="text">
</label>
<label for="input_phone">Phone number
   <input id="input_phone" class="text input_mask mask_phone" type="text">
</label>
</form> 
__________________
Sine scientia ars nihil est... ~ 999 Oyun ~
~ muaseret ~ msn2!

Enson 04/10/2008 01:52 tarihinde chesterx tarafından düzenlenmiştir..
gblack hatta değil   Alıntı Yaparak Yanıtla
Eski 02/05/2007, 16:20   #9 (permalink)
katodivaihe
 
Psychaos Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 07/2003
Yer: istanbul
Mesaj: 693
Varsayılan

PHP Kodu:
// ARRAY FUNCTIONS -----------------------------------------------------------------------------

// Verilen değerin array olup olmadığını kontrol eder
// kullanımı : [1,2,3].isArray()
    
Array.prototype.isArray = function(){
        if(
this.constructor.toString().indexOf("Array") != -1)
            return 
true;
        else
            return 
false;
    };
    
// Verilen değerin array içinde olup olmadığını kontrol eder
// kullanımı : [1,2,3].inArray(3)
    
Array.prototype.inArray = function(param){
        var 
this.length;
        if(
0){
            do{
                if(
this[i] === param) return true;
            }while(
i--)
        }
        return 
false;
    };

// Array içindeki değerlerin toplamını alır
// kullanımı : [1,2,3].sum()
    
Array.prototype.sum = function(){
        for(var