/*
#####################################################################
#                                                                   #
#                   MajorProject JavaScript Source Code             #
#                 E-Commerce JavaScript for Display on _Balnk       #
#                           Version 1.0.0                           #
#        Copyrighted © 2003 Nhut Ngoc Nguyen - Scripter             #
#                                                                   #
#####################################################################
#                                                                   #
#  Author      :  Nhut Ngoc nguyen                                  #
#  Script Name :  main.js                                           #
#  Date created:  September 25, 2003                                #
#  Date modied :  September 25, 2003                                #
#  E-mail      :  nhutaus@netscape.net or nhutaus@hotmail.com       #
#  Website     :  http://free.hostdepartment.com/n/nhutaus          #
#  License     :  Course 3757 IT learning in Padstow TAFE only      #
#                                                                   #
#####################################################################
*/
//========================== Login Form =====================================
function checkForm(f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11) {
  var message ="";
  var mPhone="";
  var mMobile="";
  message += checkAlphaNumber(f0,f2,'3'); //3 must enter
  message += checkAlphaNumber(f0,f3,'3'); //4 must be one enter of any 4
  mPhone += checkPhoneNumber(f0,f9,'4');
  mMobile += checkPhoneNumber(f0,f10,'4');
  message += checkEmail(f0,f11,'3');
  if(mPhone!="" && mMobile!="") {
    message += ("\nYou must enter at list one mobile phone or home phone number");
  }
  if(message !="") {
    alert(message);
    return false;
  }
  else { return true; }
}
//Begin set focus to the first field or when reset form.
function nFocus(f1,f2) { document.forms[f1].elements[f2].focus(); }
function checkPhoneNumber(f0,f1,f2) {
  var P1 = document.forms[f0].elements[f1];
  var Phone = /[0-9 ()-]/;
  var msg = '';
  var ok=true;
  if(P1.value.length < 8 && P1.value.length > 15) {
    msg +=('The ' + f1 + ' must be exactly 8 or 10 digits?\n \n Eg. Home number 0297737226 or 97737226 or Mobile 0404222122\n');
  }
  else {
    for(i = 0; i < P1.value.length; i++ )  {
      var ch = P1.value.substring(i,i+1);
      if(Phone.test(ch)) continue
      else { ok = false; }
    }
    if(ok==false) {
      msg += 'Invalid ' + f1 + ' must be exactly 8 or 10 digits?\n \n Eg.Home number 0297737226 or 97737226 or Mobile 0404222122';
    }
  }  //Alert message if error
  if((msg != '') && (f2=='1')) {
    alert(msg);
    P1.focus();
    return false;
  }
return(msg);
}
//This is checking Postcode function
function checkPostcode(f0,f1,f2) {
  //The Postcode must start 2000 - 3000
  var P1 = document.forms[f0].elements[f1];
  var Postcode = /^[0-9][0-9][0-9][0-9]/;
  var msg = '';
  if(P1.value == '') {
    msg +=('The ' + f1 + ' Can not be blank? \n');
  }
  else if(P1.value.length > 6) {
    msg +=('The ' + f1 + ' must be 2 to 6 digits only? \n');
  }
  else if(!Postcode.test(P1.value)) {
    msg += ('Invalid ' + f1 + ' Postcode Number\n');
    P1.value = '';
    P1.focus();
  }
  //Alert message if error
  if((msg != '') && (f2=='1')) {
    alert(msg);
    P1.focus();
    return false;
  }
//returm message event it is empty
return(msg);
}
//Checking the image selecting
function checkImage(f0,f1,f2) {
  var P1 = document.forms[f0].elements[f1];
  var msg = '';
  var ok=true;
  var extn=P1.value.substr(P1.value.length-3,P1.value.length);
  if(extn != "jpg") {
    msg +=('The ' + f1 + ' only accept jpeg file there for file must be extension [XXXX.jpg]');
    P1.value='';
  }
  if((msg != '') && (f2=='1')) {  //Alert message if error
    alert(msg);
    P1.focus();
    return false;
  }
//returm message event it is empty
return(msg);
}
//Check any required alpha numberic fields
function checkNumber(f0,f1,f2,f3) {
     //Using Regular Expression to test the input Alphabetic only
      var P1=document.forms[f0].elements[f1];
      var good = /[0-9]/;
      var msg='';
      var ok = true;
      if(P1.value.length < f3) { //Minimum 1 number for any thing
        msg += f1 + ' Must be more than '+ f3++ +' Numbers.\n Please check your Number? \n';
      }
      else if(P1.value == 0) //cannot be zero
        msg += f1 + ' Must be Positive Numbers.\n Please check your Number?\n Must be 1 or more\n';
      else {
      for(i = 0; i < P1.value.length; i++ )  {
        var ch = P1.value.substring(i,i+1);
        if(good.test(ch)) continue
          else ok = false;
      }
      if(ok==false) {
          msg += 'Invalid ' + f1 + ' Only allow Numeric!\n';
      }
    }
    if(msg != '' && f2=='1') {  //return message if error
      alert(msg);
      P1.value = '';
      P1.focus();
      return false;
    } //returm message event it is empty
return(msg);
}
//Check any required alpha numberic fields
function checkAlpha(f0,f1,f2,f3)  {
  var P1=document.forms[f0].elements[f1];
  var good = /[\'\" A-Z]/i;
  var msg='';
  var ok = true;
  for(i = 0; i < P1.value.length; i++ )  {
     var ch = P1.value.substring(i,i+1);
     if(good.test(ch)) continue
     else ok = false;
  }
  if(ok==false) {
    msg += 'Invalid ' + f1 + ' Only allow Aphabet!\n';
  }
  if(msg != '' && f2=='1') {  //return message if error
      alert(msg);
      P1.value = '';
      P1.focus();
      return false;
    } //returm message event it is empty
return(msg);
}
//example Check for painting name
function checkAlphaNumber(f0,f1,f2) {
  var P1=document.forms[f0].elements[f1];
  var good = /[A-Za-z0-9 \-]/;
  var msg='';
  var ok = true;
  if(P1.value == '') msg +=('The ' + f1 + ' Can not be blank? \n');
  else {
    for(i = 0; i < P1.value.length; i++ )  {
      var ch = P1.value.substring(i,i+1);
      if(good.test(ch)) continue
      else { ok = false; }
    }
    if(ok==false) {
      msg += 'Invalid ' + f1 + ' Only allow Aphabets and numbers and \n';
    }
  }
  //return message if error
  if(msg != '' && f2=='1') {
    alert(msg);
    P1.focus();
    return false;
  }//returm message event it is empty
return(msg);
}
//Check Email Address using Regular Expression
function checkEmail(f0,f1,f2) {
  //The Email must contain @ and . eg nhutaus@hotmail.com
  var P1 = document.forms[f0].elements[f1];
  var Em = /^.+@.+\../;
  var msg = '';
  //Check for not empty Email fields
  //Check for valid Email address
  if(P1.value == '')
  {
    msg +=('The ' + f1 + ' Can not be blank? \n');
  }
  else if(!Em.test(P1.value))
  {
    msg += ('Invalid ' + f1 + ' Address \n');
    //P1.value = '';
    P1.focus();
  }//Alert message if error
  if((msg != '') && (f2=='1'))
  {
    alert(msg);
    P1.focus();
    return false;
  }//returm message event it is empty
return(msg);
}
//Check for Password
function checkPassword(f0,f1,f2,f3) {
    var P1=document.forms[f0].elements[f1];
    var msg='';
    if(P1.value=='') msg += f1 + ' Can not be blank? \n';
    else if((3 >= P1.value.length) || (P1.value.length > 22))
        msg += f1 + ' Must between '+f3+' to 22 characters? \n';
    if(msg != '' && f2=='1') {
      P1.focus();
    alert(msg);
    return false;
  }
return(msg);
}
//Check Date field fields eg 2000-10-26
function checkDate(f0,f1,f2) {
  var P1=document.forms[f0].elements[f1];
  var good = /^[1-2][0,9][0-9][0-9]-[0-9]{1,2}-[0-9]{1,2}/;
  var msg='';
  var ok = true;
  if(P1.value.length != 8 && P1.value.length != 9 && P1.value.length != 10)
    msg += f1 + ' Must be 8 to 10 date digits\n Please check your date or see sample YYY-MM-DD eg 2003-9-26? \n';
    else {
      if(!good.test(P1.value)) msg += 'Invalid ' + f1 + ' Must be YYY-MM-DD eg 2003-10-29\n';
      if(P1.value.substr(6,1)=='-') var month=P1.value.substr(5,1);
      else var month=P1.value.substr(5,2);
      if(month==0 || month > 12)  msg += 'Invalid MONTH Must 1 - 12 only \n';
      if(P1.value.substr(P1.value.length-3,1)=='-') var day=P1.value.substr(P1.value.length-2,2);
        else var day=P1.value.substr(P1.value.length-1,1);
      if(day==0 || day > 31) msg += 'Invalid Day Must 1 - 31 only \n';
    }
    if(day>28 && month==2) msg += 'Invalid Day Feburary only upto 28\n';
    if(msg != '' && f2=='1') {  //return message if error
      alert(msg);
      P1.focus();
      return false;
    }
return(msg);
}
//Check any required decimal fields
function checkDecimal(f0,f1,f2,f3)  {
   var P1=document.forms[f0].elements[f1];
   var good = /[0-9.]/;
   var msg='';
   var ok = true;
   if(P1.value.length < f3)
     msg += f1 + ' Must be more than '+ f3++ +' Numbers.\n Please check your Number? \n';
     else if(P1.value == 0) //cannot be zero
       msg += f1 + ' Must be Positive Decimal Numbers.\n Please check your Number?\n Must be more than zero eg 0.70\n';
     else {
       for(i = 0; i < P1.value.length; i++ )  {
       var ch = P1.value.substring(i,i+1);
       if(good.test(ch)) continue
         else ok = false;
       }
       if(ok==false) msg += 'Invalid ' + f1 + ' Only allow decimal number!\n';
     }
    if(msg != '' && f2=='1') {  //return message if error
      alert(msg);
      P1.value = '';
      P1.focus();
      return false;
    } //returm message event it is empty
return(msg);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++
//compatible with the most major browsers
function outlineText(msg,w,cl1,cl2,cl3) {
  var x = -w;   var y = -w;
  while (y<=w) {
	while (x<=w) {
	  document.write("<span style='"+cl3+" color:"+cl2+";position:absolute;left:"+x+";top:"+(-y)+";'>"+msg+"</span>");
	  document.write("<span style='"+cl3+" color:"+cl2+";position:absolute;left:"+x+";top:0;'>"+msg+"</span>");
	  document.write("<span style='"+cl3+" color:"+cl2+";position:absolute;left:"+x+";top:"+y+";'>"+msg+"</span>");
	  x++;
	}
	y++;
  }
document.write ("<span style='"+cl3+" color:"+cl1+";position:absolute;left:0; top:0;'>"+msg+"</span>");
}
//This function will display the text with shadow
//compatible with the most major browsers
function shadowText(msg,range,cl1,cl2,cl3) {
	var x = range;
	var y = range;
	document.write ("<span style='"+cl3+" color:"+cl2+"; position:absolute\; left:"+x+"; top:"+y+";'>"+msg+"</span>");
	document.write ("<span style='"+cl3+" color:"+cl1+"; position:absolute; left:0; top:0;'>"+msg+"</span>");
}
// create a new window and display a Picure and its details within it
//window.open("http://www.w3schools.com","my_new_window","toolbar=yes,
// location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width=400, height=400")
function displayGraphic(f0,f1,f2,f3,f4,f5,f6,x,y,f7) {
  //var w_height=screen.availHeight-40;
  //var w_width=screen.availWidth-40;
  if((y+280) < screen.availHeight) var w_height=y+280;
    else var w_height=screen.availHeight-40;
  if(x<340) x=340;
  else if((x+120) < screen.availWidth) var w_width=x+120;
    else var w_width=screen.availWidth-40;
  var Picture = window.open("","","height=" + w_height + ",width=" + w_width +",left=0,top=0,scrollbars=yes,resizable=yes,copyhistory=yes");
  var a = Picture.document;
  var ina=Math.round(f4/25.3125);
  var inb=Math.round(f5/25.3125);
  a.clear();
  a.open("text/html");
  a.writeln("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 3.2 Final//EN'>");
  a.writeln("<html><head><title>"+f0+"</title>");
  a.writeln("<link rel='stylesheet' type='text/css' href='stylesheet/main.css' /></head>");
  a.writeln("<body bgcolor='#ddccee'><br /><center>");
  a.writeln("<table align='center' border='0' class='a3d'>");
  a.writeln("<tr><td class='fancyText'>"+f0);
  a.writeln("</td></tr>\n<tr><td bgcolor='#cccccc'>");
  a.writeln("<center><img src='paints/"+ f2 +"' title='The picture of "+f0+"' alt='The picture of "+f0+"' /></center>");
  a.writeln("</td></tr>\n<tr><td><table border='0' width='100%'><tr><td>");
  if(f7!=="") {
    a.writeln("<table class='Descriptions' width='100%'><tr><td align='center'>");
    //a.writeln("<b>Painting description:-</b>");
    a.writeln("</td></tr><tr><td>");
    a.writeln(f7);
    a.writeln("</td></tr></table>");
  }
  a.writeln("<table class='s3c' width='100%'>");
  a.writeln("<tr><td><a href='enquiry.php?Artist="+f1+"&amp;PaintName="+f0+"' target='_blank' title='Go to enquiry page'>&nbsp;Enquiry&nbsp;</a>about this painting");
  a.writeln("</td></tr><tr><td><a href='enquiry.php?Artist="+f1+"&amp;PaintName="+f0+"' target='_blank' title='Go to contact page'>&nbsp;Notify&nbsp;</a> me ");
  a.writeln("of new paintings by this artist");
  a.writeln("</td></tr></table>");
  a.writeln("</td><td>&nbsp;</td><td valign='top'>");
  a.writeln("<table class='artista'>");
  a.writeln("<tr><td class='artistb' colspan='2' align='center'>Artist: "+f1+"<hr color='#951a1a' /></td></tr>");
  a.writeln("<tr><td>Medium: </td><td>"+ f3);
  a.writeln("</td></tr><tr><td>Size mm:</td><td>"+ f4+"mm X "+f5+"mm");
  a.writeln("</td></tr><tr><td>Size inches:</td><td>"+ina+"\" X "+inb+"\"");
  a.writeln("</td></tr><tr><td>Status:</td><td>"+ f6);
  a.writeln("</td></tr></table>");
  a.writeln("</td></tr></table>\n</td></tr>");
  a.writeln("<tr><td colspan='2' class='s3f'><a href='khillmain/copyright.php' target='_blank' class='copyrighta' title='Copyright statement page'>&nbsp;Copyrighted &copy;&nbsp;</a>");
  a.writeln("K &amp; C Agencies Pty Ltd 1983-2005&nbsp; all right reserved.<br/>Unauthorized reproduction/replication of any part of this site is prohibited.");
  a.writeln("</td></tr>");
  a.writeln("<tr><td colspan='2' align='right'>");
  a.writeln("<table class='artista'>\n<tr><td nowrap>");
  a.writeln("<a class='closewindow' href='javascript:this.window.close();'");
  a.writeln("title='Close this window'>Close this window</a>");
  a.writeln("</td></tr>\n</table>");
  a.writeln("</td></tr>\n</table></center>");
  a.writeln("</BODY></HTML>");
  a.close();
}
// create a new window and display a Picure and its details within it
function displayGraphicb(f0,f1,f2,f3,f4,f5,f6,x,y,f7) {
  if((y+280) < screen.availHeight) var w_height=y+280;
    else var w_height=screen.availHeight-40;
  if(x<340) x=340;
  else if((x+120) < screen.availWidth) var w_width=x+120;
    else var w_width=screen.availWidth-40;
  var Picture = window.open("","","height=" + w_height + ",width=" + w_width +",left=0,top=0,location=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes");
  var a = Picture.document;
  var ina=Math.round(f4/25.3125);
  var inb=Math.round(f5/25.3125);
  a.clear();
  a.open("text/html");
  a.writeln("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 3.2 Final//EN'>");
  a.writeln("<html><head><title>"+f0+"</title>");
  a.writeln("<link rel='stylesheet' type='text/css' href='khillmain/stylesheet/main.css' /></head>");
  a.writeln("<body bgcolor='#ddccee'><br /><center>");
  a.writeln("<table align='center' border='0' class='a3d'>");
  a.writeln("<tr><td class='fancyText'>"+f0);
  a.writeln("</td></tr>\n<tr><td bgcolor='#cccccc'>");
  a.writeln("<center><img src='khillmain/paints/"+ f2 +"' title='The picture of "+f0+"' alt='The picture of "+f0+"' /></center>");
  a.writeln("</td></tr>\n<tr><td><table border='0' width='100%'><tr><td>");
  if(f7!=="") {
    a.writeln("<table class='Descriptions' width='100%'><tr><td align='center'>");
    //a.writeln("<b>Painting description:-</b>");
    a.writeln("</td></tr><tr><td>");
    a.writeln(f7);
    a.writeln("</td></tr></table>");
  }
  a.writeln("<table class='s3c' width='100%'>");
  a.writeln("<tr><td><a href='khillmain/enquiry.php?Artist="+f1+"&amp;PaintName="+f0+"' target='_blank' title='Go to enquiry page'>&nbsp;Enquiry&nbsp;</a>about this painting");
  a.writeln("</td></tr><tr><td><a href='khillmain/enquiry.php?Artist="+f1+"&amp;PaintName="+f0+"' target='_blank' title='Go to contact page'>&nbsp;Notify&nbsp;</a> me ");
  a.writeln("of new paintings by this artist<hr />");
  a.writeln("</td></tr></table>");
  a.writeln("</td><td>&nbsp;</td><td valign='top'>");
  a.writeln("<table class='artista'>");
  a.writeln("<tr><td class='artistb' colspan='2' align='center'>Artist: "+f1+"<hr color='#951a1a' /></td></tr>");
  a.writeln("<tr><td>Medium: </td><td>"+ f3);
  a.writeln("</td></tr><tr><td>Size mm:</td><td>"+ f4+"mm X "+f5+"mm");
  a.writeln("</td></tr><tr><td>Size inches:</td><td>"+ina+"\" X "+inb+"\"");
  a.writeln("</td></tr><tr><td>Status:</td><td>"+ f6);
  a.writeln("</td></tr></table>");
  a.writeln("</td></tr></table>\n</td></tr>");
  a.writeln("<tr><td colspan='2' class='s3f'><a href='khillmain/copyright.php' target='_blank' class='copyrighta' title='Copyright statement page'>Copyrighted &copy;&nbsp;</a>");
  a.writeln("K &amp; C Agencies Pty Ltd 1983-2003 all right reserved.<br/>Unauthorized reproduction/replication of any part of this site is prohibited.");
  a.writeln("</td></tr>");
  a.writeln("<tr><td colspan='2' align='right'>");
  a.writeln("<table class='artista'>\n<tr><td nowrap>");
  a.writeln("<a class='closewindow' href='javascript:this.window.close();'");
  a.writeln("title='Close this window'>Close this window</a>");
  a.writeln("</td></tr>\n</table>");
  a.writeln("</td></tr>\n</table></center>");
  a.writeln("</BODY></HTML>");
  a.close();
}
//configure the two variables below to match yoursite's own info
var bookmarkurl="http://kevinhillstopten.com.au/";
var bookmarktitle="Kevin Hill's 'TOP TEN' Australian Artists";

function addbookmark(){
if (document.all)
window.external.AddFavorite(bookmarkurl,bookmarktitle);
}
function createHexArray(n) {
this.length = n;
for (var i = 1; i <= n; i++)
this[i] = i - 1;
this[11] = "A";
this[12] = "B";
this[13] = "C";
this[14] = "D";
this[15] = "E";
this[16] = "F";
return this;
}
hx = new createHexArray(16);

function convertToHex(x) {
if (x < 17) x = 16;
var high = x / 16;
var s = high+"";
s = s.substring(0, 2);
high = parseInt(s, 10);
var left = hx[high + 1];
var low = x - high * 16;
if (low < 1) low = 1;
s = low + "";
s = s.substring(0, 2);
low = parseInt(s, 10);
var right = hx[low + 1];
var string = left + "" + right;
return string;
}

function makeRainbow(text) {
text = text.substring(0, text.length);
color_d1 = 500;
mul = color_d1 / text.length;
for(var i = 0; i < text.length; i++) {
color_d1 = 255*Math.sin(i / (text.length / 5));
color_h1 = convertToHex(color_d1);
color_d2 = mul * i;
color_h2 = convertToHex(color_d2);

k = text.length;
j = k - i;
if (j < 0) j = 0;
color_d3 = mul * j;
color_h3 = convertToHex(color_d3);

document.write("<FONT COLOR=\"#" + color_h3 + color_h1 + color_h2 + "\">" + text.substring(i, i + 1) + "</FONT>");
   }
}
