2011-12-23 10:34:21 +00:00
//Created by Harry Bomrah on Sep 21 2011
$rss = jQuery . noConflict ( ) ;
var rcom = {
//Pass dom and will return binded dom with starting year till current
insertDatePanel : function ( dom , year ) {
if ( ! year ) year = 1901 ;
if ( dom == "" ) return false ;
domid = dom . attr ( "id" ) ;
var dt = new Date ( ) ;
current _year = dt . getFullYear ( ) ;
var dthtml = "Year: <select name='" + domid + "_year'>" ;
for ( i = current _year ; i >= year ; i -- ) {
dthtml += "<option value='" + i + "'>" + i + "</option>" ;
}
dthtml += "</select> Date: <select name='" + domid + "_date'>" ;
for ( i = 1 ; i <= 31 ; i ++ ) {
if ( i < 10 )
dthtml += "<option value='0" + i + "'>" + i + "</option>" ;
else
dthtml += "<option value='" + i + "'>" + i + "</option>" ;
}
dthtml += "</select> Month: <select name='" + domid + "_month'>" ;
var months = Array ( "" , "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ) ;
for ( i = 1 ; i < 12 ; i ++ ) {
if ( i < 10 )
dthtml += "<option value='0" + i + "'>" + months [ i ] + "</option>" ;
else
dthtml += "<option value='" + i + "'>" + months [ i ] + "</option>" ;
}
dthtml += "</select>" ;
dom . html ( dthtml ) ;
} ,
//loading overlay around a dom...
loadingWrapper : function ( dom , display ) {
if ( display ) {
dom . prepend ( "<div id='loading_wrapper' class='loading'></div>" ) ;
$rss ( "#loading_wrapper" ) . height ( dom . height ( ) ) ;
$rss ( "#loading_wrapper" ) . width ( dom . width ( ) ) ;
} else {
domId = dom . attr ( "id" ) ;
$rss ( "#" + domId + " #loading_wrapper" ) . remove ( ) ;
}
} ,
//validating a dom....
validate : function ( dom , validation , errormsg ) {
var domValue = dom . val ( ) ;
var error = false ;
var regex = "" ;
var msg = "" ;
switch ( validation ) {
case "required" :
if ( domValue == "" ) error = true ;
msg = "Cannot be empty." ;
break ;
case "email" :
regex = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/ ;
msg = "Invalid Email Address." ;
break ;
case "number" :
regex = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/ ;
msg = "Only numbers are accepted." ;
break ;
case "alphanumeric" :
regex = /^\s*[a-zA-Z0-9,\s]+\s*$/ ;
msg = "Only numbers, alphabets and spaces are allowed." ;
break ;
}
domId = dom . attr ( "name" ) ;
if ( errormsg == "" ) errormsg = msg ;
if ( regex != "" ) if ( ! regex . test ( domValue ) ) error = true ;
if ( error ) { $rss ( "#" + domId + "_error" ) . remove ( ) ; dom . after ( "<span id='" + domId + "_error' class='error'>" + errormsg + "</span>" ) ; return false ; } else { $rss ( "#" + domId + "_error" ) . remove ( ) ; return true ; }
} ,
bindToSpinner : function ( dom , data , callbackFn ) {
var domId = dom . attr ( "id" ) ;
var dhtml = "" ;
var spinnerValue = Array ( ) ;
var spinnerDisplay = Array ( ) ;
$rss . each ( data , function ( i , it ) {
$rss . each ( data [ i ] , function ( key , it ) {
spinnerValue . push ( it ) ;
} ) ;
} ) ;
dhtml = "<select name='" + domId + "'>" ;
for ( i = 0 , y = 1 , z = 0 ; i < spinnerValue . length / 2 ; i ++ , y += 2 , z += 2 ) {
dhtml += "<option value='" + spinnerValue [ z ] + "'>" + spinnerValue [ y ] + "</option>" ;
}
dhtml += "</select>" ;
dom . html ( dhtml ) ;
if ( typeof callbackFn == "function" )
callbackFn . call ( this , dhtml ) ;
} ,
//binds the recieved json to a table
bindToTable : function ( dom , data , headers , actions , css _class , callbackFn ) {
if ( ! css _class ) css _class = "" ;
var dhtml = "<table width='100%' cellpadding='5' cellspacing='5' class='" + css _class + "' ><thead><tr>" ;
var domId = dom . attr ( "id" ) ;
if ( actions ) {
var btnTitles = Array ( ) ;
var btnFunctions = Array ( ) ;
$rss . each ( actions , function ( title , func ) {
btnTitles . push ( title ) ;
btnFunctions . push ( func ) ;
} ) ;
rcom . translate ( btnTitles , function ( convertedData ) {
btnTitles = convertedData . slice ( ) ;
rcom . translate ( headers , function ( convertedData ) {
headers = convertedData ;
if ( ! data ) return ;
$rss . each ( headers , function ( i , head ) {
dhtml += "<th>" + head + "</th>" ;
} ) ;
dhtml += "</thead></tr>" ;
if ( data . length == 0 ) dhtml += "<tr><td colspan='" + headers . length + "' align='center'>No Data</td></tr>" ;
$rss . each ( data , function ( i , item ) {
var cl = "" ;
if ( i % 2 != 0 ) cl = "even" ;
dhtml += "<tr id='" + domId + "_" + item . id + "' class='" + cl + "'>" ;
$rss . each ( item , function ( i , it ) {
if ( i != "id" ) {
if ( it == null ) it = "Not Set" ;
dhtml += "<td align='center'>" + it + "</td>" ;
}
} )
dhtml += "<td align='center'>" ;
for ( x = 0 ; x < btnTitles . length ; x ++ ) {
dhtml += "<button onclick='" + btnFunctions [ x ] + "(" + item . id + ")'>" + btnTitles [ x ] + "</button>" ;
}
dhtml += "</td>" ;
dhtml += "</tr>" ;
} ) ;
dhtml += "</table>" ;
dom . html ( dhtml ) ;
} ) ;
} ) ;
} else {
rcom . translate ( headers , function ( convertedData ) {
headers = convertedData ;
if ( ! data ) return ;
if ( headers . length > 0 ) {
$rss . each ( headers , function ( i , head ) {
dhtml += "<th>" + head + "</th>" ;
} ) ;
}
dhtml += "</thead></tr>" ;
if ( data . length == 0 ) dhtml += "<tr><td colspan='" + headers . length + "' align='center'>No Data</td></tr>" ;
$rss . each ( data , function ( i , item ) {
var cl = "" ;
if ( i % 2 != 0 ) cl = "even" ;
dhtml += "<tr id='" + domId + "_" + item . id + "' class='" + cl + "'>" ;
$rss . each ( item , function ( i , it ) {
if ( i != "id" ) {
if ( it == null ) it = "Not Set" ;
dhtml += "<td align='center'>" + it + "</td>" ;
}
} )
dhtml += "</tr>" ;
} ) ;
dhtml += "</table>" ;
dom . html ( dhtml ) ;
} ) ;
}
if ( typeof callbackFn == "function" )
callbackFn . call ( this , dhtml ) ;
} ,
//convert to date string which can be directly inserted in database or according to any format.
convertToInsertableDate : function ( y , m , d , format ) {
var dt = "" ;
if ( m < 10 ) m = "0" + m ;
if ( d < 10 ) d = "0" + d ;
switch ( format ) {
case "yyyy-mm-dd" :
dt = y + "-" + m + "-" + d ;
break ;
case "dd-mm-yyyy" :
dt = d + "-" + m + "-" + y ;
break ;
case "mm-dd-yyyy" :
dt = m + "-" + d + "-" + y ;
break ;
default :
dt = y + "-" + m + "-" + d ;
break ;
}
return dt ;
} ,
//a fucntion to show specific divs and hide all other
showDoms : function ( doms ) {
$rss ( "body" ) . find ( "div" ) . each ( function ( ) { $rss ( this ) . hide ( ) ; } ) ;
$rss . each ( doms , function ( i , dom ) {
dom . show ( ) ;
} ) ;
} ,
//a function to translate the word or array..
translate : function ( data , callbackFn ) {
var cdata = "" ;
var status = true ;
if ( ! data ) {
if ( typeof callbackFn == "function" )
callbackFn . call ( this , cdata ) ;
status = false ;
}
if ( data == "" ) {
if ( typeof callbackFn == "function" )
callbackFn . call ( this , cdata ) ;
status = false ;
}
if ( status ) {
$rss . getJSON ( "../../classes/translate.php" , { fn : "translateThis" , tData : data } , function ( convertedData ) {
if ( typeof callbackFn == "function" )
callbackFn . call ( this , convertedData ) ;
} ) ;
}
} ,
// a function to bind JSON to list
bindToList : function ( dom , data , callbackFn ) {
var domId = dom . attr ( "id" ) ;
var dhtml = "" ;
var listValue = Array ( ) ;
var listDisplay = Array ( ) ;
$rss . each ( data , function ( i , it ) {
$rss . each ( data [ i ] , function ( key , it ) {
listValue . push ( it ) ;
} ) ;
} ) ;
dhtml = "<ul id='" + domId + "_list'>" ;
for ( i = 0 , y = 1 , z = 0 ; i < listValue . length / 2 ; i ++ , y += 2 , z += 2 ) {
dhtml += "<li id='li_" + listValue [ z ] + "'>" + listValue [ y ] + "</li>" ;
}
dhtml += "</ul>" ;
dom . html ( dhtml ) ;
if ( typeof callbackFn == "function" )
callbackFn . call ( this , dhtml ) ;
} ,
makeDraggable : function ( handler , dom ) {
handler . css ( "position" , "absolute" ) ;
dom . css ( "position" , "absolute" ) ;
var puranix = 0 ;
var nayeex = 0 ;
var puraniy = 0 ;
var nayeey = 0 ;
var offset = "" ;
var zIndex = dom . css ( "z-index" ) ;
handler . mousedown ( function ( e ) {
puranix = e . clientX ;
puraniy = e . clientY ;
offset = dom . offset ( ) ;
$rss ( this ) . mousemove ( function ( e ) {
nayeex = e . clientX - puranix ;
nayeex += offset . left ;
nayeey = e . clientY - puraniy ;
nayeey += offset . top ;
dom . css ( { "left" : nayeex + "px" , "top" : nayeey + "px" , "z-index" : "9999" } ) ;
} )
} ) . mouseup ( function ( ) {
$rss ( this ) . unbind ( "mousemove" ) ;
dom . css ( "z-index" , zIndex ) ;
} )
} ,
//automatically scrolls to the bottom of the div
scrollToBottom : function ( dom ) {
var domId = dom . attr ( "id" ) ;
// var domScrollHeight = document.getElementById(domId).scrollHeight;
var obj = document . getElementById ( domId ) ;
if ( ( obj . scrollTop + 100 ) >= ( obj . scrollHeight - obj . offsetHeight ) )
dom . scrollTop ( obj . scrollHeight ) ;
} ,
/ * a j a x l o a d i n g o f i m a g e s . . . n e e d s f o l l o w i n g s e t t i n g s
dom : in which images ve to be loaded
url : the server url for making ajax calls
limit : how many images to load
divClass : the class of div surrounding each image
nameClass : class for span showing name
fn : function to be called in on the server
imageSrc : the image source of all the images .
bindTo : to bind images to a onclick function or else will be binded to normal a tag .
urlKey : to specify the key of the value . . if bindTo is used , this will be neglected . .
returns json ;
* /
loadImages : function ( settings , callbackFn ) {
var dom = settings . dom ;
var domid = dom . attr ( "id" ) ;
var temp _array = Array ( ) ;
var starting = $rss ( "#" + domid + " img:last" ) . attr ( "id" ) ;
if ( typeof starting != 'undefined' ) {
starting = starting . substr ( 4 , starting . length - 1 ) ;
} else { starting = 0 } ;
var temp _var = "" ;
var json = "" ;
var dhtml = "" ;
var extraparam = "" ;
if ( typeof settings . extraParam != "undefined" ) {
extraparam = settings . extraParam ;
}
$rss . getJSON ( settings . url , { fn : settings . fn , id : settings . whereId , limit : settings . limit , start : starting , extra : extraparam } , function ( images ) {
json = eval ( images ) ;
$rss . each ( images , function ( i , pic ) {
var temp _array = Array ( ) ;
var a _var = Array ( ) ;
var name _var = "" ;
var title = "" ;
$rss . each ( pic , function ( i , value ) {
temp _array . push ( value ) ;
} )
if ( temp _array . length >= 4 ) {
name _var = "<span class='" + settings . nameClass + "'>" + temp _array [ 3 ] + "</span></div>"
}
if ( temp _array [ 2 ] == null )
title = "" ;
else
title = temp _array [ 2 ] ;
if ( typeof settings . bindTo != "undefined" ) {
a _var [ 1 ] = "onclick='" + settings . bindTo + "(" + temp _array [ 0 ] + ");return false;'" ;
a _var [ 0 ] = "" ;
} else { a _var [ 0 ] = '?' + settings . urlKey + '=' + temp _array [ 0 ] ; a _var [ 1 ] = "" ; }
dhtml = "<div class='" + settings . divClass + "' id='img_holder_" + temp _array [ 0 ] + "' ><a href='" + a _var [ 0 ] + "' " + a _var [ 1 ] + " title='" + title + "'><img id='pic_" + temp _array [ 0 ] + "' style='display:none' src='" + settings . imageSrc + temp _array [ 1 ] + "' /></a>" + name _var ;
dom . delay ( 100 ) . append ( dhtml ) ;
$rss ( "#pic_" + pic . id ) . delay ( 100 ) . fadeIn ( 200 ) ;
} )
if ( typeof callbackFn == "function" )
callbackFn . call ( this , json ) ;
} )
} ,
//function to get url variables...
getUrlVars : function ( ) {
var vars = [ ] , hash ;
var hashes = window . location . href . slice ( window . location . href . indexOf ( '?' ) + 1 ) . split ( '&' ) ;
for ( var i = 0 ; i < hashes . length ; i ++ ) {
hash = hashes [ i ] . split ( '=' ) ;
vars . push ( hash [ 0 ] ) ;
vars [ hash [ 0 ] ] = hash [ 1 ] ;
}
return vars ;
} ,
/ * f u n c t i o n t o o p e n a m o d a l w i n d o w o n a p a g e . . s e l f r e l i a n t n o i m a g e s , n o c s s n e e d e d .
settings
width : in percentage or pixcel
height : in percentage or pixcel
closeBtn : true or false
envClose : closing through background click , true or flase
loadDiv : load html from a div
loadPage : load a page
loadHtml : load html
* /
modalWindow : function ( settings , callbackFn ) {
var envClose = settings . envClose ;
var dhtml = "" ;
if ( typeof envClose == "undefined" )
envClose = true ;
var closeBtn = settings . closeBtn ;
if ( typeof closeBtn == "undefined" )
closeBtn = true ;
var rgmaskHeight = $rss ( window ) . height ( ) ;
var rgmaskWidth = $rss ( window ) . width ( ) ;
var tempheight = settings . height ;
var tempwidth = settings . width ;
2011-12-29 06:09:06 +00:00
var maxheight = ( rgmaskHeight * 85 ) / 100 ;
var maxwidth = ( rgmaskWidth * 85 ) / 100 ;
2011-12-23 10:34:21 +00:00
if ( typeof tempheight != "undefined" ) {
2012-07-25 08:20:07 +00:00
tempheight = tempheight . toString ( ) ;
2011-12-23 10:34:21 +00:00
if ( tempheight . charAt ( tempheight . length - 1 ) == '%' )
tempheight = ( rgmaskHeight * parseInt ( tempheight . substr ( 0 , tempheight . length ) ) ) / 100 ;
2011-12-29 06:09:06 +00:00
if ( tempheight > maxheight )
tempheight = maxheight ;
2011-12-23 10:34:21 +00:00
} else { tempheight = "auto" ; }
if ( typeof tempwidth != "undefined" ) {
2012-07-25 08:20:07 +00:00
tempwidth = tempwidth . toString ( ) ;
2011-12-23 10:34:21 +00:00
if ( tempwidth . charAt ( tempwidth . length - 1 ) == '%' )
tempwidth = ( rgmaskWidth * parseInt ( tempwidth . substr ( 0 , tempwidth . length ) ) ) / 100 ;
2011-12-29 06:09:06 +00:00
if ( tempwidth > maxwidth )
tempwidth = maxwidth ;
2011-12-23 10:34:21 +00:00
} else { tempwidth = "auto" ; }
$rss ( "body" ) . append ( '<div class="rgmask" id="rgsheath" style="height:' + rgmaskHeight + 'px"></div>' ) ;
2012-01-24 03:38:53 +00:00
$rss ( "#rgsheath" ) . css ( { background : "#000" , width : "100%" , position : "fixed" , top : 0 , left : 0 , opacity : 0.5 , 'z-index' : 199 } ) ;
2011-12-23 10:34:21 +00:00
$rss ( "body" ) . append ( '<div id="rgWindow"></div>' ) ;
2012-01-24 03:38:53 +00:00
$rss ( "#rgWindow" ) . css ( { "position" : "fixed" , "z-index" : "999" , "background" : "#fff" , "border" : "solid 1px #ccc" , "padding" : "10px" , "border-radius" : "5px" , "-webkit-border-radius" : "5px" , "-moz-border-radius" : "5px" , "-ms-border-radius" : "5px" , "box-shadow" : "0 0 20px rgba(0,0,0,0.7)" , "-webkit-box-shadow" : "0 0 20px rgba(0,0,0,0.7)" , "-moz-box-shadow" : "0 0 20px rgba(0,0,0,0.7)" , "-ms-box-shadow" : "0 0 20px rgba(0,0,0,0.7)" } ) ;
2011-12-23 10:34:21 +00:00
var rgWTop = ( rgmaskHeight - 20 ) / 2 ;
var rgWLeft = ( rgmaskWidth - 20 ) / 2 ;
$rss ( "#rgWindow" ) . css ( { top : rgWTop + "px" , left : rgWLeft + "px" } ) ;
if ( typeof settings . loadDiv != "undefined" ) {
2012-07-19 07:44:44 +00:00
dhtml = $rss ( settings . loadDiv ) . html ( ) ;
2011-12-23 10:34:21 +00:00
$rss ( "#rgWindow" ) . html ( dhtml ) . hide ( ) ;
prepareWindow ( ) ;
}
if ( typeof settings . loadHtml != "undefined" ) {
dhtml = settings . loadHtml ;
$rss ( "#rgWindow" ) . html ( dhtml ) . hide ( ) ;
prepareWindow ( ) ;
}
if ( typeof settings . loadPage != "undefined" ) {
$rss ( "#rgWindow" ) . load ( settings . loadPage , function ( ) { $rss ( this ) . hide ( ) ; dhtml = $rss ( this ) . html ( ) ; prepareWindow ( ) ; } ) ;
}
function prepareWindow ( ) {
if ( tempheight != "auto" )
rgWTop = ( rgmaskHeight - tempheight ) / 2 ;
else {
2012-07-19 07:44:44 +00:00
tempheight = $rss ( "#rgWindow" ) . height ( ) + 30 ;
2011-12-29 06:09:06 +00:00
if ( tempheight > maxheight )
tempheight = maxheight ;
2011-12-23 10:34:21 +00:00
rgWTop = ( rgmaskHeight - tempheight ) / 2 ;
}
if ( tempwidth != "auto" )
rgWLeft = ( rgmaskWidth - tempwidth ) / 2 ;
else {
tempwidth = $rss ( "#rgWindow" ) . width ( ) ;
2011-12-29 06:09:06 +00:00
if ( tempwidth > maxwidth )
tempwidth = maxwidth ;
2011-12-23 10:34:21 +00:00
rgWLeft = ( rgmaskWidth - tempwidth ) / 2 ;
}
2011-12-29 11:45:21 +00:00
tempwidth = parseInt ( tempwidth ) + 25 ;
2011-12-23 10:34:21 +00:00
$rss ( "#rgWindow" ) . empty ( ) . show ( ) ;
var closebtn = "" ;
if ( closeBtn )
2012-01-24 03:38:53 +00:00
closebtn = '<a href="" style="display:block; width:20px; height:20px; line-height:19px; text-align:center; position:absolute; right:-10px; top: -10px; font-family:Tahoma; font-weight:bold; border:solid 1px #000; border-radius: 10px;text-shadow:0px 1px 0 #DDD; background-color:#CCC; font-size:10px; text-decoration:none; color:#666; padding-left:1px; box-shadow: 0 0 5px #000000;" id="close_modal">X</a>' ;
$rss ( "#rgWindow" ) . animate ( { "width" : tempwidth + "px" , "height" : tempheight + "px" , top : rgWTop + "px" , left : rgWLeft + "px" } , 500 , function ( ) { $rss ( "#rgWindow" ) . html ( closebtn + "<div id='rgContent' style='padding:5px; overflow:auto; overflow-x:none; height:" + tempheight + "px;'>" + dhtml + "</div>" ) ;
2011-12-23 10:34:21 +00:00
$rss ( "#close_modal" ) . mouseover ( function ( ) { $rss ( this ) . css ( "color" , "#999" ) ; } ) . mouseout ( function ( ) { $rss ( this ) . css ( "color" , "#666" ) ; } )
$rss ( "#close_modal" ) . click ( function ( ) {
$rss ( "#rgWindow" ) . empty ( ) ;
var x = ( rgmaskHeight - 20 ) / 2 ;
var y = ( rgmaskWidth - 20 ) / 2 ;
$rss ( "#rgWindow" ) . animate ( { top : x + "px" , left : y + "px" , "width" : "50px" , "height" : "50px" } , 300 , function ( ) { $rss ( this ) . fadeOut ( 100 ) . remove ( ) ; $rss ( "#rgsheath" ) . fadeOut ( 500 ) . remove ( ) ; } ) ;
return false ;
} )
if ( envClose )
$rss ( "#rgsheath" ) . click ( function ( ) {
$rss ( "#rgWindow" ) . empty ( ) ;
var x = ( rgmaskHeight - 20 ) / 2 ;
var y = ( rgmaskWidth - 20 ) / 2 ;
$rss ( "#rgWindow" ) . animate ( { top : x + "px" , left : y + "px" , "width" : "50px" , "height" : "50px" } , 300 , function ( ) { $rss ( this ) . fadeOut ( 100 ) . remove ( ) ; $rss ( "#rgsheath" ) . fadeOut ( 500 ) . remove ( ) ; } ) ; } )
if ( typeof callbackFn == "function" )
2012-07-19 07:44:44 +00:00
callbackFn . call ( this , $rss ( "#rgWindow" ) ) ;
2011-12-23 10:34:21 +00:00
} ) ;
}
} ,
2011-12-29 06:09:06 +00:00
modalWindowUpdate : function ( settings , callbackFn ) {
var rgmaskHeight = $rss ( window ) . height ( ) ;
var rgmaskWidth = $rss ( window ) . width ( ) ;
var tempheight = settings . height ;
var tempwidth = settings . width ;
var dhtml = "" ;
var maxheight = ( rgmaskHeight * 85 ) / 100 ;
var maxwidth = ( rgmaskWidth * 85 ) / 100 ;
if ( typeof tempheight != "undefined" ) {
2012-07-25 08:20:07 +00:00
tempheight = tempheight . toString ( ) ;
2011-12-29 06:09:06 +00:00
if ( tempheight . charAt ( tempheight . length - 1 ) == '%' )
tempheight = ( rgmaskHeight * parseInt ( tempheight . substr ( 0 , tempheight . length ) ) ) / 100 ;
if ( tempheight > maxheight )
tempheight = maxheight ;
} else { tempheight = "auto" ; }
if ( typeof tempwidth != "undefined" ) {
2012-07-25 08:20:07 +00:00
tempwidth = tempwidth . toString ( ) ;
2011-12-29 06:09:06 +00:00
if ( tempwidth . charAt ( tempwidth . length - 1 ) == '%' )
tempwidth = ( rgmaskWidth * parseInt ( tempwidth . substr ( 0 , tempwidth . length ) ) ) / 100 ;
if ( tempwidth > maxwidth )
tempwidth = maxwidth ;
} else { tempwidth = "auto" ; } ;
$rss ( "body" ) . append ( "<div id='rgwindow_temp_div'></div>" ) ;
if ( typeof settings . loadDiv != "undefined" ) {
dhtml = $rss ( "#" + settings . loadDiv ) . html ( ) ;
$rss ( "#rgwindow_temp_div" ) . html ( dhtml ) . hide ( ) ;
prepareWindow ( ) ;
}
if ( typeof settings . loadHtml != "undefined" ) {
dhtml = settings . loadHtml ;
$rss ( "#rgwindow_temp_div" ) . html ( dhtml ) . hide ( ) ;
prepareWindow ( ) ;
}
if ( typeof settings . loadPage != "undefined" ) {
$rss ( "#rgwindow_temp_div" ) . load ( settings . loadPage , function ( ) { $rss ( this ) . hide ( ) ; dhtml = $rss ( this ) . html ( ) ; prepareWindow ( ) ; } ) ;
}
function prepareWindow ( ) {
if ( tempheight != "auto" )
rgWTop = ( rgmaskHeight - tempheight ) / 2 ;
else {
2012-07-25 08:20:07 +00:00
tempheight = $rss ( "#rgwindow_temp_div" ) . height ( ) + 30 ;
2011-12-29 06:09:06 +00:00
if ( tempheight > maxheight )
tempheight = maxheight ;
rgWTop = ( rgmaskHeight - tempheight ) / 2 ;
}
if ( tempwidth != "auto" )
rgWLeft = ( rgmaskWidth - tempwidth ) / 2 ;
else {
tempwidth = $rss ( "#rgwindow_temp_div" ) . width ( ) ;
if ( tempwidth > maxwidth )
tempwidth = maxwidth ;
rgWLeft = ( rgmaskWidth - tempwidth ) / 2 ;
}
2011-12-29 11:45:21 +00:00
tempwidth = parseInt ( tempwidth ) + 25 ;
2011-12-29 06:09:06 +00:00
$rss ( "#rgContent" ) . empty ( ) ;
$rss ( "#rgWindow" ) . animate ( { "width" : tempwidth + "px" , "height" : tempheight + "px" , top : rgWTop + "px" , left : rgWLeft + "px" } , 500 , function ( ) { $rss ( "#rgContent" ) . css ( "height" , tempheight + "px" ) . html ( dhtml ) } ) ;
$rss ( "#rgwindow_temp_div" ) . remove ( ) ;
}
} ,
2011-12-23 10:34:21 +00:00
modalWindowClose : function ( callbackFn ) {
if ( $rss ( "#rgWindow" ) . length > 0 ) {
$rss ( "#rgWindow" ) . empty ( ) ;
var rgmaskHeight = $rss ( window ) . height ( ) ;
var rgmaskWidth = $rss ( window ) . width ( ) ;
var x = ( rgmaskHeight - 20 ) / 2 ;
var y = ( rgmaskWidth - 20 ) / 2
$rss ( "#rgWindow" ) . animate ( { top : x + "px" , left : y + "px" , "width" : "50px" , "height" : "50px" } , 300 , function ( ) { $rss ( this ) . fadeOut ( 100 ) . remove ( ) ; $rss ( "#rgsheath" ) . fadeOut ( 500 ) . remove ( ) ; } )
}
if ( typeof callbackFn == "function" )
callbackFn . call ( this , "harry" ) ;
} ,
bindDomToHead : function ( dom ) {
var gc = dom . css ( "background" ) ;
var t = dom . offset ( ) ;
var gw = dom . width ( ) ;
$rss ( window ) . scroll ( function ( ) {
var wt = $rss ( window ) . scrollTop ( ) ;
if ( wt > t . top ) {
var cssObj = {
'position' : 'fixed' ,
'top' : 0 ,
'width' : gw ,
'background' : gc ,
'box-shadow' : '0 1px 0 rgba(0,0,0,0.2)' ,
'z-index' : 99
}
dom . css ( cssObj ) ;
} else {
dom . attr ( 'style' , "" ) ;
}
} ) ;
} ,
progressBar : function ( dom , settings ) {
var domid = dom . prop ( "id" ) ;
if ( $rss ( "#rss_progressbar_div_" + domid ) . length == 0 ) {
if ( typeof settings . top == "undefined" )
settings . value = 1 ;
if ( typeof settings . top == "undefined" )
settings . top = ( dom . height ( ) - 12 ) / 2 ;
dom . append ( "<div id='rss_progressbar_div_" + domid + "' style='display:none;padding: 2px;background: #333;background: -webkit-linear-gradient(#111, #333);background: -moz-linear-gradient(#111, #333);background: -ms-linear-gradient(#111, #333);position: absolute;top: " + settings . top + "px;left: 50%;margin-left: -45%;width: 84%;box-shadow: inset 0 0 2px #000;border-radius: 4px;'><div id='rss_progressbar_" + domid + "' style='height: 8px; background: #36c;background: -webkit-linear-gradient(#7A98E7, #36c);background: -moz-linear-gradient(#7A98E7, #36c);background: -ms-linear-gradient(#7A98E7, #36c);border-radius: 2px; width: " + settings . value + "%;'></div></div>" ) ;
$rss ( "#rss_progressbar_div_" + domid ) . fadeIn ( 500 ) ;
}
} ,
progressBarValue : function ( dom , value ) {
var domid = dom . prop ( "id" ) ;
if ( $rss ( "#rss_progressbar_div_" + domid ) . length == 1 ) {
$rss ( "#rss_progressbar_" + domid ) . animate ( { "width" : value + "%" } , 100 ) ;
}
} ,
progressBarClose : function ( dom ) {
var domid = dom . prop ( "id" ) ;
$rss ( "#rss_progressbar_div_" + domid ) . fadeOut ( 500 , function ( ) { $ ( this ) . remove ( ) ; } ) ;
} ,
getInternetExplorerVersion : function ( ) {
var rv = - 1 ; // Return value assumes failure.
if ( navigator . appName == 'Microsoft Internet Explorer' )
{
var ua = navigator . userAgent ;
var re = new RegExp ( "MSIE ([0-9]{1,}[\.0-9]{0,})" ) ;
if ( re . exec ( ua ) != null )
rv = parseFloat ( RegExp . $1 ) ;
}
return rv ;
}
}
$ = jQuery . noConflict ( ) ;