﻿/* Petena_Globals.js (c) Petena AB 1993-2009, http://www.petena.se

  Global repository of javascript functionality
 
DEVELOPMENT HISTORY: ******************************************************************************
  20071205 PiS -> Added popupwin, centered window, assign url, how, width, height
  20071205 PiS -> Added Show/HideEditBlock
  20081118 PiS -> Added functions SetZoom, Smaller, Larger
  20081119 PiS -> Corrected smaller-larger and added bypercent value

BUGS & NOTES: *********** ( !=Warning, +=Additions to be made, -=Comment ) ************************
 - Use larger and smaller like this:
 - onmouseover="larger(this,160,157)" onmouseout="smaller(this,160,157)
 
--- code not in use -----
function OpenChild() 
{
var ParmA = retvalA.value;
var ParmB = retvalB.value;
var ParmC = retvalC.value;
var MyArgs = new Array(ParmA, ParmB, ParmC);
var WinSettings = "center:yes;resizable:no;dialogHeight:300px"
// ALTER BELOW LINE - supply correct URL for Child Form
var MyArgs = window.showModalDialog("http://localhost/ModalWin/ChildWebForm.aspx", MyArgs, WinSettings);
if (MyArgs == null)
{
window.alert("Nothing returned from child. No changes made to input boxes");
}
else
{
retvalA.value=MyArgs[0].toString();
retvalB.value=MyArgs[1].toString();
retvalC.value=MyArgs[2].toString();
}
}
</script>
</HEAD>
<body>
<P><INPUT id="retvalA" type="text" value="AAA"></P>
<P><INPUT id="retvalB" type="text" value="BBB"></P>
<P><INPUT id="retvalC" type="text" value="CCC"></P>
<P><BUTTON onclick="OpenChild()" type="button">Open Child Window</BUTTON></P>
</body>
</HTML>

7. In the above code, locate the line saying //ALTER BELOW LINE
8. Supply the correct URL for your Child Webform
9. Open the HTML surface for the ChildWebForm
10. Locate the yellow line
11. Delete all code EXCEPT the yellow line
12. Insert the following HTML below the existing yellow line

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Child Webform</TITLE>
<script language="javascript">
function Done() {
var ParmA = tbParamA.value;
var ParmB = tbParamB.value;
var ParmC = tbParamC.value;
var MyArgs = new Array(ParmA, ParmB, ParmC);
window.returnValue = MyArgs;
window.close();
}
function doInit() {
var ParmA = "Aparm";
var ParmB = "Bparm";
var ParmC = "Cparm";
var MyArgs = new Array(ParmA, ParmB, ParmC);
MyArgs = window.dialogArguments;
tbParamA.value = MyArgs[0].toString();
tbParamB.value = MyArgs[1].toString();
tbParamC.value = MyArgs[2].toString();
}
</script>
</HEAD>
<BODY onload="doInit()">
<P>Param A:<INPUT id="tbParamA" TYPE="text"></P>
<P>Param B:<INPUT ID="tbParamB" TYPE="text"></P>
<P>Param C:<INPUT ID="tbParamC" TYPE="text"></P>
<BUTTON onclick="Done()" type="button">OK</BUTTON>
</BODY>
</HTML>



COMPILER CONDITIONALS  ***************************************************************************/

function popupwin(url,how,width,height) 
{
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+', height='+height;
 params += ', top='+top+', left='+left;
 params += ', directories=no';
 params += ', location=no';
 params += ', menubar=no';
 params += ', resizable=yes';
 params += ', scrollbars=no';
 params += ', status=no';
 params += ', toolbar=no';
 var features = 'dialogHeight:' + height + 'px; dialogWidth:' + width + 'px; status: no; location: no;'; 
 //newwin=window.open(url,how,params);
 newwin = window.showModalDialog(url, '', features);
 // handle newwin return values, f.ex. refresh?
 location.reload(true);
 // if (window.focus) {newwin.focus()}
 
 return false;
}

function ShowEditBlock(block) 
{	
  block.className = "ContentBorderOn";
  Tip('Dubbelklicka för att redigera innehållet.');
}

function HideEditBlock(block) 
{
  block.className = "ContentBorderOff";
  UnTip();
}

function EditContent(UID, Nr, Name, CultureName, BelongsTo_UID) {
    popupwin('/Common/Pages/ContentEditor.aspx?UID=' + UID + '&Nr=' + Nr + '&Name=' + Name + '&CultureName=' + CultureName + '&BelongsTo_UID=' + BelongsTo_UID, '_Child', 880, 600);
}
function EditBlock(contentID, contentName, UID) 
{
  popupwin('/Common/Pages/ContentEditor.aspx?id=' + contentID + '&contentName=' + contentName + '&UID=' + UID,'_Child',800,500);
}
function EditBlockData(contentID,TableName) 
{
  popupwin('/Common/Pages/ContentEditor.aspx?id=' + contentID + '&Table=' + TableName,'_Child',600,700);
}

function setZoom(img, dir, width, height, margin, zIndex, delay) {
    setTimeout(function() {
        if (img.dir == dir) {
            img.style.width = width;
            img.style.height = height;
            img.style.margin = margin;
//            img.style.zIndex = zIndex;
//            img.parentNode.parentNode.style.zIndex = zIndex;
        }
    }, delay);
}

function larger(img, width, height, bypercent) {
    img.dir = 'rtl';
    var w = width;
    var ws = (width*(bypercent/100)) / 10;
    var h = height;
    var hs = (height*(bypercent/100)) / 10;
    var m = (width * (bypercent/2)/100) / 10;
    for (var i = 1; i <= 10; i++) {
        w1 = w + (ws*i) + 'px';
        h1 = h + (hs*i) + 'px';
        m1 = '0 ' + (-i*m) + 'px 0 ' + (-i*m) + 'px';
        setZoom(img, 'rtl', w1, h1, m1, i, 40 * (i));
    }
}

function smaller(img, width, height, bypercent) {
    img.dir = 'ltr';
    var w = width;
    var ws = (width * (bypercent / 100)) / 10;
    var h = height;
    var hs = (height * (bypercent / 100)) / 10;
    var m = (width * (bypercent / 2)/100) / 10;
    for (var i = 10; i >= 0; i--) {
        w1 = w + (ws * i) + 'px';
        h1 = h + (hs * i) + 'px';
        m1 = '0 ' + (-i * m) + 'px 0 ' + (-i * m) + 'px';
        setZoom(img, 'ltr', w1, h1, m1, i, 40 * (10-i));
    }
}
